[h5py] 01/01: Imported Upstream version 2.4.0

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Wed Apr 1 07:17:39 UTC 2015


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch upstream/latest
in repository h5py.

commit 10ba721c6ba78f3975d479ce56c766947a88f300
Author: Ghislain Antony Vaillant <ghisvail at gmail.com>
Date:   Tue Mar 31 23:36:06 2015 +0100

    Imported Upstream version 2.4.0
---
 ANN.rst                                            |    77 +-
 MANIFEST.in                                        |    15 +-
 PKG-INFO                                           |     9 +-
 README.rst                                         |    71 +-
 api_gen.py                                         |   271 +-
 configure.py                                       |   197 -
 PKG-INFO => h5py.egg-info/PKG-INFO                 |     9 +-
 h5py.egg-info/SOURCES.txt                          |   121 +
 h5py.egg-info/dependency_links.txt                 |     1 +
 h5py.egg-info/requires.txt                         |     2 +
 h5py.egg-info/top_level.txt                        |     1 +
 h5py/__init__.py                                   |    17 +-
 h5py/_conv.c                                       |  6014 --
 h5py/_conv.pyx                                     |   228 +-
 h5py/_errors.c                                     |  3254 -
 h5py/_errors.pyx                                   |    40 +-
 h5py/_hdf5.pxd                                     |    95 +-
 h5py/_hl/attrs.py                                  |   104 +-
 h5py/_hl/base.py                                   |    93 +-
 h5py/_hl/dataset.py                                |   172 +-
 h5py/_hl/datatype.py                               |     5 +-
 h5py/_hl/dims.py                                   |    52 +-
 h5py/_hl/files.py                                  |   107 +-
 h5py/_hl/filters.py                                |     7 +-
 h5py/_hl/group.py                                  |   264 +-
 h5py/_hl/selections2.py                            |    21 -
 h5py/_hl/tests/__init__.py                         |     8 -
 h5py/_locks.pxi                                    |     8 +
 h5py/_objects.c                                    |  6678 --
 h5py/_objects.pxd                                  |     2 +-
 h5py/_objects.pyx                                  |   451 +-
 h5py/_proxy.c                                      |  4484 -
 h5py/_proxy.pyx                                    |    42 +-
 h5py/api_compat.h                                  |     5 +
 h5py/api_functions.txt                             |   544 +-
 h5py/config.pxi                                    |     4 -
 h5py/defs.c                                        | 81484 -------------------
 h5py/defs.pxd                                      |   338 -
 h5py/defs.pyx                                      |  2960 -
 h5py/h5.c                                          |  5480 --
 h5py/h5.pyx                                        |    69 +-
 h5py/h5a.c                                         |  7487 --
 h5py/h5a.pyx                                       |    54 +-
 h5py/h5ac.c                                        |  5137 --
 h5py/h5d.c                                         |  6009 --
 h5py/h5d.pyx                                       |    71 +-
 h5py/h5ds.c                                        |  4142 -
 h5py/h5ds.pyx                                      |    14 +-
 h5py/h5f.c                                         |  6655 --
 h5py/h5f.pyx                                       |    62 +-
 h5py/h5fd.c                                        |  1910 -
 h5py/h5fd.pxd                                      |     2 +-
 h5py/h5fd.pyx                                      |     2 +-
 h5py/h5g.c                                         |  7629 --
 h5py/h5g.pyx                                       |   144 +-
 h5py/h5i.c                                         |  3566 -
 h5py/h5i.pyx                                       |    23 +-
 h5py/h5l.c                                         |  5584 --
 h5py/h5l.pyx                                       |    21 +-
 h5py/h5o.c                                         |  7518 --
 h5py/h5o.pyx                                       |    26 +-
 h5py/h5p.c                                         | 13550 ---
 h5py/h5p.pyx                                       |   190 +-
 h5py/h5r.c                                         |  4111 -
 h5py/h5r.pyx                                       |    13 +-
 h5py/h5s.c                                         |  6842 --
 h5py/h5s.pyx                                       |    74 +-
 h5py/h5t.c                                         | 21701 -----
 h5py/h5t.pxd                                       |     1 +
 h5py/h5t.pyx                                       |   303 +-
 h5py/h5z.c                                         |  2210 -
 h5py/h5z.pyx                                       |     6 +-
 h5py/ipy_completer.py                              |    24 +-
 h5py/lowtest/__init__.py                           |     8 -
 h5py/tests/__init__.py                             |    41 +
 h5py/{_hl => }/tests/common.py                     |   102 +-
 h5py/tests/hl/__init__.py                          |     7 +
 h5py/tests/hl/test_dataset_getitem.py              |   405 +
 h5py/tests/hl/test_dims_dimensionproxy.py          |    24 +
 h5py/tests/hl/test_file.py                         |    67 +
 h5py/tests/old/__init__.py                         |    31 +
 h5py/{_hl/tests => tests/old}/common.py            |     0
 h5py/{_hl/tests => tests/old}/test_attrs.py        |     9 +-
 h5py/{_hl/tests => tests/old}/test_attrs_data.py   |     0
 h5py/{_hl/tests => tests/old}/test_base.py         |     0
 h5py/{_hl/tests => tests/old}/test_dataset.py      |   298 +-
 h5py/{_hl/tests => tests/old}/test_datatype.py     |     0
 .../tests => tests/old}/test_dimension_scales.py   |    13 +-
 h5py/{_hl/tests => tests/old}/test_file.py         |    43 +-
 h5py/{_hl/tests => tests/old}/test_group.py        |    68 +-
 h5py/{lowtest => tests/old}/test_h5.py             |     0
 h5py/{lowtest => tests/old}/test_h5f.py            |     0
 h5py/{lowtest => tests/old}/test_h5p.py            |    24 +-
 h5py/{lowtest => tests/old}/test_h5t.py            |     0
 h5py/{lowtest => tests/old}/test_objects.py        |     0
 h5py/{_hl/tests => tests/old}/test_selections.py   |    21 -
 h5py/{_hl/tests => tests/old}/test_slicing.py      |    17 +-
 h5py/utils.c                                       |  4252 -
 h5py/version.py                                    |     3 +-
 lzf/.DS_Store                                      |   Bin 0 -> 6148 bytes
 lzf/lzf/lzf_c.c                                    |     2 +-
 setup.cfg                                          |     5 +
 setup.py                                           |   237 +-
 setup_build.py                                     |   136 +
 setup_configure.py                                 |   229 +
 windows/README.txt                                 |    23 +
 windows/cacheinit.cmake                            |    79 +
 windows/pavement.py                                |    86 +
 {win_include => windows}/stdint.h                  |     0
 {win_include => windows}/unistd.h                  |     0
 110 files changed, 4023 insertions(+), 221092 deletions(-)

diff --git a/ANN.rst b/ANN.rst
index d968597..a15d730 100644
--- a/ANN.rst
+++ b/ANN.rst
@@ -1,35 +1,64 @@
-Announcing HDF5 for Python (h5py) 2.2.1
-=======================================
+Announcing HDF5 for Python (h5py) 2.4.0
+========================================
 
-The h5py team is happy to announce the availability of h5py 2.2.1.  This
-release fixes a critical bug reported by Jim Parker on December 7th, which
-affects code using HDF5 compound types.
+The h5py team is happy to announce the availability of h5py 2.4.0 (final).
 
-We recommend that all users of h5py upgrade to avoid crashes or possible
-data corruption.
+What's h5py?
+------------
 
+The h5py package is a Pythonic interface to the HDF5 binary data format.
 
-Scope of bug
-------------
+It lets you store huge amounts of numerical data, and easily manipulate
+that data from NumPy. For example, you can slice into multi-terabyte
+datasets stored on disk, as if they were real NumPy arrays. Thousands of
+datasets can be stored in a single file, categorized and tagged however
+you want.
+
+Documentation is at:
+
+http://docs.h5py.org
+
+Changes
+-------
+
+This release incorporates a total re-write of the identifier management
+system in h5py.  As part of this refactoring, the entire API is also now
+protected by threading locks.  User-visible changes include:
+
+* Files are now automatically closed when all objects within them
+  are unreachable. Previously, if File.close() was not explicitly called,
+  files would remain open and "leaks" were possible if the File object
+  was lost.
+
+* The entire API is now believed to be thread-safe (feedback welcome!).
 
-The issue may affect code which modifies HDF5 compound types in-place, by
-specifying a field name or names when writing to a dataset:
+* External links now work if the target file is already open.  Previously
+  this was not possible because of a mismatch in the file close strengths.
+  
+* The options to setup.py have changed; a new top-level "configure"
+  command handles options like --hdf5=/path/to/hdf5 and --mpi.  Setup.py 
+  now works correctly under Python 3 when these options are used.
+  
+* Cython (0.17+) is now required when building from source.
+  
+* The minimum NumPy version is now 1.6.1.
 
->>> dataset['field_name'] = value
+* Various other enhancements and bug fixes
+  
+Acknowlegements
+---------------
 
-Under certain conditions, h5py can supply uninitialized memory to the HDF5
-conversion machinery, leading (in the case reported) to a segmentation fault.
-It is also possible for other fields of the type to be corrupted.
+This release incorporates changes from, among others:
 
-This issue affects only code which updates a subset of the fields in the
-compound type.  Programs reading from a compound type, writing all fields, or
-using other datatypes, are not affected.  If you are using code that takes
-advantage of this feature, please double-check your files to ensure your data
-has not been affected.
+* Matthieu Brucher
+* Laurence Hole
+* John Tyree
+* Pierre de Buyl
+* Matthew Brett
 
+Where to get it
+---------------
 
-More information
-----------------
+Downloads, documentation, and more are available at the h5py website:
 
-Github issue:  https://github.com/h5py/h5py/issues/372
-Original thread: https://groups.google.com/forum/#!topic/h5py/AbUOZ1MXf3U
+http://www.h5py.org
diff --git a/MANIFEST.in b/MANIFEST.in
index dd2de67..d851840 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,11 +1,14 @@
-recursive-include h5py *.c *.h *.pyx *.pxd *.pxi *.py
+recursive-include h5py *.h *.pyx *.pxd *.pxi *.py *.txt
+exclude h5py/defs.pyx
+exclude h5py/defs.pxd
+exclude h5py/config.pxi
 recursive-include examples *.py
-recursive-include lzf *.c *.h *.txt
-recursive-include win_include *.c *.h
-recursive-include licenses *.txt
-include h5py/api_functions.txt
+recursive-include lzf *
+recursive-include windows *
+recursive-include licenses *
 include MANIFEST.in
-include configure.py
 include api_gen.py
+include setup_build.py
+include setup_configure.py
 include ANN.rst
 include README.rst
diff --git a/PKG-INFO b/PKG-INFO
index b8d44a3..0ed11d1 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: h5py
-Version: 2.2.1
+Version: 2.4.0
 Summary: Read and write HDF5 files from Python
 Home-page: http://www.h5py.org
 Author: Andrew Collette
 Author-email: andrew dot collette at gmail dot com
 License: UNKNOWN
-Download-URL: http://code.google.com/p/h5py/downloads/list
+Download-URL: https://pypi.python.org/pypi/h5py
 Description: 
         The h5py package provides both a high- and low-level interface to the HDF5
         library from Python. The low-level interface is intended to be a complete
@@ -17,7 +17,7 @@ Description:
         data structures and their HDF5 equivalents vastly simplifies the process of
         reading and writing data from Python.
         
-        Supports HDF5 versions 1.8.3 and higher.  On Windows, HDF5 is included with
+        Supports HDF5 versions 1.8.4 and higher.  On Windows, HDF5 is included with
         the installer.
         
 Platform: UNKNOWN
@@ -34,4 +34,5 @@ Classifier: Operating System :: Unix
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Operating System :: MacOS :: MacOS X
 Classifier: Operating System :: Microsoft :: Windows
-Requires: numpy (>=1.0.1)
+Requires: numpy (>=1.6.1)
+Requires: Cython (>=0.17)
diff --git a/README.rst b/README.rst
index a6e5ee8..7bc1303 100644
--- a/README.rst
+++ b/README.rst
@@ -9,73 +9,44 @@ Websites
 
 * Main website: http://www.h5py.org
 * Source code: http://github.com/h5py/h5py
-* Mailing list: h5py at googlegroups
+* Mailing list: https://groups.google.com/d/forum/h5py
+
+For advanced installation options, see http://docs.h5py.org.
 
 Prerequisites
 -------------
 
 You need, at a minimum:
 
-* HDF5 1.8.3 or later on Linux (On Windows, h5py ships with HDF5)
-* Python 2.6, 2.7, 3.2 or 3.3
-* Any modern version of NumPy
+* Python 2.6, 2.7, 3.2, 3.3, or 3.4
+* NumPy 1.6.1 or later
 
-Optionally:
+To build on UNIX:
 
-* Cython 0.13 or later, to build from a git checkout
+* HDF5 1.8.4 or later (on Windows, HDF5 comes with h5py)
+* Cython 0.17 or later
 * If using Python 2.6, unittest2 is needed to run the tests
 
-Installing from release tarball
--------------------------------
-
-Run the following commands::
+Installing on Windows
+---------------------
 
-   python setup.py build [--hdf5=/path/to/hdf5]
-   python setup.py test   # optional
-   [sudo] python setup.py install
+Download an installer from http://www.h5py.org and run it.
 
-Installing via easy_install
----------------------------
+Installing on UNIX
+------------------
 
-Run the following commands::
+Via pip (recommended)::
  
-   export HDF5_DIR=/path/to/hdf5   # optional
-   [sudo] easy_install h5py
+   pip install h5py
 
-Building from a Git checkout (UNIX)
------------------------------------------
+From a release tarball or Git checkout::
 
-We have switched development to GitHub.  Here's how to build
-h5py from source:
-
-1. Clone the project::
+   python setup.py build
+   python setup.py test # optional
+   [sudo] python setup.py install
    
-      git clone https://github.com/h5py/h5py.git
-
-2. Build the project (this step also auto-compiles the .c files)::
-  
-      python setup.py build [--hdf5=/path/to/hdf5]
-
-3. Run the unit tests (optional)::
-  
-      python setup.py test
-
-If you add new functions to api_functions.txt, remember to run the script
-api_gen.py to update the Cython interface.  See the developer guide at
-http://www.h5py.org for more information.
-
 Reporting bugs
 --------------
 
-* Bug reports are always welcome at the GitHub tracker.  Please don't be
-  offended if it takes a while to respond to your report... we value user
-  input and take all bugs seriously.
-
-* If you're not sure you have a bug, or want to ask any question at all
-  about h5py or HDF5, post to the mailing list (h5py at Google Groups).
-  This list is read by the main developers of h5py, as well as the user
-  community.  As a bonus, posting to the list means that other people with
-  similar problems can find your question and the responses.
-
-* You're always free to email the author directly at [andrew dot collette
-  at gmail dot com].
+Open a bug at http://github.com/h5py/h5py/issues.  For general questions, ask
+on the list (https://groups.google.com/d/forum/h5py).
diff --git a/api_gen.py b/api_gen.py
index cec89ed..fbf0d08 100644
--- a/api_gen.py
+++ b/api_gen.py
@@ -1,26 +1,101 @@
-import re
-import warnings
-import os.path as op
-
-class BadLineError(Exception):
-    pass
 
-class UnknownCodeError(Exception):
-    pass
+"""
+    Generate the lowest-level Cython bindings to HDF5.
+    
+    In order to translate HDF5 errors to exceptions, the raw HDF5 API is
+    wrapped with Cython "error wrappers".  These are cdef functions with
+    the same names and signatures as their HDF5 equivalents, but implemented
+    in the h5py.defs extension module.
+    
+    The h5py.defs files (defs.pyx and defs.pxd), along with the "real" HDF5
+    function definitions (_hdf5.pxd), are auto-generated by this script from
+    api_functions.txt.  This file also contains annotations which indicate
+    whether a function requires a certain minimum version of HDF5, an
+    MPI-aware build of h5py, or special error handling.
+    
+    This script is called automatically by the h5py build system when the
+    output files are missing, or api_functions.txt has been updated.
+    
+    See the Line class in this module for documentation of the format for
+    api_functions.txt.
+        
+    h5py/_hdf5.pxd:     Cython "extern" definitions for HDF5 functions
+    h5py/defs.pxd:      Cython definitions for error wrappers
+    h5py/defs.pyx:      Cython implementations of error wrappers
+"""
 
+import re
+import os.path as op
 
-# The following files are used to talk to the HDF5 api:
-#
-# (1) hdf5.pxd:         HDF5 function signatures    (autogenerated)
-# (2) hdf5_types.pxd:   HDF5 type definitions       (static)
-# (3) defs.pxd:         HDF5 function proxy defs    (autogenerated)
-# (4) defs.pyx:         HDF5 function proxies       (autogenerated)
 
-function_pattern = r'(?P<mpi>(MPI)[ ]+)?(?P<version>([0-9]\.[0-9]\.[0-9]))?([ ]+)?(?P<code>(unsigned[ ]+)?[a-zA-Z_]+[a-zA-Z0-9_]*\**)[ ]+(?P<fname>[a-zA-Z_]+[a-zA-Z0-9_]*)[ ]*\((?P<sig>[a-zA-Z0-9_,* ]*)\)'
-sig_pattern = r'(unsigned[ ]+)?(?:[a-zA-Z_]+[a-zA-Z0-9_]*\**)[ ]+[ *]*(?P<param>[a-zA-Z_]+[a-zA-Z0-9_]*)'
+class Line(object):
+
+    """
+        Represents one line from the api_functions.txt file.
+        
+        Exists to provide the following attributes:
+        
+        mpi:        Bool indicating if MPI required
+        error:      Bool indicating if special error handling required
+        version:    None or a minimum-version tuple
+        code:       String with function return type
+        fname:      String with function name
+        sig:        String with raw function signature
+        args:       String with sequence of arguments to call function
+        
+        Example:    MPI ERROR 1.8.12 int foo(char* a, size_t b)
+        
+        .mpi:       True
+        .error:     True
+        .version:   (1, 8, 12)
+        .code:      "int"
+        .fname:     "foo"
+        .sig:       "char* a, size_t b"
+        .args:      "a, b"
+    """
+        
+    PATTERN = re.compile("""(?P<mpi>(MPI)[ ]+)?
+                            (?P<error>(ERROR)[ ]+)?
+                            (?P<version>([0-9]\.[0-9]\.[0-9]))?
+                            ([ ]+)?
+                            (?P<code>(unsigned[ ]+)?[a-zA-Z_]+[a-zA-Z0-9_]*\**)[ ]+
+                            (?P<fname>[a-zA-Z_]+[a-zA-Z0-9_]*)[ ]*
+                            \((?P<sig>[a-zA-Z0-9_,* ]*)\)
+                            """, re.VERBOSE)
+
+    SIG_PATTERN = re.compile("""
+                            (unsigned[ ]+)?
+                            (?:[a-zA-Z_]+[a-zA-Z0-9_]*\**)
+                            [ ]+[ *]*
+                            (?P<param>[a-zA-Z_]+[a-zA-Z0-9_]*)
+                            """, re.VERBOSE)
+                            
+    def __init__(self, text):
+        """ Break the line into pieces and populate object attributes.
+        
+        text: A valid function line, with leading/trailing whitespace stripped.
+        """
+        
+        m = self.PATTERN.match(text)
+        if m is None:
+            raise ValueError("Invalid line encountered: {0}".format(text))
+            
+        parts = m.groupdict()
+        
+        self.mpi = parts['mpi'] is not None
+        self.error = parts['error'] is not None
+        self.version = parts['version']
+        if self.version is not None:
+            self.version = tuple(int(x) for x in self.version.split('.'))
+        self.code = parts['code']
+        self.fname = parts['fname']
+        self.sig = parts['sig']
+
+        self.args = self.SIG_PATTERN.findall(self.sig)
+        if self.args is None:
+            raise ValueError("Invalid function signature: {0}".format(self.sig))
+        self.args = ", ".join(x[1] for x in self.args)
 
-fp = re.compile(function_pattern)
-sp = re.compile(sig_pattern)
 
 raw_preamble = """\
 include "config.pxi"
@@ -45,16 +120,10 @@ from api_types_hdf5 cimport *
 cimport _hdf5
 
 from _errors cimport set_exception
-
-include "_locks.pxi"
-
-rlock = FastRLock()
 """
 
-class FunctionCruncher2(object):
 
-    def __init__(self, stub=False):
-        self.stub = stub
+class LineProcessor(object):
 
     def run(self):
 
@@ -63,136 +132,108 @@ class FunctionCruncher2(object):
 
         # Create output files
         self.raw_defs =     open(op.join('h5py', '_hdf5.pxd'), 'w')
-        self.cython_def =   open(op.join('h5py', 'defs.pxd'), 'w')
+        self.cython_defs =  open(op.join('h5py', 'defs.pxd'), 'w')
         self.cython_imp =   open(op.join('h5py', 'defs.pyx'), 'w')
 
         self.raw_defs.write(raw_preamble)
-        self.cython_def.write(def_preamble)
+        self.cython_defs.write(def_preamble)
         self.cython_imp.write(imp_preamble)
 
-        for line in self.functions:
-            if not line or line[0] == '#' or line[0] == '\n':
+        for text in self.functions:
+        
+            # Directive specifying a header file
+            if not text.startswith(' ') and not text.startswith('#') and \
+            len(text.strip()) > 0:
+                inc = text.split(':')[0]
+                self.raw_defs.write('cdef extern from "%s.h":\n' % inc)
                 continue
-            try:
-                self.handle_line(line)
-            except BadLineError:
-                raise
-                warnings.warn("Skipped <<%s>>" % line)
+            
+            text = text.strip()
 
+            # Whitespace or comment line
+            if len(text) == 0 or text[0] == '#':
+                continue
+
+            # Valid function line
+            self.line = Line(text)
+            self.write_raw_sig()
+            self.write_cython_sig()
+            self.write_cython_imp()
+    
         self.functions.close()
         self.cython_imp.close()
-        self.cython_def.close()
+        self.cython_defs.close()
         self.raw_defs.close()
 
-    def handle_line(self, line):
-        """ Parse a function definition line and output the correct code
-        to each of the output files. """
-
-        if line.startswith(' '):
-            line = line.strip()
-            if line.startswith('#'):
-                return
-
-            m = fp.match(line)
-            if m is None:
-                raise BadLineError(
-                    "Signature for line <<%s>> did not match regexp" % line
-                    )
-            function_parts = m.groupdict()
-            if function_parts['mpi'] is not None:
-                function_parts['mpi'] = True
-            if function_parts['version'] is not None:
-                function_parts['version'] = tuple(int(x) for x in function_parts['version'].split('.'))
-
-            self.raw_defs.write('  '+self.make_raw_sig(function_parts))
-            self.cython_def.write(self.make_cython_sig(function_parts))
-            self.cython_imp.write(self.make_cython_imp(function_parts))
-        else:
-            inc = line.split(':')[0]
-            self.raw_defs.write('cdef extern from "%s.h":\n' % inc)
-
-    def add_cython_if(self, function_parts, block):
+    def add_cython_if(self, block):
         """ Wrap a block of code in the required "IF" checks """
+        
         def wrapif(condition, code):
             code = code.replace('\n', '\n    ', code.count('\n')-1) # Yes, -1.
-            code = "IF %s:\n    %s" % (condition, code)
+            code = "IF {0}:\n    {1}".format(condition, code)
             return code
 
-        if function_parts['mpi']:
+        if self.line.mpi:
             block = wrapif('MPI', block)
-        if function_parts['version']:
-            block = wrapif('HDF5_VERSION >= %s' % (function_parts['version'],), block)
+        if self.line.version is not None:
+            block = wrapif('HDF5_VERSION >= {0.version}'.format(self.line), block)
 
         return block
 
-    def make_raw_sig(self, function_parts):
-        """ Build a "cdef extern"-style definition for an HDF5 function """
+    def write_raw_sig(self):
+        """ Write out "cdef extern"-style definition for an HDF5 function """
 
-        raw_sig = "%(code)s %(fname)s(%(sig)s) except *\n" % function_parts
-        raw_sig = self.add_cython_if(function_parts, raw_sig)
-        return raw_sig
+        raw_sig = "{0.code} {0.fname}({0.sig}) except *\n".format(self.line)
+        raw_sig = self.add_cython_if(raw_sig)
+        raw_sig = "\n".join(("  "+x if x.strip() else x) for x in raw_sig.split("\n"))
+        self.raw_defs.write(raw_sig)
 
-    def make_cython_sig(self, function_parts):
-        """ Build Cython signature for wrapper function """
+    def write_cython_sig(self):
+        """ Write out Cython signature for wrapper function """
 
-        cython_sig = "cdef %(code)s %(fname)s(%(sig)s) except *\n" % function_parts
-        cython_sig = self.add_cython_if(function_parts, cython_sig)
-        return cython_sig
+        cython_sig = "cdef {0.code} {0.fname}({0.sig}) except *\n".format(self.line)
+        cython_sig = self.add_cython_if(cython_sig)
+        self.cython_defs.write(cython_sig)
 
-    def make_cython_imp(self, function_parts, stub=False):
-        """ Build a Cython wrapper implementation. If stub is True, do
-        nothing but call the function and return its value """
+    def write_cython_imp(self):
+        """ Write out Cython wrapper implementation """
 
-        args = sp.findall(function_parts['sig'])
-        if args is None:
-            raise BadLineError("Can't understand function signature <<%s>>" % function_parts['sig'])
-        args = ", ".join(x[1] for x in args)
-
-        # Figure out what conditional to use for the error testing
-        code = function_parts['code']
-        if '*' in code or code in ('H5T_conv_t',):
+        # Figure out what test and return value to use with error reporting
+        if '*' in self.line.code or self.line.code in ('H5T_conv_t',):
             condition = "==NULL"
             retval = "NULL"
-        elif code in ('int', 'herr_t', 'htri_t', 'hid_t','hssize_t','ssize_t') \
-          or re.match(r'H5[A-Z]+_[a-zA-Z_]+_t',code):
+        elif self.line.code in ('int', 'herr_t', 'htri_t', 'hid_t','hssize_t','ssize_t') \
+          or re.match(r'H5[A-Z]+_[a-zA-Z_]+_t', self.line.code):
             condition = "<0"
             retval = "-1"
-        elif code in ('unsigned int','haddr_t','hsize_t','size_t'):
+        elif self.line.code in ('unsigned int','haddr_t','hsize_t','size_t'):
             condition = "==0"
             retval = 0
         else:
-            raise UnknownCodeError("Return code <<%s>> unknown" % self.code)
-
-        parts = function_parts.copy()
-        parts.update({'condition': condition, 'retval': retval, 'args': args})
+            raise ValueError("Return code <<%s>> unknown" % self.line.code)
 
         # Have to use except * because Cython can't handle special types here
         imp = """\
-cdef %(code)s %(fname)s(%(sig)s) except *:
-    cdef %(code)s r
-    with rlock:
-        r = _hdf5.%(fname)s(%(args)s)
-        if r%(condition)s:
-            if set_exception():
-                return <%(code)s>%(retval)s;
-        return r
+cdef {0.code} {0.fname}({0.sig}) except *:
+    cdef {0.code} r
+    r = _hdf5.{0.fname}({0.args})
+    if r{condition}:
+        if set_exception():
+            return <{0.code}>{retval}
+        elif {0.error}:
+            raise RuntimeError("Unspecified error in {0.fname} (return value {condition})")
+    return r
 
 """
+        imp = imp.format(self.line, condition=condition, retval=retval)
+        imp = self.add_cython_if(imp)
+        self.cython_imp.write(imp)
 
-        stub_imp = """\
-cdef %(code)s %(fname)s(%(sig)s) except *:
-    with rlock:
-        return hdf5.%(fname)s(%(args)s)
-
-"""
-        imp = (stub_imp if self.stub else imp) % parts
-        imp = self.add_cython_if(function_parts, imp)
-        return imp
 
+def run():
+    lp = LineProcessor()
+    lp.run()
 
-def run(stub=False):
-    fc = FunctionCruncher2(stub)
-    fc.run()
 
 if __name__ == '__main__':
     run()
diff --git a/configure.py b/configure.py
deleted file mode 100644
index 16faecb..0000000
--- a/configure.py
+++ /dev/null
@@ -1,197 +0,0 @@
-
-"""
-    Implements discovery of environment vars and command-line "superoptions".
-    
-    Also manages persistence via pickle files.
-
-    Currently defined settings (Key: Value):
-
-    "hdf5": <path to HDF5>
-    "mpi": bool, should we build in mpi mode
-    "hdf5_version": 3-tuple (major, minor, release)
-"""
-
-import os, sys
-
-
-def printerr(what):
-
-    sys.stderr.write(str(what)+'\n')
-    sys.stderr.flush()
-
-
-def loadpickle(name):
-    """ Load object from pickle file, or None if it can't be opened """
-
-    import pickle
-
-    try:
-        f = open(name,'r')
-    except IOError:
-        return None
-    try:
-        return pickle.load(f)
-    except Exception:
-        return None
-    finally:
-        f.close()
-
-
-def savepickle(name, data):
-    """ Save to pickle file, ignoring if it can't be written """
-    import pickle
-    try:
-        f = open(name, 'wb')
-    except IOError:
-        return
-    try:
-        pickle.dump(data, f)
-    finally:
-        f.close()
-
-
-def parse_hdf5_version(vers):
-    """ Split HDF5 version string X.Y.Z into a tuple.  ValueError on failure.
-    """
-
-    try:
-        vers = tuple(int(x) for x in vers.split('.'))
-        if len(vers) != 3:
-            raise ValueError
-    except Exception:
-        raise ValueError("Illegal value for HDF5 version")
-
-    return vers
-
-
-def scrape_eargs():
-    """ Locate settings in environment vars """
-
-    settings = {}
-
-    hdf5 = os.environ.get("HDF5_DIR", '')
-    if hdf5 != '':
-        settings['hdf5'] = hdf5
-
-    api = os.environ.get("HDF5_API", '')
-    if api != '':
-        printerr("HDF5_API environment variable ignored (Support for HDF5 1.6 dropped)")
-
-    vers = os.environ.get("HDF5_VERSION", '')
-    if vers != '':
-        try:
-            vers = parse_hdf5_version(vers)
-        except ValueError:
-            printerr("Invalid format for $HDF5_VERSION (must be X.Y.Z)")
-        else:
-            settings['hdf5_version'] = vers
-
-    return settings
-
-def scrape_cargs():
-    """ Locate settings in command line or pickle file """
-
-    settings = loadpickle('h5py_config.pickle')
-    if settings is None: settings = {}
-
-    for arg in sys.argv[:]:
-
-        if arg.find('--hdf5=') == 0:
-            hdf5 = arg.split('=')[-1]
-            if hdf5.lower() == 'default':
-                settings.pop('hdf5', None)
-            else:
-                settings['hdf5'] = hdf5
-            sys.argv.remove(arg)
-
-        if arg.find('--mpi') == 0:
-            if arg in ('--mpi','--mpi=yes'):
-                settings['mpi'] = True
-            elif arg == '--mpi=no':
-                settings['mpi'] = False
-            else:
-                raise ValueError("Invalid option for --mpi (--mpi or --mpi=[yes|no])")
-            sys.argv.remove(arg)
-
-        if arg.find('--hdf5-version=') == 0:
-            vers = arg.split('=')[-1]
-            if vers.lower() == 'default':
-                settings.pop('hdf5_version', None)
-            else:
-                try:
-                    vers = parse_hdf5_version(vers)
-                    settings['hdf5_version'] = vers
-                except ValueError:
-                    raise ValueError('Illegal option "%s" for --hd5-version (must be "default" or "X.Y.Z")' % vers)
-            sys.argv.remove(arg)
-
-        if arg.find('--api=') == 0:
-            printerr("--api option ignored (Support for HDF5 1.6 dropped)")
-            sys.argv.remove(arg)
-
-    savepickle('h5py_config.pickle', settings)
-    return settings
-
-
-# --- Autodetection of HDF5 library via ctypes --------------------------------
-
-def autodetect(libdirs):
-    """
-    Detect the current version of HDF5, and return it as a tuple
-    (major, minor, release).
-
-    If the version can't be determined, prints error information to stderr
-    and returns None.
-
-    libdirs: list of library paths to search for libhdf5.so.  The first one
-    which can be successfully loaded will be used.
-    """
-
-    import os
-    import sys
-    import os.path as op
-    import re
-    import ctypes
-    from ctypes import byref
-
-    if sys.platform.startswith('win'):
-        regexp = re.compile('^hdf5.dll$')
-    elif sys.platform.startswith('darwin'):
-        regexp = re.compile(r'^libhdf5.dylib')
-    else:
-        regexp = re.compile(r'^libhdf5.so')
-
-    try:
-        path = None
-
-        for d in libdirs:
-            try:
-                candidates = [x for x in os.listdir(d) if regexp.match(x)]
-                if len(candidates) != 0:
-                    candidates.sort(key=lambda x: len(x))   # Prefer libfoo.so to libfoo.so.X.Y.Z
-                    path = op.abspath(op.join(d, candidates[0]))
-            except Exception:
-                pass   # We skip invalid entries, because that's what the C compiler does
-
-        if path is None:
-            path = "libhdf5.so"
-
-        lib = ctypes.cdll.LoadLibrary(path)
-
-        major = ctypes.c_uint()
-        minor = ctypes.c_uint()
-        release = ctypes.c_uint()
-
-        lib.H5get_libversion(byref(major), byref(minor), byref(release))
-
-        vers = (int(major.value), int(minor.value), int(release.value))
-
-        printerr("Autodetected HDF5 version %s" % ".".join(str(x) for x in vers))
-
-        return vers
-
-    except Exception as e:
-
-        printerr(e)
-        return None
-
diff --git a/PKG-INFO b/h5py.egg-info/PKG-INFO
similarity index 89%
copy from PKG-INFO
copy to h5py.egg-info/PKG-INFO
index b8d44a3..0ed11d1 100644
--- a/PKG-INFO
+++ b/h5py.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: h5py
-Version: 2.2.1
+Version: 2.4.0
 Summary: Read and write HDF5 files from Python
 Home-page: http://www.h5py.org
 Author: Andrew Collette
 Author-email: andrew dot collette at gmail dot com
 License: UNKNOWN
-Download-URL: http://code.google.com/p/h5py/downloads/list
+Download-URL: https://pypi.python.org/pypi/h5py
 Description: 
         The h5py package provides both a high- and low-level interface to the HDF5
         library from Python. The low-level interface is intended to be a complete
@@ -17,7 +17,7 @@ Description:
         data structures and their HDF5 equivalents vastly simplifies the process of
         reading and writing data from Python.
         
-        Supports HDF5 versions 1.8.3 and higher.  On Windows, HDF5 is included with
+        Supports HDF5 versions 1.8.4 and higher.  On Windows, HDF5 is included with
         the installer.
         
 Platform: UNKNOWN
@@ -34,4 +34,5 @@ Classifier: Operating System :: Unix
 Classifier: Operating System :: POSIX :: Linux
 Classifier: Operating System :: MacOS :: MacOS X
 Classifier: Operating System :: Microsoft :: Windows
-Requires: numpy (>=1.0.1)
+Requires: numpy (>=1.6.1)
+Requires: Cython (>=0.17)
diff --git a/h5py.egg-info/SOURCES.txt b/h5py.egg-info/SOURCES.txt
new file mode 100644
index 0000000..82c1015
--- /dev/null
+++ b/h5py.egg-info/SOURCES.txt
@@ -0,0 +1,121 @@
+ANN.rst
+MANIFEST.in
+README.rst
+api_gen.py
+setup.py
+setup_build.py
+setup_configure.py
+examples/multiprocessing_example.py
+examples/threading_example.py
+h5py/__init__.py
+h5py/_conv.pxd
+h5py/_conv.pyx
+h5py/_errors.pxd
+h5py/_errors.pyx
+h5py/_hdf5.pxd
+h5py/_locks.pxi
+h5py/_objects.pxd
+h5py/_objects.pyx
+h5py/_proxy.pxd
+h5py/_proxy.pyx
+h5py/api_compat.h
+h5py/api_functions.txt
+h5py/api_types_ext.pxd
+h5py/api_types_hdf5.pxd
+h5py/h5.pxd
+h5py/h5.pyx
+h5py/h5a.pxd
+h5py/h5a.pyx
+h5py/h5ac.pxd
+h5py/h5ac.pyx
+h5py/h5d.pxd
+h5py/h5d.pyx
+h5py/h5ds.pxd
+h5py/h5ds.pyx
+h5py/h5f.pxd
+h5py/h5f.pyx
+h5py/h5fd.pxd
+h5py/h5fd.pyx
+h5py/h5g.pxd
+h5py/h5g.pyx
+h5py/h5i.pxd
+h5py/h5i.pyx
+h5py/h5l.pxd
+h5py/h5l.pyx
+h5py/h5o.pxd
+h5py/h5o.pyx
+h5py/h5p.pxd
+h5py/h5p.pyx
+h5py/h5r.pxd
+h5py/h5r.pyx
+h5py/h5s.pxd
+h5py/h5s.pyx
+h5py/h5t.pxd
+h5py/h5t.pyx
+h5py/h5z.pxd
+h5py/h5z.pyx
+h5py/highlevel.py
+h5py/ipy_completer.py
+h5py/numpy.pxd
+h5py/utils.pxd
+h5py/utils.pyx
+h5py/version.py
+h5py.egg-info/PKG-INFO
+h5py.egg-info/SOURCES.txt
+h5py.egg-info/dependency_links.txt
+h5py.egg-info/requires.txt
+h5py.egg-info/top_level.txt
+h5py/_hl/__init__.py
+h5py/_hl/attrs.py
+h5py/_hl/base.py
+h5py/_hl/dataset.py
+h5py/_hl/datatype.py
+h5py/_hl/dims.py
+h5py/_hl/files.py
+h5py/_hl/filters.py
+h5py/_hl/group.py
+h5py/_hl/selections.py
+h5py/_hl/selections2.py
+h5py/tests/__init__.py
+h5py/tests/common.py
+h5py/tests/hl/__init__.py
+h5py/tests/hl/test_dataset_getitem.py
+h5py/tests/hl/test_dims_dimensionproxy.py
+h5py/tests/hl/test_file.py
+h5py/tests/old/__init__.py
+h5py/tests/old/common.py
+h5py/tests/old/test_attrs.py
+h5py/tests/old/test_attrs_data.py
+h5py/tests/old/test_base.py
+h5py/tests/old/test_dataset.py
+h5py/tests/old/test_datatype.py
+h5py/tests/old/test_dimension_scales.py
+h5py/tests/old/test_file.py
+h5py/tests/old/test_group.py
+h5py/tests/old/test_h5.py
+h5py/tests/old/test_h5f.py
+h5py/tests/old/test_h5p.py
+h5py/tests/old/test_h5t.py
+h5py/tests/old/test_objects.py
+h5py/tests/old/test_selections.py
+h5py/tests/old/test_slicing.py
+licenses/hdf5.txt
+licenses/license.txt
+licenses/pytables.txt
+licenses/python.txt
+licenses/stdint.txt
+lzf/.DS_Store
+lzf/LICENSE.txt
+lzf/README.txt
+lzf/example.c
+lzf/lzf_filter.c
+lzf/lzf_filter.h
+lzf/lzf/lzf.h
+lzf/lzf/lzfP.h
+lzf/lzf/lzf_c.c
+lzf/lzf/lzf_d.c
+windows/README.txt
+windows/cacheinit.cmake
+windows/pavement.py
+windows/stdint.h
+windows/unistd.h
\ No newline at end of file
diff --git a/h5py.egg-info/dependency_links.txt b/h5py.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/h5py.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/h5py.egg-info/requires.txt b/h5py.egg-info/requires.txt
new file mode 100644
index 0000000..95d0ae4
--- /dev/null
+++ b/h5py.egg-info/requires.txt
@@ -0,0 +1,2 @@
+numpy>=1.6.1
+Cython>=0.17
diff --git a/h5py.egg-info/top_level.txt b/h5py.egg-info/top_level.txt
new file mode 100644
index 0000000..c5a4eac
--- /dev/null
+++ b/h5py.egg-info/top_level.txt
@@ -0,0 +1 @@
+h5py
diff --git a/h5py/__init__.py b/h5py/__init__.py
index 59bbf47..da1e8d0 100644
--- a/h5py/__init__.py
+++ b/h5py/__init__.py
@@ -32,6 +32,8 @@ from h5py.h5t import py_get_enum as get_enum
 
 from h5py import version
 
+from .tests import run_tests
+
 __version__ = version.version
 
 __doc__ = \
@@ -64,18 +66,3 @@ def enable_ipython_completer():
 
     raise RuntimeError('completer must be enabled in active ipython session')
 
-def run_tests(verbosity=1):
-    import sys
-    py_version = sys.version_info[:2]
-    if py_version == (2,7) or py_version >= (3,2):
-        import unittest
-    else:
-        try:
-            import unittest2 as unittest
-        except ImportError:
-            raise ImportError(
-                "unittest2 is required to run tests with python-%d.%d"
-                % py_version
-                )
-    suite = unittest.TestLoader().discover('h5py')
-    result = unittest.TextTestRunner(verbosity=verbosity).run(suite)
diff --git a/h5py/_conv.c b/h5py/_conv.c
deleted file mode 100644
index 2d43d56..0000000
--- a/h5py/_conv.c
+++ /dev/null
@@ -1,6014 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py___conv
-#define __PYX_HAVE_API__h5py___conv
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "_conv.pyx",
-  "h5r.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_3h5r_Reference;
-struct __pyx_obj_4h5py_3h5r_RegionReference;
-union __pyx_t_4h5py_3h5r_ref_u;
-
-/* "h5r.pxd":17
- *   ctypedef unsigned char hdset_reg_ref_t[12]
- * 
- * cdef union ref_u:             # <<<<<<<<<<<<<<
- *     hobj_ref_t         obj_ref
- *     hdset_reg_ref_t    reg_ref
- */
-union __pyx_t_4h5py_3h5r_ref_u {
-  hobj_ref_t obj_ref;
-  hdset_reg_ref_t reg_ref;
-};
-struct __pyx_t_4h5py_5_conv_conv_size_t;
-typedef struct __pyx_t_4h5py_5_conv_conv_size_t __pyx_t_4h5py_5_conv_conv_size_t;
-struct __pyx_t_4h5py_5_conv_conv_enum_t;
-
-/* "h5py/_conv.pyx":60
- *     return H5PY_OBJ
- * 
- * ctypedef int (*conv_operator_t)(void* ipt, void* opt, void* bkg, void* priv) except -1             # <<<<<<<<<<<<<<
- * ctypedef herr_t (*init_operator_t)(hid_t src, hid_t dst, void** priv) except -1
- * 
- */
-typedef int (*__pyx_t_4h5py_5_conv_conv_operator_t)(void *, void *, void *, void *);
-
-/* "h5py/_conv.pyx":61
- * 
- * ctypedef int (*conv_operator_t)(void* ipt, void* opt, void* bkg, void* priv) except -1
- * ctypedef herr_t (*init_operator_t)(hid_t src, hid_t dst, void** priv) except -1             # <<<<<<<<<<<<<<
- * 
- * # Generic conversion callback
- */
-typedef herr_t (*__pyx_t_4h5py_5_conv_init_operator_t)(hid_t, hid_t, void **);
-
-/* "h5py/_conv.pyx":140
- * # Generic conversion
- * 
- * ctypedef struct conv_size_t:             # <<<<<<<<<<<<<<
- *     size_t src_size
- *     size_t dst_size
- */
-struct __pyx_t_4h5py_5_conv_conv_size_t {
-  size_t src_size;
-  size_t dst_size;
-  int cset;
-};
-
-/* "h5py/_conv.pyx":468
- * # Enum to integer converter
- * 
- * cdef struct conv_enum_t:             # <<<<<<<<<<<<<<
- *     size_t src_size
- *     size_t dst_size
- */
-struct __pyx_t_4h5py_5_conv_conv_enum_t {
-  size_t src_size;
-  size_t dst_size;
-  hid_t supertype;
-  int identical;
-};
-
-/* "h5r.pxd":21
- *     hdset_reg_ref_t    reg_ref
- * 
- * cdef class Reference:             # <<<<<<<<<<<<<<
- * 
- *     cdef ref_u ref
- */
-struct __pyx_obj_4h5py_3h5r_Reference {
-  PyObject_HEAD
-  union __pyx_t_4h5py_3h5r_ref_u ref;
-  int typecode;
-  size_t typesize;
-};
-
-
-/* "h5r.pxd":27
- *     cdef readonly size_t typesize
- * 
- * cdef class RegionReference(Reference):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5r_RegionReference {
-  struct __pyx_obj_4h5py_3h5r_Reference __pyx_base;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-#ifndef __PYX_FORCE_INIT_THREADS
-  #define __PYX_FORCE_INIT_THREADS 0
-#endif
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_htri_t(htri_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static void __Pyx_WriteUnraisable(const char *name, int clineno,
-                                  int lineno, const char *filename); /*proto*/
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/
-static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/
-static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tunregister)(H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t); /*proto*/
-
-/* Module declarations from 'h5py.h5r' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5r_Reference = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5r_RegionReference = 0;
-
-/* Module declarations from 'h5py._conv' */
-static hid_t __pyx_v_4h5py_5_conv_H5PY_OBJ;
-static hid_t __pyx_f_4h5py_5_conv_get_python_obj(int __pyx_skip_dispatch); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_generic_converter(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t, __pyx_t_4h5py_5_conv_conv_operator_t, __pyx_t_4h5py_5_conv_init_operator_t, H5T_bkg_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_init_generic(hid_t, hid_t, void **); /*proto*/
-static int __pyx_f_4h5py_5_conv_conv_vlen2str(void *, void *, void *, void *); /*proto*/
-static int __pyx_f_4h5py_5_conv_conv_str2vlen(void *, void *, void *, void *); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_init_vlen2fixed(hid_t, hid_t, void **); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_init_fixed2vlen(hid_t, hid_t, void **); /*proto*/
-static int __pyx_f_4h5py_5_conv_conv_vlen2fixed(void *, void *, void *, void *); /*proto*/
-static int __pyx_f_4h5py_5_conv_conv_fixed2vlen(void *, void *, void *, void *); /*proto*/
-static int __pyx_f_4h5py_5_conv_conv_objref2pyref(void *, void *, void *, void *); /*proto*/
-static int __pyx_f_4h5py_5_conv_conv_pyref2objref(void *, void *, void *, void *); /*proto*/
-static int __pyx_f_4h5py_5_conv_conv_regref2pyref(void *, void *, void *, void *); /*proto*/
-static int __pyx_f_4h5py_5_conv_conv_pyref2regref(void *, void *, void *, void *); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_vlen2str(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_str2vlen(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_vlen2fixed(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_fixed2vlen(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_objref2pyref(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_pyref2objref(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_regref2pyref(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_pyref2regref(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static int __pyx_f_4h5py_5_conv_enum_int_converter_init(hid_t, hid_t, H5T_cdata_t *, int); /*proto*/
-static void __pyx_f_4h5py_5_conv_enum_int_converter_free(H5T_cdata_t *); /*proto*/
-static int __pyx_f_4h5py_5_conv_enum_int_converter_conv(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t, int); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_enum_int_converter(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t, int); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_enum2int(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t __pyx_f_4h5py_5_conv_int2enum(hid_t, hid_t, H5T_cdata_t *, size_t, size_t, size_t, void *, void *, hid_t); /*proto*/
-static int __pyx_f_4h5py_5_conv_register_converters(int __pyx_skip_dispatch); /*proto*/
-static int __pyx_f_4h5py_5_conv_unregister_converters(int __pyx_skip_dispatch); /*proto*/
-#define __Pyx_MODULE_NAME "h5py._conv"
-int __pyx_module_is_main_h5py___conv = 0;
-
-/* Implementation of 'h5py._conv' */
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_MemoryError;
-static PyObject *__pyx_pf_4h5py_5_conv_get_python_obj(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static PyObject *__pyx_pf_4h5py_5_conv_2register_converters(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static PyObject *__pyx_pf_4h5py_5_conv_4unregister_converters(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static char __pyx_k_1[] = "PYTHON:OBJECT";
-static char __pyx_k_2[] = "";
-static char __pyx_k_3[] = "Byte string is not valid utf-8 and can't be stored in a utf-8 dataset";
-static char __pyx_k_5[] = "Unrecognized dataset encoding";
-static char __pyx_k_7[] = "VLEN strings do not support embedded NULLs";
-static char __pyx_k_9[] = "Can't convert incompatible object to HDF5 object reference";
-static char __pyx_k_11[] = "Can't convert incompatible object to HDF5 region reference";
-static char __pyx_k_13[] = "\n    Low-level type-conversion routines.\n";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__enum2int[] = "enum2int";
-static char __pyx_k__int2enum[] = "int2enum";
-static char __pyx_k__str2vlen[] = "str2vlen";
-static char __pyx_k__vlen2str[] = "vlen2str";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__fixed2vlen[] = "fixed2vlen";
-static char __pyx_k__vlen2fixed[] = "vlen2fixed";
-static char __pyx_k__MemoryError[] = "MemoryError";
-static char __pyx_k__objref2pyref[] = "objref2pyref";
-static char __pyx_k__pyref2objref[] = "pyref2objref";
-static char __pyx_k__pyref2regref[] = "pyref2regref";
-static char __pyx_k__regref2pyref[] = "regref2pyref";
-static PyObject *__pyx_kp_s_11;
-static PyObject *__pyx_kp_s_3;
-static PyObject *__pyx_kp_s_5;
-static PyObject *__pyx_kp_s_7;
-static PyObject *__pyx_kp_s_9;
-static PyObject *__pyx_n_s__MemoryError;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_k_tuple_4;
-static PyObject *__pyx_k_tuple_6;
-static PyObject *__pyx_k_tuple_8;
-static PyObject *__pyx_k_tuple_10;
-static PyObject *__pyx_k_tuple_12;
-
-/* "h5py/_conv.pyx":45
- *     void Py_XDECREF(PyObject* obj)
- * 
- * cdef object objectify(PyObject* o):             # <<<<<<<<<<<<<<
- *     Py_INCREF(o)
- *     return <object>o
- */
-
-static PyObject *__pyx_f_4h5py_5_conv_objectify(PyObject *__pyx_v_o) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("objectify", 0);
-
-  /* "h5py/_conv.pyx":46
- * 
- * cdef object objectify(PyObject* o):
- *     Py_INCREF(o)             # <<<<<<<<<<<<<<
- *     return <object>o
- * 
- */
-  Py_INCREF(__pyx_v_o);
-
-  /* "h5py/_conv.pyx":47
- * cdef object objectify(PyObject* o):
- *     Py_INCREF(o)
- *     return <object>o             # <<<<<<<<<<<<<<
- * 
- * # Create Python object equivalents
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_o));
-  __pyx_r = ((PyObject *)__pyx_v_o);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":52
- * cdef hid_t H5PY_OBJ = 0
- * 
- * cpdef hid_t get_python_obj():             # <<<<<<<<<<<<<<
- *     global H5PY_OBJ
- *     if H5PY_OBJ <= 0:
- */
-
-static PyObject *__pyx_pw_4h5py_5_conv_1get_python_obj(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static hid_t __pyx_f_4h5py_5_conv_get_python_obj(CYTHON_UNUSED int __pyx_skip_dispatch) {
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  hid_t __pyx_t_2;
-  herr_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_python_obj", 0);
-
-  /* "h5py/_conv.pyx":54
- * cpdef hid_t get_python_obj():
- *     global H5PY_OBJ
- *     if H5PY_OBJ <= 0:             # <<<<<<<<<<<<<<
- *         H5PY_OBJ = H5Tcreate(H5T_OPAQUE, sizeof(PyObject*))
- *         H5Tset_tag(H5PY_OBJ, "PYTHON:OBJECT")
- */
-  __pyx_t_1 = (__pyx_v_4h5py_5_conv_H5PY_OBJ <= 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/_conv.pyx":55
- *     global H5PY_OBJ
- *     if H5PY_OBJ <= 0:
- *         H5PY_OBJ = H5Tcreate(H5T_OPAQUE, sizeof(PyObject*))             # <<<<<<<<<<<<<<
- *         H5Tset_tag(H5PY_OBJ, "PYTHON:OBJECT")
- *         H5Tlock(H5PY_OBJ)
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_OPAQUE, (sizeof(PyObject *))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_4h5py_5_conv_H5PY_OBJ = __pyx_t_2;
-
-    /* "h5py/_conv.pyx":56
- *     if H5PY_OBJ <= 0:
- *         H5PY_OBJ = H5Tcreate(H5T_OPAQUE, sizeof(PyObject*))
- *         H5Tset_tag(H5PY_OBJ, "PYTHON:OBJECT")             # <<<<<<<<<<<<<<
- *         H5Tlock(H5PY_OBJ)
- *     return H5PY_OBJ
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tset_tag(__pyx_v_4h5py_5_conv_H5PY_OBJ, __pyx_k_1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-    /* "h5py/_conv.pyx":57
- *         H5PY_OBJ = H5Tcreate(H5T_OPAQUE, sizeof(PyObject*))
- *         H5Tset_tag(H5PY_OBJ, "PYTHON:OBJECT")
- *         H5Tlock(H5PY_OBJ)             # <<<<<<<<<<<<<<
- *     return H5PY_OBJ
- * 
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tlock(__pyx_v_4h5py_5_conv_H5PY_OBJ); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":58
- *         H5Tset_tag(H5PY_OBJ, "PYTHON:OBJECT")
- *         H5Tlock(H5PY_OBJ)
- *     return H5PY_OBJ             # <<<<<<<<<<<<<<
- * 
- * ctypedef int (*conv_operator_t)(void* ipt, void* opt, void* bkg, void* priv) except -1
- */
-  __pyx_r = __pyx_v_4h5py_5_conv_H5PY_OBJ;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_WriteUnraisable("h5py._conv.get_python_obj", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_5_conv_1get_python_obj(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_5_conv_1get_python_obj(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_python_obj (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_5_conv_get_python_obj(__pyx_self);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":52
- * cdef hid_t H5PY_OBJ = 0
- * 
- * cpdef hid_t get_python_obj():             # <<<<<<<<<<<<<<
- *     global H5PY_OBJ
- *     if H5PY_OBJ <= 0:
- */
-
-static PyObject *__pyx_pf_4h5py_5_conv_get_python_obj(CYTHON_UNUSED PyObject *__pyx_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_python_obj", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_f_4h5py_5_conv_get_python_obj(0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._conv.get_python_obj", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":72
- * # likely small compared to the cost of the Python-side API calls required to
- * # implement the conversions.
- * cdef herr_t generic_converter(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl, conv_operator_t op,
- */
-
-static herr_t __pyx_f_4h5py_5_conv_generic_converter(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, CYTHON_UNUSED hid_t __pyx_v_dxpl, __pyx_t_4h5py_5_conv_conv_operator_t __pyx_v_op, __pyx_t_4h5py_5_conv_init_operator_t __pyx_v_initop, H5T_bkg_t __pyx_v_need_bkg) {
-  int __pyx_v_command;
-  __pyx_t_4h5py_5_conv_conv_size_t *__pyx_v_sizes;
-  int __pyx_v_i;
-  char *__pyx_v_buf;
-  char *__pyx_v_bkg;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  H5T_cmd_t __pyx_t_1;
-  int __pyx_t_2;
-  herr_t __pyx_t_3;
-  htri_t __pyx_t_4;
-  H5T_cset_t __pyx_t_5;
-  size_t __pyx_t_6;
-  int __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("generic_converter", 0);
-
-  /* "h5py/_conv.pyx":77
- *                     init_operator_t initop, H5T_bkg_t need_bkg) except -1:
- * 
- *     cdef int command = cdata[0].command             # <<<<<<<<<<<<<<
- *     cdef conv_size_t *sizes
- *     cdef int i
- */
-  __pyx_t_1 = (__pyx_v_cdata[0]).command;
-  __pyx_v_command = __pyx_t_1;
-
-  /* "h5py/_conv.pyx":81
- *     cdef int i
- * 
- *     cdef char* buf = <char*>buf_i             # <<<<<<<<<<<<<<
- *     cdef char* bkg = <char*>bkg_i
- * 
- */
-  __pyx_v_buf = ((char *)__pyx_v_buf_i);
-
-  /* "h5py/_conv.pyx":82
- * 
- *     cdef char* buf = <char*>buf_i
- *     cdef char* bkg = <char*>bkg_i             # <<<<<<<<<<<<<<
- * 
- *     if command == H5T_CONV_INIT:
- */
-  __pyx_v_bkg = ((char *)__pyx_v_bkg_i);
-
-  /* "h5py/_conv.pyx":84
- *     cdef char* bkg = <char*>bkg_i
- * 
- *     if command == H5T_CONV_INIT:             # <<<<<<<<<<<<<<
- * 
- *         cdata[0].need_bkg = need_bkg
- */
-  __pyx_t_2 = (__pyx_v_command == H5T_CONV_INIT);
-  if (__pyx_t_2) {
-
-    /* "h5py/_conv.pyx":86
- *     if command == H5T_CONV_INIT:
- * 
- *         cdata[0].need_bkg = need_bkg             # <<<<<<<<<<<<<<
- *         return initop(src_id, dst_id, &(cdata[0].priv))
- * 
- */
-    (__pyx_v_cdata[0]).need_bkg = __pyx_v_need_bkg;
-
-    /* "h5py/_conv.pyx":87
- * 
- *         cdata[0].need_bkg = need_bkg
- *         return initop(src_id, dst_id, &(cdata[0].priv))             # <<<<<<<<<<<<<<
- * 
- *     elif command == H5T_CONV_FREE:
- */
-    __pyx_t_3 = __pyx_v_initop(__pyx_v_src_id, __pyx_v_dst_id, (&(__pyx_v_cdata[0]).priv)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_r = __pyx_t_3;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_conv.pyx":89
- *         return initop(src_id, dst_id, &(cdata[0].priv))
- * 
- *     elif command == H5T_CONV_FREE:             # <<<<<<<<<<<<<<
- * 
- *         free(cdata[0].priv)
- */
-  __pyx_t_2 = (__pyx_v_command == H5T_CONV_FREE);
-  if (__pyx_t_2) {
-
-    /* "h5py/_conv.pyx":91
- *     elif command == H5T_CONV_FREE:
- * 
- *         free(cdata[0].priv)             # <<<<<<<<<<<<<<
- *         cdata[0].priv = NULL
- * 
- */
-    free((__pyx_v_cdata[0]).priv);
-
-    /* "h5py/_conv.pyx":92
- * 
- *         free(cdata[0].priv)
- *         cdata[0].priv = NULL             # <<<<<<<<<<<<<<
- * 
- *     elif command == H5T_CONV_CONV:
- */
-    (__pyx_v_cdata[0]).priv = NULL;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_conv.pyx":94
- *         cdata[0].priv = NULL
- * 
- *     elif command == H5T_CONV_CONV:             # <<<<<<<<<<<<<<
- * 
- *         sizes = <conv_size_t*>cdata[0].priv
- */
-  __pyx_t_2 = (__pyx_v_command == H5T_CONV_CONV);
-  if (__pyx_t_2) {
-
-    /* "h5py/_conv.pyx":96
- *     elif command == H5T_CONV_CONV:
- * 
- *         sizes = <conv_size_t*>cdata[0].priv             # <<<<<<<<<<<<<<
- * 
- *         if H5Tis_variable_str(src_id):
- */
-    __pyx_v_sizes = ((__pyx_t_4h5py_5_conv_conv_size_t *)(__pyx_v_cdata[0]).priv);
-
-    /* "h5py/_conv.pyx":98
- *         sizes = <conv_size_t*>cdata[0].priv
- * 
- *         if H5Tis_variable_str(src_id):             # <<<<<<<<<<<<<<
- *             sizes.cset = H5Tget_cset(src_id)
- *         elif H5Tis_variable_str(dst_id):
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_src_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (__pyx_t_4) {
-
-      /* "h5py/_conv.pyx":99
- * 
- *         if H5Tis_variable_str(src_id):
- *             sizes.cset = H5Tget_cset(src_id)             # <<<<<<<<<<<<<<
- *         elif H5Tis_variable_str(dst_id):
- *             sizes.cset = H5Tget_cset(dst_id)
- */
-      __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tget_cset(__pyx_v_src_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_v_sizes->cset = __pyx_t_5;
-      goto __pyx_L4;
-    }
-
-    /* "h5py/_conv.pyx":100
- *         if H5Tis_variable_str(src_id):
- *             sizes.cset = H5Tget_cset(src_id)
- *         elif H5Tis_variable_str(dst_id):             # <<<<<<<<<<<<<<
- *             sizes.cset = H5Tget_cset(dst_id)
- * 
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_dst_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (__pyx_t_4) {
-
-      /* "h5py/_conv.pyx":101
- *             sizes.cset = H5Tget_cset(src_id)
- *         elif H5Tis_variable_str(dst_id):
- *             sizes.cset = H5Tget_cset(dst_id)             # <<<<<<<<<<<<<<
- * 
- *         if bkg_stride==0: bkg_stride = sizes[0].dst_size;
- */
-      __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tget_cset(__pyx_v_dst_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_v_sizes->cset = __pyx_t_5;
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-
-    /* "h5py/_conv.pyx":103
- *             sizes.cset = H5Tget_cset(dst_id)
- * 
- *         if bkg_stride==0: bkg_stride = sizes[0].dst_size;             # <<<<<<<<<<<<<<
- * 
- *         if buf_stride == 0:
- */
-    __pyx_t_2 = (__pyx_v_bkg_stride == 0);
-    if (__pyx_t_2) {
-      __pyx_t_6 = (__pyx_v_sizes[0]).dst_size;
-      __pyx_v_bkg_stride = __pyx_t_6;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-
-    /* "h5py/_conv.pyx":105
- *         if bkg_stride==0: bkg_stride = sizes[0].dst_size;
- * 
- *         if buf_stride == 0:             # <<<<<<<<<<<<<<
- *             # No explicit stride seems to mean that the elements are packed
- *             # contiguously in the buffer.  In this case we must be careful
- */
-    __pyx_t_2 = (__pyx_v_buf_stride == 0);
-    if (__pyx_t_2) {
-
-      /* "h5py/_conv.pyx":111
- *             # of a larger size.
- * 
- *             if sizes[0].src_size >= sizes[0].dst_size:             # <<<<<<<<<<<<<<
- *                 for i from 0<=i<nl:
- *                     op( buf + (i*sizes[0].src_size),    # input pointer
- */
-      __pyx_t_2 = ((__pyx_v_sizes[0]).src_size >= (__pyx_v_sizes[0]).dst_size);
-      if (__pyx_t_2) {
-
-        /* "h5py/_conv.pyx":112
- * 
- *             if sizes[0].src_size >= sizes[0].dst_size:
- *                 for i from 0<=i<nl:             # <<<<<<<<<<<<<<
- *                     op( buf + (i*sizes[0].src_size),    # input pointer
- *                         buf + (i*sizes[0].dst_size),    # output pointer
- */
-        __pyx_t_6 = __pyx_v_nl;
-        for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_6; __pyx_v_i++) {
-
-          /* "h5py/_conv.pyx":116
- *                         buf + (i*sizes[0].dst_size),    # output pointer
- *                         bkg + (i*bkg_stride),           # backing buffer
- *                         cdata[0].priv)                  # conversion context             # <<<<<<<<<<<<<<
- *             else:
- *                 for i from nl>i>=0:
- */
-          __pyx_t_7 = __pyx_v_op((__pyx_v_buf + (__pyx_v_i * (__pyx_v_sizes[0]).src_size)), (__pyx_v_buf + (__pyx_v_i * (__pyx_v_sizes[0]).dst_size)), (__pyx_v_bkg + (__pyx_v_i * __pyx_v_bkg_stride)), (__pyx_v_cdata[0]).priv); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        }
-        goto __pyx_L7;
-      }
-      /*else*/ {
-
-        /* "h5py/_conv.pyx":118
- *                         cdata[0].priv)                  # conversion context
- *             else:
- *                 for i from nl>i>=0:             # <<<<<<<<<<<<<<
- *                     op( buf + (i*sizes[0].src_size),
- *                         buf + (i*sizes[0].dst_size),
- */
-        for (__pyx_v_i = __pyx_v_nl-1; __pyx_v_i >= 0; __pyx_v_i--) {
-
-          /* "h5py/_conv.pyx":122
- *                         buf + (i*sizes[0].dst_size),
- *                         bkg + (i*bkg_stride),
- *                         cdata[0].priv)             # <<<<<<<<<<<<<<
- *         else:
- *             # With explicit strides, we assume that the library knows the
- */
-          __pyx_t_7 = __pyx_v_op((__pyx_v_buf + (__pyx_v_i * (__pyx_v_sizes[0]).src_size)), (__pyx_v_buf + (__pyx_v_i * (__pyx_v_sizes[0]).dst_size)), (__pyx_v_bkg + (__pyx_v_i * __pyx_v_bkg_stride)), (__pyx_v_cdata[0]).priv); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        }
-      }
-      __pyx_L7:;
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/_conv.pyx":127
- *             # alignment better than us.  Therefore we use the given stride
- *             # offsets exclusively.
- *             for i from 0<=i<nl:             # <<<<<<<<<<<<<<
- *                 op( buf + (i*buf_stride),
- *                     buf + (i*buf_stride),   # note this is the same!
- */
-      __pyx_t_6 = __pyx_v_nl;
-      for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_6; __pyx_v_i++) {
-
-        /* "h5py/_conv.pyx":131
- *                     buf + (i*buf_stride),   # note this is the same!
- *                     bkg + (i*bkg_stride),
- *                     cdata[0].priv)             # <<<<<<<<<<<<<<
- *     else:
- *         return -2   # Unrecognized command.  Note this is NOT an exception.
- */
-        __pyx_t_7 = __pyx_v_op((__pyx_v_buf + (__pyx_v_i * __pyx_v_buf_stride)), (__pyx_v_buf + (__pyx_v_i * __pyx_v_buf_stride)), (__pyx_v_bkg + (__pyx_v_i * __pyx_v_bkg_stride)), (__pyx_v_cdata[0]).priv); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-    }
-    __pyx_L6:;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/_conv.pyx":133
- *                     cdata[0].priv)
- *     else:
- *         return -2   # Unrecognized command.  Note this is NOT an exception.             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-    __pyx_r = -2;
-    goto __pyx_L0;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":135
- *         return -2   # Unrecognized command.  Note this is NOT an exception.
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.generic_converter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":145
- *     int cset
- * 
- * cdef herr_t init_generic(hid_t src, hid_t dst, void** priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef conv_size_t *sizes
- */
-
-static herr_t __pyx_f_4h5py_5_conv_init_generic(hid_t __pyx_v_src, hid_t __pyx_v_dst, void **__pyx_v_priv) {
-  __pyx_t_4h5py_5_conv_conv_size_t *__pyx_v_sizes;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  size_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("init_generic", 0);
-
-  /* "h5py/_conv.pyx":148
- * 
- *     cdef conv_size_t *sizes
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))             # <<<<<<<<<<<<<<
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)
- */
-  __pyx_v_sizes = ((__pyx_t_4h5py_5_conv_conv_size_t *)malloc((sizeof(__pyx_t_4h5py_5_conv_conv_size_t))));
-
-  /* "h5py/_conv.pyx":149
- *     cdef conv_size_t *sizes
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
- *     priv[0] = sizes             # <<<<<<<<<<<<<<
- *     sizes[0].src_size = H5Tget_size(src)
- *     sizes[0].dst_size = H5Tget_size(dst)
- */
-  (__pyx_v_priv[0]) = __pyx_v_sizes;
-
-  /* "h5py/_conv.pyx":150
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)             # <<<<<<<<<<<<<<
- *     sizes[0].dst_size = H5Tget_size(dst)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_sizes[0]).src_size = __pyx_t_1;
-
-  /* "h5py/_conv.pyx":151
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)
- *     sizes[0].dst_size = H5Tget_size(dst)             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_sizes[0]).dst_size = __pyx_t_1;
-
-  /* "h5py/_conv.pyx":153
- *     sizes[0].dst_size = H5Tget_size(dst)
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.init_generic", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":158
- * # Vlen string conversion
- * 
- * cdef int conv_vlen2str(void* ipt, void* opt, void* bkg, void* priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt
- */
-
-static int __pyx_f_4h5py_5_conv_conv_vlen2str(void *__pyx_v_ipt, void *__pyx_v_opt, void *__pyx_v_bkg, void *__pyx_v_priv) {
-  PyObject **__pyx_v_buf_obj;
-  PyObject **__pyx_v_bkg_obj;
-  char **__pyx_v_buf_cstring;
-  PyObject *__pyx_v_temp_obj;
-  __pyx_t_4h5py_5_conv_conv_size_t *__pyx_v_sizes;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("conv_vlen2str", 0);
-
-  /* "h5py/_conv.pyx":160
- * cdef int conv_vlen2str(void* ipt, void* opt, void* bkg, void* priv) except -1:
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt             # <<<<<<<<<<<<<<
- *     cdef PyObject** bkg_obj = <PyObject**>bkg
- *     cdef char** buf_cstring = <char**>ipt
- */
-  __pyx_v_buf_obj = ((PyObject **)__pyx_v_opt);
-
-  /* "h5py/_conv.pyx":161
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt
- *     cdef PyObject** bkg_obj = <PyObject**>bkg             # <<<<<<<<<<<<<<
- *     cdef char** buf_cstring = <char**>ipt
- *     cdef PyObject* temp_obj = NULL
- */
-  __pyx_v_bkg_obj = ((PyObject **)__pyx_v_bkg);
-
-  /* "h5py/_conv.pyx":162
- *     cdef PyObject** buf_obj = <PyObject**>opt
- *     cdef PyObject** bkg_obj = <PyObject**>bkg
- *     cdef char** buf_cstring = <char**>ipt             # <<<<<<<<<<<<<<
- *     cdef PyObject* temp_obj = NULL
- *     cdef conv_size_t *sizes = <conv_size_t*>priv
- */
-  __pyx_v_buf_cstring = ((char **)__pyx_v_ipt);
-
-  /* "h5py/_conv.pyx":163
- *     cdef PyObject** bkg_obj = <PyObject**>bkg
- *     cdef char** buf_cstring = <char**>ipt
- *     cdef PyObject* temp_obj = NULL             # <<<<<<<<<<<<<<
- *     cdef conv_size_t *sizes = <conv_size_t*>priv
- * 
- */
-  __pyx_v_temp_obj = NULL;
-
-  /* "h5py/_conv.pyx":164
- *     cdef char** buf_cstring = <char**>ipt
- *     cdef PyObject* temp_obj = NULL
- *     cdef conv_size_t *sizes = <conv_size_t*>priv             # <<<<<<<<<<<<<<
- * 
- *     # When reading we identify H5T_CSET_ASCII as a byte string and
- */
-  __pyx_v_sizes = ((__pyx_t_4h5py_5_conv_conv_size_t *)__pyx_v_priv);
-
-  /* "h5py/_conv.pyx":168
- *     # When reading we identify H5T_CSET_ASCII as a byte string and
- *     # H5T_CSET_UTF8 as a utf8-encoded unicode string
- *     if sizes.cset == H5T_CSET_ASCII:             # <<<<<<<<<<<<<<
- *         if buf_cstring[0] == NULL:
- *             temp_obj = PyBytes_FromString("")
- */
-  __pyx_t_1 = (__pyx_v_sizes->cset == H5T_CSET_ASCII);
-  if (__pyx_t_1) {
-
-    /* "h5py/_conv.pyx":169
- *     # H5T_CSET_UTF8 as a utf8-encoded unicode string
- *     if sizes.cset == H5T_CSET_ASCII:
- *         if buf_cstring[0] == NULL:             # <<<<<<<<<<<<<<
- *             temp_obj = PyBytes_FromString("")
- *         else:
- */
-    __pyx_t_1 = ((__pyx_v_buf_cstring[0]) == NULL);
-    if (__pyx_t_1) {
-
-      /* "h5py/_conv.pyx":170
- *     if sizes.cset == H5T_CSET_ASCII:
- *         if buf_cstring[0] == NULL:
- *             temp_obj = PyBytes_FromString("")             # <<<<<<<<<<<<<<
- *         else:
- *             temp_obj = PyBytes_FromString(buf_cstring[0])
- */
-      __pyx_t_2 = PyBytes_FromString(__pyx_k_2); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_v_temp_obj = __pyx_t_2;
-      goto __pyx_L4;
-    }
-    /*else*/ {
-
-      /* "h5py/_conv.pyx":172
- *             temp_obj = PyBytes_FromString("")
- *         else:
- *             temp_obj = PyBytes_FromString(buf_cstring[0])             # <<<<<<<<<<<<<<
- *     elif sizes.cset == H5T_CSET_UTF8:
- *         if buf_cstring[0] == NULL:
- */
-      __pyx_t_2 = PyBytes_FromString((__pyx_v_buf_cstring[0])); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_v_temp_obj = __pyx_t_2;
-    }
-    __pyx_L4:;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_conv.pyx":173
- *         else:
- *             temp_obj = PyBytes_FromString(buf_cstring[0])
- *     elif sizes.cset == H5T_CSET_UTF8:             # <<<<<<<<<<<<<<
- *         if buf_cstring[0] == NULL:
- *             temp_obj = PyUnicode_DecodeUTF8("", 0, NULL)
- */
-  __pyx_t_1 = (__pyx_v_sizes->cset == H5T_CSET_UTF8);
-  if (__pyx_t_1) {
-
-    /* "h5py/_conv.pyx":174
- *             temp_obj = PyBytes_FromString(buf_cstring[0])
- *     elif sizes.cset == H5T_CSET_UTF8:
- *         if buf_cstring[0] == NULL:             # <<<<<<<<<<<<<<
- *             temp_obj = PyUnicode_DecodeUTF8("", 0, NULL)
- *         else:
- */
-    __pyx_t_1 = ((__pyx_v_buf_cstring[0]) == NULL);
-    if (__pyx_t_1) {
-
-      /* "h5py/_conv.pyx":175
- *     elif sizes.cset == H5T_CSET_UTF8:
- *         if buf_cstring[0] == NULL:
- *             temp_obj = PyUnicode_DecodeUTF8("", 0, NULL)             # <<<<<<<<<<<<<<
- *         else:
- *             temp_obj = PyUnicode_DecodeUTF8(buf_cstring[0], strlen(buf_cstring[0]), NULL)
- */
-      __pyx_t_2 = PyUnicode_DecodeUTF8(__pyx_k_2, 0, NULL); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_v_temp_obj = __pyx_t_2;
-      goto __pyx_L5;
-    }
-    /*else*/ {
-
-      /* "h5py/_conv.pyx":177
- *             temp_obj = PyUnicode_DecodeUTF8("", 0, NULL)
- *         else:
- *             temp_obj = PyUnicode_DecodeUTF8(buf_cstring[0], strlen(buf_cstring[0]), NULL)             # <<<<<<<<<<<<<<
- * 
- *     # Since all data conversions are by definition in-place, it
- */
-      __pyx_t_2 = PyUnicode_DecodeUTF8((__pyx_v_buf_cstring[0]), strlen((__pyx_v_buf_cstring[0])), NULL); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_v_temp_obj = __pyx_t_2;
-    }
-    __pyx_L5:;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":181
- *     # Since all data conversions are by definition in-place, it
- *     # is our responsibility to free the memory used by the vlens.
- *     free(buf_cstring[0])             # <<<<<<<<<<<<<<
- * 
- *     # HDF5 will eventuallly overwrite this target location, so we
- */
-  free((__pyx_v_buf_cstring[0]));
-
-  /* "h5py/_conv.pyx":185
- *     # HDF5 will eventuallly overwrite this target location, so we
- *     # make sure to decref the object there.
- *     Py_XDECREF(bkg_obj[0])             # <<<<<<<<<<<<<<
- * 
- *     # Write the new string object to the buffer in-place
- */
-  Py_XDECREF((__pyx_v_bkg_obj[0]));
-
-  /* "h5py/_conv.pyx":188
- * 
- *     # Write the new string object to the buffer in-place
- *     buf_obj[0] = temp_obj             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  (__pyx_v_buf_obj[0]) = __pyx_v_temp_obj;
-
-  /* "h5py/_conv.pyx":190
- *     buf_obj[0] = temp_obj
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef int conv_str2vlen(void* ipt, void* opt, void* bkg, void* priv) except -1:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.conv_vlen2str", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":192
- *     return 0
- * 
- * cdef int conv_str2vlen(void* ipt, void* opt, void* bkg, void* priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt
- */
-
-static int __pyx_f_4h5py_5_conv_conv_str2vlen(void *__pyx_v_ipt, void *__pyx_v_opt, CYTHON_UNUSED void *__pyx_v_bkg, void *__pyx_v_priv) {
-  PyObject **__pyx_v_buf_obj;
-  char **__pyx_v_buf_cstring;
-  __pyx_t_4h5py_5_conv_conv_size_t *__pyx_v_sizes;
-  PyObject *__pyx_v_temp_object;
-  PyObject *__pyx_v_temp_encoded;
-  char *__pyx_v_temp_string;
-  size_t __pyx_v_temp_string_len;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  char *__pyx_t_12;
-  PyObject *__pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("conv_str2vlen", 0);
-
-  /* "h5py/_conv.pyx":194
- * cdef int conv_str2vlen(void* ipt, void* opt, void* bkg, void* priv) except -1:
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt             # <<<<<<<<<<<<<<
- *     cdef char** buf_cstring = <char**>opt
- *     cdef conv_size_t* sizes = <conv_size_t*>priv
- */
-  __pyx_v_buf_obj = ((PyObject **)__pyx_v_ipt);
-
-  /* "h5py/_conv.pyx":195
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt
- *     cdef char** buf_cstring = <char**>opt             # <<<<<<<<<<<<<<
- *     cdef conv_size_t* sizes = <conv_size_t*>priv
- * 
- */
-  __pyx_v_buf_cstring = ((char **)__pyx_v_opt);
-
-  /* "h5py/_conv.pyx":196
- *     cdef PyObject** buf_obj = <PyObject**>ipt
- *     cdef char** buf_cstring = <char**>opt
- *     cdef conv_size_t* sizes = <conv_size_t*>priv             # <<<<<<<<<<<<<<
- * 
- *     cdef PyObject* temp_object = NULL
- */
-  __pyx_v_sizes = ((__pyx_t_4h5py_5_conv_conv_size_t *)__pyx_v_priv);
-
-  /* "h5py/_conv.pyx":198
- *     cdef conv_size_t* sizes = <conv_size_t*>priv
- * 
- *     cdef PyObject* temp_object = NULL             # <<<<<<<<<<<<<<
- *     cdef PyObject* temp_encoded = NULL
- * 
- */
-  __pyx_v_temp_object = NULL;
-
-  /* "h5py/_conv.pyx":199
- * 
- *     cdef PyObject* temp_object = NULL
- *     cdef PyObject* temp_encoded = NULL             # <<<<<<<<<<<<<<
- * 
- *     cdef char* temp_string = NULL
- */
-  __pyx_v_temp_encoded = NULL;
-
-  /* "h5py/_conv.pyx":201
- *     cdef PyObject* temp_encoded = NULL
- * 
- *     cdef char* temp_string = NULL             # <<<<<<<<<<<<<<
- *     cdef size_t temp_string_len = 0  # Not including null term
- * 
- */
-  __pyx_v_temp_string = NULL;
-
-  /* "h5py/_conv.pyx":202
- * 
- *     cdef char* temp_string = NULL
- *     cdef size_t temp_string_len = 0  # Not including null term             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_v_temp_string_len = 0;
-
-  /* "h5py/_conv.pyx":204
- *     cdef size_t temp_string_len = 0  # Not including null term
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         if buf_obj[0] == NULL or buf_obj[0] == Py_None:
- *             temp_string = ""
- */
-  /*try:*/ {
-
-    /* "h5py/_conv.pyx":205
- * 
- *     try:
- *         if buf_obj[0] == NULL or buf_obj[0] == Py_None:             # <<<<<<<<<<<<<<
- *             temp_string = ""
- *             temp_string_len = 0
- */
-    __pyx_t_1 = ((__pyx_v_buf_obj[0]) == NULL);
-    if (!__pyx_t_1) {
-      __pyx_t_2 = ((__pyx_v_buf_obj[0]) == Py_None);
-      __pyx_t_3 = __pyx_t_2;
-    } else {
-      __pyx_t_3 = __pyx_t_1;
-    }
-    if (__pyx_t_3) {
-
-      /* "h5py/_conv.pyx":206
- *     try:
- *         if buf_obj[0] == NULL or buf_obj[0] == Py_None:
- *             temp_string = ""             # <<<<<<<<<<<<<<
- *             temp_string_len = 0
- *         else:
- */
-      __pyx_v_temp_string = __pyx_k_2;
-
-      /* "h5py/_conv.pyx":207
- *         if buf_obj[0] == NULL or buf_obj[0] == Py_None:
- *             temp_string = ""
- *             temp_string_len = 0             # <<<<<<<<<<<<<<
- *         else:
- *             if PyBytes_CheckExact(buf_obj[0]):
- */
-      __pyx_v_temp_string_len = 0;
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/_conv.pyx":209
- *             temp_string_len = 0
- *         else:
- *             if PyBytes_CheckExact(buf_obj[0]):             # <<<<<<<<<<<<<<
- * 
- *                 # Input is a byte string.  If we're using CSET_UTF8, make sure
- */
-      __pyx_t_4 = PyBytes_CheckExact((__pyx_v_buf_obj[0])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      if (__pyx_t_4) {
-
-        /* "h5py/_conv.pyx":213
- *                 # Input is a byte string.  If we're using CSET_UTF8, make sure
- *                 # it's valid UTF-8.  Otherwise just store it.
- *                 temp_object = buf_obj[0]             # <<<<<<<<<<<<<<
- *                 Py_INCREF(temp_object)
- *                 if sizes.cset == H5T_CSET_UTF8:
- */
-        __pyx_v_temp_object = (__pyx_v_buf_obj[0]);
-
-        /* "h5py/_conv.pyx":214
- *                 # it's valid UTF-8.  Otherwise just store it.
- *                 temp_object = buf_obj[0]
- *                 Py_INCREF(temp_object)             # <<<<<<<<<<<<<<
- *                 if sizes.cset == H5T_CSET_UTF8:
- *                     try:
- */
-        Py_INCREF(__pyx_v_temp_object);
-
-        /* "h5py/_conv.pyx":215
- *                 temp_object = buf_obj[0]
- *                 Py_INCREF(temp_object)
- *                 if sizes.cset == H5T_CSET_UTF8:             # <<<<<<<<<<<<<<
- *                     try:
- *                         pass # disabled for Python 3 compatibility
- */
-        __pyx_t_3 = (__pyx_v_sizes->cset == H5T_CSET_UTF8);
-        if (__pyx_t_3) {
-
-          /* "h5py/_conv.pyx":216
- *                 Py_INCREF(temp_object)
- *                 if sizes.cset == H5T_CSET_UTF8:
- *                     try:             # <<<<<<<<<<<<<<
- *                         pass # disabled for Python 3 compatibility
- *                         #temp_encoded = PyString_AsDecodedObject(temp_object, "utf8", NULL)
- */
-          {
-            __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-            __Pyx_XGOTREF(__pyx_t_5);
-            __Pyx_XGOTREF(__pyx_t_6);
-            __Pyx_XGOTREF(__pyx_t_7);
-            /*try:*/ {
-            }
-            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-            __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-            __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-            goto __pyx_L16_try_end;
-
-            /* "h5py/_conv.pyx":219
- *                         pass # disabled for Python 3 compatibility
- *                         #temp_encoded = PyString_AsDecodedObject(temp_object, "utf8", NULL)
- *                     except:             # <<<<<<<<<<<<<<
- *                         raise ValueError("Byte string is not valid utf-8 and can't be stored in a utf-8 dataset")
- *                 temp_string = PyBytes_AsString(temp_object)
- */
-            /*except:*/ {
-              __Pyx_AddTraceback("h5py._conv.conv_str2vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-              if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
-              __Pyx_GOTREF(__pyx_t_8);
-              __Pyx_GOTREF(__pyx_t_9);
-              __Pyx_GOTREF(__pyx_t_10);
-
-              /* "h5py/_conv.pyx":220
- *                         #temp_encoded = PyString_AsDecodedObject(temp_object, "utf8", NULL)
- *                     except:
- *                         raise ValueError("Byte string is not valid utf-8 and can't be stored in a utf-8 dataset")             # <<<<<<<<<<<<<<
- *                 temp_string = PyBytes_AsString(temp_object)
- *                 temp_string_len = PyBytes_Size(temp_object)
- */
-              __pyx_t_11 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
-              __Pyx_GOTREF(__pyx_t_11);
-              __Pyx_Raise(__pyx_t_11, 0, 0, 0);
-              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-              {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
-              __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-              goto __pyx_L10_exception_handled;
-            }
-            __pyx_L11_except_error:;
-            __Pyx_XGIVEREF(__pyx_t_5);
-            __Pyx_XGIVEREF(__pyx_t_6);
-            __Pyx_XGIVEREF(__pyx_t_7);
-            __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-            goto __pyx_L4;
-            __pyx_L10_exception_handled:;
-            __Pyx_XGIVEREF(__pyx_t_5);
-            __Pyx_XGIVEREF(__pyx_t_6);
-            __Pyx_XGIVEREF(__pyx_t_7);
-            __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-            __pyx_L16_try_end:;
-          }
-          goto __pyx_L8;
-        }
-        __pyx_L8:;
-
-        /* "h5py/_conv.pyx":221
- *                     except:
- *                         raise ValueError("Byte string is not valid utf-8 and can't be stored in a utf-8 dataset")
- *                 temp_string = PyBytes_AsString(temp_object)             # <<<<<<<<<<<<<<
- *                 temp_string_len = PyBytes_Size(temp_object)
- * 
- */
-        __pyx_t_12 = PyBytes_AsString(__pyx_v_temp_object); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_temp_string = __pyx_t_12;
-
-        /* "h5py/_conv.pyx":222
- *                         raise ValueError("Byte string is not valid utf-8 and can't be stored in a utf-8 dataset")
- *                 temp_string = PyBytes_AsString(temp_object)
- *                 temp_string_len = PyBytes_Size(temp_object)             # <<<<<<<<<<<<<<
- * 
- *             # We are given a Unicode object.  Encode it to utf-8 regardless of
- */
-        __pyx_t_4 = PyBytes_Size(__pyx_v_temp_object); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_temp_string_len = __pyx_t_4;
-        goto __pyx_L7;
-      }
-
-      /* "h5py/_conv.pyx":226
- *             # We are given a Unicode object.  Encode it to utf-8 regardless of
- *             # the HDF5 character set.
- *             elif PyUnicode_CheckExact(buf_obj[0]):             # <<<<<<<<<<<<<<
- *                 temp_object = buf_obj[0]
- *                 Py_INCREF(temp_object)
- */
-      __pyx_t_4 = PyUnicode_CheckExact((__pyx_v_buf_obj[0])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      if (__pyx_t_4) {
-
-        /* "h5py/_conv.pyx":227
- *             # the HDF5 character set.
- *             elif PyUnicode_CheckExact(buf_obj[0]):
- *                 temp_object = buf_obj[0]             # <<<<<<<<<<<<<<
- *                 Py_INCREF(temp_object)
- *                 temp_encoded = PyUnicode_AsUTF8String(temp_object)
- */
-        __pyx_v_temp_object = (__pyx_v_buf_obj[0]);
-
-        /* "h5py/_conv.pyx":228
- *             elif PyUnicode_CheckExact(buf_obj[0]):
- *                 temp_object = buf_obj[0]
- *                 Py_INCREF(temp_object)             # <<<<<<<<<<<<<<
- *                 temp_encoded = PyUnicode_AsUTF8String(temp_object)
- *                 temp_string = PyBytes_AsString(temp_encoded)
- */
-        Py_INCREF(__pyx_v_temp_object);
-
-        /* "h5py/_conv.pyx":229
- *                 temp_object = buf_obj[0]
- *                 Py_INCREF(temp_object)
- *                 temp_encoded = PyUnicode_AsUTF8String(temp_object)             # <<<<<<<<<<<<<<
- *                 temp_string = PyBytes_AsString(temp_encoded)
- *                 temp_string_len = PyBytes_Size(temp_encoded)
- */
-        __pyx_t_13 = PyUnicode_AsUTF8String(__pyx_v_temp_object); if (unlikely(__pyx_t_13 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_temp_encoded = __pyx_t_13;
-
-        /* "h5py/_conv.pyx":230
- *                 Py_INCREF(temp_object)
- *                 temp_encoded = PyUnicode_AsUTF8String(temp_object)
- *                 temp_string = PyBytes_AsString(temp_encoded)             # <<<<<<<<<<<<<<
- *                 temp_string_len = PyBytes_Size(temp_encoded)
- * 
- */
-        __pyx_t_12 = PyBytes_AsString(__pyx_v_temp_encoded); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_temp_string = __pyx_t_12;
-
-        /* "h5py/_conv.pyx":231
- *                 temp_encoded = PyUnicode_AsUTF8String(temp_object)
- *                 temp_string = PyBytes_AsString(temp_encoded)
- *                 temp_string_len = PyBytes_Size(temp_encoded)             # <<<<<<<<<<<<<<
- * 
- *             else:
- */
-        __pyx_t_4 = PyBytes_Size(__pyx_v_temp_encoded); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_temp_string_len = __pyx_t_4;
-        goto __pyx_L7;
-      }
-      /*else*/ {
-
-        /* "h5py/_conv.pyx":234
- * 
- *             else:
- *                 if sizes.cset == H5T_CSET_ASCII:             # <<<<<<<<<<<<<<
- *                     temp_object = PyObject_Str(buf_obj[0])
- *                     temp_string = PyBytes_AsString(temp_object)
- */
-        __pyx_t_3 = (__pyx_v_sizes->cset == H5T_CSET_ASCII);
-        if (__pyx_t_3) {
-
-          /* "h5py/_conv.pyx":235
- *             else:
- *                 if sizes.cset == H5T_CSET_ASCII:
- *                     temp_object = PyObject_Str(buf_obj[0])             # <<<<<<<<<<<<<<
- *                     temp_string = PyBytes_AsString(temp_object)
- *                     temp_string_len = PyBytes_Size(temp_object)
- */
-          __pyx_t_13 = PyObject_Str((__pyx_v_buf_obj[0])); if (unlikely(__pyx_t_13 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-          __pyx_v_temp_object = __pyx_t_13;
-
-          /* "h5py/_conv.pyx":236
- *                 if sizes.cset == H5T_CSET_ASCII:
- *                     temp_object = PyObject_Str(buf_obj[0])
- *                     temp_string = PyBytes_AsString(temp_object)             # <<<<<<<<<<<<<<
- *                     temp_string_len = PyBytes_Size(temp_object)
- *                 elif sizes.cset == H5T_CSET_UTF8:
- */
-          __pyx_t_12 = PyBytes_AsString(__pyx_v_temp_object); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L4;}
-          __pyx_v_temp_string = __pyx_t_12;
-
-          /* "h5py/_conv.pyx":237
- *                     temp_object = PyObject_Str(buf_obj[0])
- *                     temp_string = PyBytes_AsString(temp_object)
- *                     temp_string_len = PyBytes_Size(temp_object)             # <<<<<<<<<<<<<<
- *                 elif sizes.cset == H5T_CSET_UTF8:
- *                     temp_object = PyObject_Str(buf_obj[0])
- */
-          __pyx_t_4 = PyBytes_Size(__pyx_v_temp_object); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L4;}
-          __pyx_v_temp_string_len = __pyx_t_4;
-          goto __pyx_L19;
-        }
-
-        /* "h5py/_conv.pyx":238
- *                     temp_string = PyBytes_AsString(temp_object)
- *                     temp_string_len = PyBytes_Size(temp_object)
- *                 elif sizes.cset == H5T_CSET_UTF8:             # <<<<<<<<<<<<<<
- *                     temp_object = PyObject_Str(buf_obj[0])
- *                     Py_INCREF(temp_object)
- */
-        __pyx_t_3 = (__pyx_v_sizes->cset == H5T_CSET_UTF8);
-        if (__pyx_t_3) {
-
-          /* "h5py/_conv.pyx":239
- *                     temp_string_len = PyBytes_Size(temp_object)
- *                 elif sizes.cset == H5T_CSET_UTF8:
- *                     temp_object = PyObject_Str(buf_obj[0])             # <<<<<<<<<<<<<<
- *                     Py_INCREF(temp_object)
- *                     temp_encoded = PyUnicode_AsUTF8String(temp_object)
- */
-          __pyx_t_13 = PyObject_Str((__pyx_v_buf_obj[0])); if (unlikely(__pyx_t_13 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;}
-          __pyx_v_temp_object = __pyx_t_13;
-
-          /* "h5py/_conv.pyx":240
- *                 elif sizes.cset == H5T_CSET_UTF8:
- *                     temp_object = PyObject_Str(buf_obj[0])
- *                     Py_INCREF(temp_object)             # <<<<<<<<<<<<<<
- *                     temp_encoded = PyUnicode_AsUTF8String(temp_object)
- *                     Py_INCREF(temp_encoded)
- */
-          Py_INCREF(__pyx_v_temp_object);
-
-          /* "h5py/_conv.pyx":241
- *                     temp_object = PyObject_Str(buf_obj[0])
- *                     Py_INCREF(temp_object)
- *                     temp_encoded = PyUnicode_AsUTF8String(temp_object)             # <<<<<<<<<<<<<<
- *                     Py_INCREF(temp_encoded)
- *                     temp_string = PyBytes_AsString(temp_encoded)
- */
-          __pyx_t_13 = PyUnicode_AsUTF8String(__pyx_v_temp_object); if (unlikely(__pyx_t_13 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L4;}
-          __pyx_v_temp_encoded = __pyx_t_13;
-
-          /* "h5py/_conv.pyx":242
- *                     Py_INCREF(temp_object)
- *                     temp_encoded = PyUnicode_AsUTF8String(temp_object)
- *                     Py_INCREF(temp_encoded)             # <<<<<<<<<<<<<<
- *                     temp_string = PyBytes_AsString(temp_encoded)
- *                     temp_string_len = PyBytes_Size(temp_encoded)
- */
-          Py_INCREF(__pyx_v_temp_encoded);
-
-          /* "h5py/_conv.pyx":243
- *                     temp_encoded = PyUnicode_AsUTF8String(temp_object)
- *                     Py_INCREF(temp_encoded)
- *                     temp_string = PyBytes_AsString(temp_encoded)             # <<<<<<<<<<<<<<
- *                     temp_string_len = PyBytes_Size(temp_encoded)
- *                 else:
- */
-          __pyx_t_12 = PyBytes_AsString(__pyx_v_temp_encoded); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L4;}
-          __pyx_v_temp_string = __pyx_t_12;
-
-          /* "h5py/_conv.pyx":244
- *                     Py_INCREF(temp_encoded)
- *                     temp_string = PyBytes_AsString(temp_encoded)
- *                     temp_string_len = PyBytes_Size(temp_encoded)             # <<<<<<<<<<<<<<
- *                 else:
- *                     raise TypeError("Unrecognized dataset encoding")
- */
-          __pyx_t_4 = PyBytes_Size(__pyx_v_temp_encoded); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L4;}
-          __pyx_v_temp_string_len = __pyx_t_4;
-          goto __pyx_L19;
-        }
-        /*else*/ {
-
-          /* "h5py/_conv.pyx":246
- *                     temp_string_len = PyBytes_Size(temp_encoded)
- *                 else:
- *                     raise TypeError("Unrecognized dataset encoding")             # <<<<<<<<<<<<<<
- * 
- *         if strlen(temp_string) != temp_string_len:
- */
-          __pyx_t_10 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_6), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L4;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_Raise(__pyx_t_10, 0, 0, 0);
-          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        }
-        __pyx_L19:;
-      }
-      __pyx_L7:;
-    }
-    __pyx_L6:;
-
-    /* "h5py/_conv.pyx":248
- *                     raise TypeError("Unrecognized dataset encoding")
- * 
- *         if strlen(temp_string) != temp_string_len:             # <<<<<<<<<<<<<<
- *             raise ValueError("VLEN strings do not support embedded NULLs")
- * 
- */
-    __pyx_t_3 = (strlen(__pyx_v_temp_string) != __pyx_v_temp_string_len);
-    if (__pyx_t_3) {
-
-      /* "h5py/_conv.pyx":249
- * 
- *         if strlen(temp_string) != temp_string_len:
- *             raise ValueError("VLEN strings do not support embedded NULLs")             # <<<<<<<<<<<<<<
- * 
- *         buf_cstring[0] = <char*>malloc(temp_string_len+1)
- */
-      __pyx_t_10 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_8), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_10);
-      __Pyx_Raise(__pyx_t_10, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L20;
-    }
-    __pyx_L20:;
-
-    /* "h5py/_conv.pyx":251
- *             raise ValueError("VLEN strings do not support embedded NULLs")
- * 
- *         buf_cstring[0] = <char*>malloc(temp_string_len+1)             # <<<<<<<<<<<<<<
- *         memcpy(buf_cstring[0], temp_string, temp_string_len+1)
- * 
- */
-    (__pyx_v_buf_cstring[0]) = ((char *)malloc((__pyx_v_temp_string_len + 1)));
-
-    /* "h5py/_conv.pyx":252
- * 
- *         buf_cstring[0] = <char*>malloc(temp_string_len+1)
- *         memcpy(buf_cstring[0], temp_string, temp_string_len+1)             # <<<<<<<<<<<<<<
- * 
- *         return 0
- */
-    memcpy((__pyx_v_buf_cstring[0]), __pyx_v_temp_string, (__pyx_v_temp_string_len + 1));
-
-    /* "h5py/_conv.pyx":254
- *         memcpy(buf_cstring[0], temp_string, temp_string_len+1)
- * 
- *         return 0             # <<<<<<<<<<<<<<
- *     finally:
- *         Py_XDECREF(temp_object)
- */
-    __pyx_r = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_conv.pyx":256
- *         return 0
- *     finally:
- *         Py_XDECREF(temp_object)             # <<<<<<<<<<<<<<
- *         Py_XDECREF(temp_encoded)
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    Py_XDECREF(__pyx_v_temp_object);
-
-    /* "h5py/_conv.pyx":257
- *     finally:
- *         Py_XDECREF(temp_object)
- *         Py_XDECREF(temp_encoded)             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-    Py_XDECREF(__pyx_v_temp_encoded);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py._conv.conv_str2vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":262
- * # VLEN to fixed-width strings
- * 
- * cdef herr_t init_vlen2fixed(hid_t src, hid_t dst, void** priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef conv_size_t *sizes
- */
-
-static herr_t __pyx_f_4h5py_5_conv_init_vlen2fixed(hid_t __pyx_v_src, hid_t __pyx_v_dst, void **__pyx_v_priv) {
-  __pyx_t_4h5py_5_conv_conv_size_t *__pyx_v_sizes;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  htri_t __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  size_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("init_vlen2fixed", 0);
-
-  /* "h5py/_conv.pyx":266
- *     cdef conv_size_t *sizes
- * 
- *     if not (H5Tis_variable_str(src) and (not H5Tis_variable_str(dst))):             # <<<<<<<<<<<<<<
- *         return -2
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_t_1) {
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_3 = (!__pyx_t_2);
-    __pyx_t_4 = __pyx_t_3;
-  } else {
-    __pyx_t_4 = __pyx_t_1;
-  }
-  __pyx_t_3 = (!__pyx_t_4);
-  if (__pyx_t_3) {
-
-    /* "h5py/_conv.pyx":267
- * 
- *     if not (H5Tis_variable_str(src) and (not H5Tis_variable_str(dst))):
- *         return -2             # <<<<<<<<<<<<<<
- * 
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
- */
-    __pyx_r = -2;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":269
- *         return -2
- * 
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))             # <<<<<<<<<<<<<<
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)
- */
-  __pyx_v_sizes = ((__pyx_t_4h5py_5_conv_conv_size_t *)malloc((sizeof(__pyx_t_4h5py_5_conv_conv_size_t))));
-
-  /* "h5py/_conv.pyx":270
- * 
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
- *     priv[0] = sizes             # <<<<<<<<<<<<<<
- *     sizes[0].src_size = H5Tget_size(src)
- *     sizes[0].dst_size = H5Tget_size(dst)
- */
-  (__pyx_v_priv[0]) = __pyx_v_sizes;
-
-  /* "h5py/_conv.pyx":271
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)             # <<<<<<<<<<<<<<
- *     sizes[0].dst_size = H5Tget_size(dst)
- * 
- */
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_sizes[0]).src_size = __pyx_t_5;
-
-  /* "h5py/_conv.pyx":272
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)
- *     sizes[0].dst_size = H5Tget_size(dst)             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_sizes[0]).dst_size = __pyx_t_5;
-
-  /* "h5py/_conv.pyx":274
- *     sizes[0].dst_size = H5Tget_size(dst)
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t init_fixed2vlen(hid_t src, hid_t dst, void** priv) except -1:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.init_vlen2fixed", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":276
- *     return 0
- * 
- * cdef herr_t init_fixed2vlen(hid_t src, hid_t dst, void** priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef conv_size_t *sizes
- */
-
-static herr_t __pyx_f_4h5py_5_conv_init_fixed2vlen(hid_t __pyx_v_src, hid_t __pyx_v_dst, void **__pyx_v_priv) {
-  __pyx_t_4h5py_5_conv_conv_size_t *__pyx_v_sizes;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  htri_t __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  size_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("init_fixed2vlen", 0);
-
-  /* "h5py/_conv.pyx":280
- *     cdef conv_size_t *sizes
- * 
- *     if not (H5Tis_variable_str(dst) and (not H5Tis_variable_str(src))):             # <<<<<<<<<<<<<<
- *         return -2
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_t_1) {
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 280; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_3 = (!__pyx_t_2);
-    __pyx_t_4 = __pyx_t_3;
-  } else {
-    __pyx_t_4 = __pyx_t_1;
-  }
-  __pyx_t_3 = (!__pyx_t_4);
-  if (__pyx_t_3) {
-
-    /* "h5py/_conv.pyx":281
- * 
- *     if not (H5Tis_variable_str(dst) and (not H5Tis_variable_str(src))):
- *         return -2             # <<<<<<<<<<<<<<
- * 
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
- */
-    __pyx_r = -2;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":283
- *         return -2
- * 
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))             # <<<<<<<<<<<<<<
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)
- */
-  __pyx_v_sizes = ((__pyx_t_4h5py_5_conv_conv_size_t *)malloc((sizeof(__pyx_t_4h5py_5_conv_conv_size_t))));
-
-  /* "h5py/_conv.pyx":284
- * 
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
- *     priv[0] = sizes             # <<<<<<<<<<<<<<
- *     sizes[0].src_size = H5Tget_size(src)
- *     sizes[0].dst_size = H5Tget_size(dst)
- */
-  (__pyx_v_priv[0]) = __pyx_v_sizes;
-
-  /* "h5py/_conv.pyx":285
- *     sizes = <conv_size_t*>malloc(sizeof(conv_size_t))
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)             # <<<<<<<<<<<<<<
- *     sizes[0].dst_size = H5Tget_size(dst)
- * 
- */
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_sizes[0]).src_size = __pyx_t_5;
-
-  /* "h5py/_conv.pyx":286
- *     priv[0] = sizes
- *     sizes[0].src_size = H5Tget_size(src)
- *     sizes[0].dst_size = H5Tget_size(dst)             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_sizes[0]).dst_size = __pyx_t_5;
-
-  /* "h5py/_conv.pyx":288
- *     sizes[0].dst_size = H5Tget_size(dst)
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef int conv_vlen2fixed(void* ipt, void* opt, void* bkg, void* priv) except -1:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.init_fixed2vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":290
- *     return 0
- * 
- * cdef int conv_vlen2fixed(void* ipt, void* opt, void* bkg, void* priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef char** buf_vlen = <char**>ipt
- */
-
-static int __pyx_f_4h5py_5_conv_conv_vlen2fixed(void *__pyx_v_ipt, void *__pyx_v_opt, CYTHON_UNUSED void *__pyx_v_bkg, void *__pyx_v_priv) {
-  char **__pyx_v_buf_vlen;
-  char *__pyx_v_buf_fixed;
-  char *__pyx_v_temp_string;
-  size_t __pyx_v_temp_string_len;
-  __pyx_t_4h5py_5_conv_conv_size_t *__pyx_v_sizes;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  __Pyx_RefNannySetupContext("conv_vlen2fixed", 0);
-
-  /* "h5py/_conv.pyx":292
- * cdef int conv_vlen2fixed(void* ipt, void* opt, void* bkg, void* priv) except -1:
- * 
- *     cdef char** buf_vlen = <char**>ipt             # <<<<<<<<<<<<<<
- *     cdef char* buf_fixed = <char*>opt
- *     cdef char* temp_string = NULL
- */
-  __pyx_v_buf_vlen = ((char **)__pyx_v_ipt);
-
-  /* "h5py/_conv.pyx":293
- * 
- *     cdef char** buf_vlen = <char**>ipt
- *     cdef char* buf_fixed = <char*>opt             # <<<<<<<<<<<<<<
- *     cdef char* temp_string = NULL
- *     cdef size_t temp_string_len = 0  # Without null term
- */
-  __pyx_v_buf_fixed = ((char *)__pyx_v_opt);
-
-  /* "h5py/_conv.pyx":294
- *     cdef char** buf_vlen = <char**>ipt
- *     cdef char* buf_fixed = <char*>opt
- *     cdef char* temp_string = NULL             # <<<<<<<<<<<<<<
- *     cdef size_t temp_string_len = 0  # Without null term
- *     cdef conv_size_t *sizes = <conv_size_t*>priv
- */
-  __pyx_v_temp_string = NULL;
-
-  /* "h5py/_conv.pyx":295
- *     cdef char* buf_fixed = <char*>opt
- *     cdef char* temp_string = NULL
- *     cdef size_t temp_string_len = 0  # Without null term             # <<<<<<<<<<<<<<
- *     cdef conv_size_t *sizes = <conv_size_t*>priv
- * 
- */
-  __pyx_v_temp_string_len = 0;
-
-  /* "h5py/_conv.pyx":296
- *     cdef char* temp_string = NULL
- *     cdef size_t temp_string_len = 0  # Without null term
- *     cdef conv_size_t *sizes = <conv_size_t*>priv             # <<<<<<<<<<<<<<
- * 
- *     if buf_vlen[0] != NULL:
- */
-  __pyx_v_sizes = ((__pyx_t_4h5py_5_conv_conv_size_t *)__pyx_v_priv);
-
-  /* "h5py/_conv.pyx":298
- *     cdef conv_size_t *sizes = <conv_size_t*>priv
- * 
- *     if buf_vlen[0] != NULL:             # <<<<<<<<<<<<<<
- *         temp_string = buf_vlen[0]
- *         temp_string_len = strlen(temp_string)
- */
-  __pyx_t_1 = ((__pyx_v_buf_vlen[0]) != NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/_conv.pyx":299
- * 
- *     if buf_vlen[0] != NULL:
- *         temp_string = buf_vlen[0]             # <<<<<<<<<<<<<<
- *         temp_string_len = strlen(temp_string)
- * 
- */
-    __pyx_v_temp_string = (__pyx_v_buf_vlen[0]);
-
-    /* "h5py/_conv.pyx":300
- *     if buf_vlen[0] != NULL:
- *         temp_string = buf_vlen[0]
- *         temp_string_len = strlen(temp_string)             # <<<<<<<<<<<<<<
- * 
- *         if temp_string_len <= sizes[0].dst_size:
- */
-    __pyx_v_temp_string_len = strlen(__pyx_v_temp_string);
-
-    /* "h5py/_conv.pyx":302
- *         temp_string_len = strlen(temp_string)
- * 
- *         if temp_string_len <= sizes[0].dst_size:             # <<<<<<<<<<<<<<
- *             # Pad with zeros
- *             memcpy(buf_fixed, temp_string, temp_string_len)
- */
-    __pyx_t_1 = (__pyx_v_temp_string_len <= (__pyx_v_sizes[0]).dst_size);
-    if (__pyx_t_1) {
-
-      /* "h5py/_conv.pyx":304
- *         if temp_string_len <= sizes[0].dst_size:
- *             # Pad with zeros
- *             memcpy(buf_fixed, temp_string, temp_string_len)             # <<<<<<<<<<<<<<
- *             memset(buf_fixed + temp_string_len, c'\0', sizes[0].dst_size - temp_string_len)
- *         else:
- */
-      memcpy(__pyx_v_buf_fixed, __pyx_v_temp_string, __pyx_v_temp_string_len);
-
-      /* "h5py/_conv.pyx":305
- *             # Pad with zeros
- *             memcpy(buf_fixed, temp_string, temp_string_len)
- *             memset(buf_fixed + temp_string_len, c'\0', sizes[0].dst_size - temp_string_len)             # <<<<<<<<<<<<<<
- *         else:
- *             # Simply truncate the string
- */
-      memset((__pyx_v_buf_fixed + __pyx_v_temp_string_len), '\x00', ((__pyx_v_sizes[0]).dst_size - __pyx_v_temp_string_len));
-      goto __pyx_L4;
-    }
-    /*else*/ {
-
-      /* "h5py/_conv.pyx":308
- *         else:
- *             # Simply truncate the string
- *             memcpy(buf_fixed, temp_string, sizes[0].dst_size)             # <<<<<<<<<<<<<<
- *     else:
- *         memset(buf_fixed, c'\0', sizes[0].dst_size)
- */
-      memcpy(__pyx_v_buf_fixed, __pyx_v_temp_string, (__pyx_v_sizes[0]).dst_size);
-    }
-    __pyx_L4:;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/_conv.pyx":310
- *             memcpy(buf_fixed, temp_string, sizes[0].dst_size)
- *     else:
- *         memset(buf_fixed, c'\0', sizes[0].dst_size)             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-    memset(__pyx_v_buf_fixed, '\x00', (__pyx_v_sizes[0]).dst_size);
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":312
- *         memset(buf_fixed, c'\0', sizes[0].dst_size)
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef int conv_fixed2vlen(void* ipt, void* opt, void* bkg, void* priv) except -1:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":314
- *     return 0
- * 
- * cdef int conv_fixed2vlen(void* ipt, void* opt, void* bkg, void* priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef char** buf_vlen = <char**>opt
- */
-
-static int __pyx_f_4h5py_5_conv_conv_fixed2vlen(void *__pyx_v_ipt, void *__pyx_v_opt, CYTHON_UNUSED void *__pyx_v_bkg, void *__pyx_v_priv) {
-  char **__pyx_v_buf_vlen;
-  char *__pyx_v_buf_fixed;
-  char *__pyx_v_temp_string;
-  __pyx_t_4h5py_5_conv_conv_size_t *__pyx_v_sizes;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("conv_fixed2vlen", 0);
-
-  /* "h5py/_conv.pyx":316
- * cdef int conv_fixed2vlen(void* ipt, void* opt, void* bkg, void* priv) except -1:
- * 
- *     cdef char** buf_vlen = <char**>opt             # <<<<<<<<<<<<<<
- *     cdef char* buf_fixed = <char*>ipt
- *     cdef char* temp_string = NULL
- */
-  __pyx_v_buf_vlen = ((char **)__pyx_v_opt);
-
-  /* "h5py/_conv.pyx":317
- * 
- *     cdef char** buf_vlen = <char**>opt
- *     cdef char* buf_fixed = <char*>ipt             # <<<<<<<<<<<<<<
- *     cdef char* temp_string = NULL
- *     cdef conv_size_t *sizes = <conv_size_t*>priv
- */
-  __pyx_v_buf_fixed = ((char *)__pyx_v_ipt);
-
-  /* "h5py/_conv.pyx":318
- *     cdef char** buf_vlen = <char**>opt
- *     cdef char* buf_fixed = <char*>ipt
- *     cdef char* temp_string = NULL             # <<<<<<<<<<<<<<
- *     cdef conv_size_t *sizes = <conv_size_t*>priv
- * 
- */
-  __pyx_v_temp_string = NULL;
-
-  /* "h5py/_conv.pyx":319
- *     cdef char* buf_fixed = <char*>ipt
- *     cdef char* temp_string = NULL
- *     cdef conv_size_t *sizes = <conv_size_t*>priv             # <<<<<<<<<<<<<<
- * 
- *     temp_string = <char*>malloc(sizes[0].src_size+1)
- */
-  __pyx_v_sizes = ((__pyx_t_4h5py_5_conv_conv_size_t *)__pyx_v_priv);
-
-  /* "h5py/_conv.pyx":321
- *     cdef conv_size_t *sizes = <conv_size_t*>priv
- * 
- *     temp_string = <char*>malloc(sizes[0].src_size+1)             # <<<<<<<<<<<<<<
- *     memcpy(temp_string, buf_fixed, sizes[0].src_size)
- *     temp_string[sizes[0].src_size] = c'\0'
- */
-  __pyx_v_temp_string = ((char *)malloc(((__pyx_v_sizes[0]).src_size + 1)));
-
-  /* "h5py/_conv.pyx":322
- * 
- *     temp_string = <char*>malloc(sizes[0].src_size+1)
- *     memcpy(temp_string, buf_fixed, sizes[0].src_size)             # <<<<<<<<<<<<<<
- *     temp_string[sizes[0].src_size] = c'\0'
- * 
- */
-  memcpy(__pyx_v_temp_string, __pyx_v_buf_fixed, (__pyx_v_sizes[0]).src_size);
-
-  /* "h5py/_conv.pyx":323
- *     temp_string = <char*>malloc(sizes[0].src_size+1)
- *     memcpy(temp_string, buf_fixed, sizes[0].src_size)
- *     temp_string[sizes[0].src_size] = c'\0'             # <<<<<<<<<<<<<<
- * 
- *     buf_vlen[0] = temp_string
- */
-  (__pyx_v_temp_string[(__pyx_v_sizes[0]).src_size]) = '\x00';
-
-  /* "h5py/_conv.pyx":325
- *     temp_string[sizes[0].src_size] = c'\0'
- * 
- *     buf_vlen[0] = temp_string             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  (__pyx_v_buf_vlen[0]) = __pyx_v_temp_string;
-
-  /* "h5py/_conv.pyx":327
- *     buf_vlen[0] = temp_string
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":332
- * # HDF5 references to Python instances of h5r.Reference
- * 
- * cdef int conv_objref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt
- */
-
-static int __pyx_f_4h5py_5_conv_conv_objref2pyref(void *__pyx_v_ipt, void *__pyx_v_opt, void *__pyx_v_bkg, CYTHON_UNUSED void *__pyx_v_priv) {
-  PyObject **__pyx_v_buf_obj;
-  PyObject **__pyx_v_bkg_obj;
-  hobj_ref_t *__pyx_v_buf_ref;
-  struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref = 0;
-  PyObject *__pyx_v_ref_ptr;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("conv_objref2pyref", 0);
-
-  /* "h5py/_conv.pyx":334
- * cdef int conv_objref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt             # <<<<<<<<<<<<<<
- *     cdef PyObject** bkg_obj = <PyObject**>bkg
- *     cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt
- */
-  __pyx_v_buf_obj = ((PyObject **)__pyx_v_opt);
-
-  /* "h5py/_conv.pyx":335
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt
- *     cdef PyObject** bkg_obj = <PyObject**>bkg             # <<<<<<<<<<<<<<
- *     cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt
- * 
- */
-  __pyx_v_bkg_obj = ((PyObject **)__pyx_v_bkg);
-
-  /* "h5py/_conv.pyx":336
- *     cdef PyObject** buf_obj = <PyObject**>opt
- *     cdef PyObject** bkg_obj = <PyObject**>bkg
- *     cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt             # <<<<<<<<<<<<<<
- * 
- *     cdef Reference ref = Reference()
- */
-  __pyx_v_buf_ref = ((hobj_ref_t *)__pyx_v_ipt);
-
-  /* "h5py/_conv.pyx":338
- *     cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt
- * 
- *     cdef Reference ref = Reference()             # <<<<<<<<<<<<<<
- *     cdef PyObject* ref_ptr = NULL
- * 
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_Reference *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/_conv.pyx":339
- * 
- *     cdef Reference ref = Reference()
- *     cdef PyObject* ref_ptr = NULL             # <<<<<<<<<<<<<<
- * 
- *     ref.ref.obj_ref = buf_ref[0]
- */
-  __pyx_v_ref_ptr = NULL;
-
-  /* "h5py/_conv.pyx":341
- *     cdef PyObject* ref_ptr = NULL
- * 
- *     ref.ref.obj_ref = buf_ref[0]             # <<<<<<<<<<<<<<
- *     ref.typecode = H5R_OBJECT
- * 
- */
-  __pyx_v_ref->ref.obj_ref = (__pyx_v_buf_ref[0]);
-
-  /* "h5py/_conv.pyx":342
- * 
- *     ref.ref.obj_ref = buf_ref[0]
- *     ref.typecode = H5R_OBJECT             # <<<<<<<<<<<<<<
- * 
- *     ref_ptr = <PyObject*>ref
- */
-  __pyx_v_ref->typecode = H5R_OBJECT;
-
-  /* "h5py/_conv.pyx":344
- *     ref.typecode = H5R_OBJECT
- * 
- *     ref_ptr = <PyObject*>ref             # <<<<<<<<<<<<<<
- *     Py_INCREF(ref_ptr)  # because Cython discards its reference when the
- *                         # function exits
- */
-  __pyx_v_ref_ptr = ((PyObject *)__pyx_v_ref);
-
-  /* "h5py/_conv.pyx":345
- * 
- *     ref_ptr = <PyObject*>ref
- *     Py_INCREF(ref_ptr)  # because Cython discards its reference when the             # <<<<<<<<<<<<<<
- *                         # function exits
- * 
- */
-  Py_INCREF(__pyx_v_ref_ptr);
-
-  /* "h5py/_conv.pyx":348
- *                         # function exits
- * 
- *     Py_XDECREF(bkg_obj[0])             # <<<<<<<<<<<<<<
- *     buf_obj[0] = ref_ptr
- * 
- */
-  Py_XDECREF((__pyx_v_bkg_obj[0]));
-
-  /* "h5py/_conv.pyx":349
- * 
- *     Py_XDECREF(bkg_obj[0])
- *     buf_obj[0] = ref_ptr             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  (__pyx_v_buf_obj[0]) = __pyx_v_ref_ptr;
-
-  /* "h5py/_conv.pyx":351
- *     buf_obj[0] = ref_ptr
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef int conv_pyref2objref(void* ipt, void* opt, void* bkg, void* priv) except -1:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._conv.conv_objref2pyref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_ref);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":353
- *     return 0
- * 
- * cdef int conv_pyref2objref(void* ipt, void* opt, void* bkg, void* priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt
- */
-
-static int __pyx_f_4h5py_5_conv_conv_pyref2objref(void *__pyx_v_ipt, void *__pyx_v_opt, CYTHON_UNUSED void *__pyx_v_bkg, CYTHON_UNUSED void *__pyx_v_priv) {
-  PyObject **__pyx_v_buf_obj;
-  hobj_ref_t *__pyx_v_buf_ref;
-  PyObject *__pyx_v_obj = 0;
-  struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  hobj_ref_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("conv_pyref2objref", 0);
-
-  /* "h5py/_conv.pyx":355
- * cdef int conv_pyref2objref(void* ipt, void* opt, void* bkg, void* priv) except -1:
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt             # <<<<<<<<<<<<<<
- *     cdef hobj_ref_t* buf_ref = <hobj_ref_t*>opt
- * 
- */
-  __pyx_v_buf_obj = ((PyObject **)__pyx_v_ipt);
-
-  /* "h5py/_conv.pyx":356
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt
- *     cdef hobj_ref_t* buf_ref = <hobj_ref_t*>opt             # <<<<<<<<<<<<<<
- * 
- *     cdef object obj
- */
-  __pyx_v_buf_ref = ((hobj_ref_t *)__pyx_v_opt);
-
-  /* "h5py/_conv.pyx":361
- *     cdef Reference ref
- * 
- *     if buf_obj[0] != NULL and buf_obj[0] != Py_None:             # <<<<<<<<<<<<<<
- *         obj = <object>(buf_obj[0])
- *         if not isinstance(obj, Reference):
- */
-  __pyx_t_1 = ((__pyx_v_buf_obj[0]) != NULL);
-  if (__pyx_t_1) {
-    __pyx_t_2 = ((__pyx_v_buf_obj[0]) != Py_None);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_1;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/_conv.pyx":362
- * 
- *     if buf_obj[0] != NULL and buf_obj[0] != Py_None:
- *         obj = <object>(buf_obj[0])             # <<<<<<<<<<<<<<
- *         if not isinstance(obj, Reference):
- *             raise TypeError("Can't convert incompatible object to HDF5 object reference")
- */
-    __Pyx_INCREF(((PyObject *)(__pyx_v_buf_obj[0])));
-    __pyx_v_obj = ((PyObject *)(__pyx_v_buf_obj[0]));
-
-    /* "h5py/_conv.pyx":363
- *     if buf_obj[0] != NULL and buf_obj[0] != Py_None:
- *         obj = <object>(buf_obj[0])
- *         if not isinstance(obj, Reference):             # <<<<<<<<<<<<<<
- *             raise TypeError("Can't convert incompatible object to HDF5 object reference")
- *         ref = <Reference>(buf_obj[0])
- */
-    __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_obj, ((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)); 
-    __pyx_t_1 = (!__pyx_t_3);
-    if (__pyx_t_1) {
-
-      /* "h5py/_conv.pyx":364
- *         obj = <object>(buf_obj[0])
- *         if not isinstance(obj, Reference):
- *             raise TypeError("Can't convert incompatible object to HDF5 object reference")             # <<<<<<<<<<<<<<
- *         ref = <Reference>(buf_obj[0])
- *         buf_ref[0] = ref.ref.obj_ref
- */
-      __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_10), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-
-    /* "h5py/_conv.pyx":365
- *         if not isinstance(obj, Reference):
- *             raise TypeError("Can't convert incompatible object to HDF5 object reference")
- *         ref = <Reference>(buf_obj[0])             # <<<<<<<<<<<<<<
- *         buf_ref[0] = ref.ref.obj_ref
- *     else:
- */
-    __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5r_Reference *)(__pyx_v_buf_obj[0]))));
-    __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_Reference *)(__pyx_v_buf_obj[0]));
-
-    /* "h5py/_conv.pyx":366
- *             raise TypeError("Can't convert incompatible object to HDF5 object reference")
- *         ref = <Reference>(buf_obj[0])
- *         buf_ref[0] = ref.ref.obj_ref             # <<<<<<<<<<<<<<
- *     else:
- *         memset(buf_ref, c'\0', sizeof(hobj_ref_t))
- */
-    __pyx_t_5 = __pyx_v_ref->ref.obj_ref;
-    (__pyx_v_buf_ref[0]) = __pyx_t_5;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/_conv.pyx":368
- *         buf_ref[0] = ref.ref.obj_ref
- *     else:
- *         memset(buf_ref, c'\0', sizeof(hobj_ref_t))             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-    memset(__pyx_v_buf_ref, '\x00', (sizeof(hobj_ref_t)));
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":370
- *         memset(buf_ref, c'\0', sizeof(hobj_ref_t))
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef int conv_regref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py._conv.conv_pyref2objref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_obj);
-  __Pyx_XDECREF((PyObject *)__pyx_v_ref);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":372
- *     return 0
- * 
- * cdef int conv_regref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt
- */
-
-static int __pyx_f_4h5py_5_conv_conv_regref2pyref(void *__pyx_v_ipt, void *__pyx_v_opt, void *__pyx_v_bkg, CYTHON_UNUSED void *__pyx_v_priv) {
-  PyObject **__pyx_v_buf_obj;
-  PyObject **__pyx_v_bkg_obj;
-  hdset_reg_ref_t *__pyx_v_buf_ref;
-  struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_ref = 0;
-  PyObject *__pyx_v_ref_ptr;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("conv_regref2pyref", 0);
-
-  /* "h5py/_conv.pyx":374
- * cdef int conv_regref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt             # <<<<<<<<<<<<<<
- *     cdef PyObject** bkg_obj = <PyObject**>bkg
- *     cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>ipt
- */
-  __pyx_v_buf_obj = ((PyObject **)__pyx_v_opt);
-
-  /* "h5py/_conv.pyx":375
- * 
- *     cdef PyObject** buf_obj = <PyObject**>opt
- *     cdef PyObject** bkg_obj = <PyObject**>bkg             # <<<<<<<<<<<<<<
- *     cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>ipt
- * 
- */
-  __pyx_v_bkg_obj = ((PyObject **)__pyx_v_bkg);
-
-  /* "h5py/_conv.pyx":376
- *     cdef PyObject** buf_obj = <PyObject**>opt
- *     cdef PyObject** bkg_obj = <PyObject**>bkg
- *     cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>ipt             # <<<<<<<<<<<<<<
- * 
- *     cdef RegionReference ref = RegionReference()
- */
-  __pyx_v_buf_ref = ((hdset_reg_ref_t *)__pyx_v_ipt);
-
-  /* "h5py/_conv.pyx":378
- *     cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>ipt
- * 
- *     cdef RegionReference ref = RegionReference()             # <<<<<<<<<<<<<<
- *     cdef PyObject* ref_ptr = NULL
- * 
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_RegionReference *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/_conv.pyx":379
- * 
- *     cdef RegionReference ref = RegionReference()
- *     cdef PyObject* ref_ptr = NULL             # <<<<<<<<<<<<<<
- * 
- *     memcpy(ref.ref.reg_ref, buf_ref, sizeof(hdset_reg_ref_t))
- */
-  __pyx_v_ref_ptr = NULL;
-
-  /* "h5py/_conv.pyx":381
- *     cdef PyObject* ref_ptr = NULL
- * 
- *     memcpy(ref.ref.reg_ref, buf_ref, sizeof(hdset_reg_ref_t))             # <<<<<<<<<<<<<<
- * 
- *     ref.typecode = H5R_DATASET_REGION
- */
-  memcpy(__pyx_v_ref->__pyx_base.ref.reg_ref, __pyx_v_buf_ref, (sizeof(hdset_reg_ref_t)));
-
-  /* "h5py/_conv.pyx":383
- *     memcpy(ref.ref.reg_ref, buf_ref, sizeof(hdset_reg_ref_t))
- * 
- *     ref.typecode = H5R_DATASET_REGION             # <<<<<<<<<<<<<<
- * 
- *     ref_ptr = <PyObject*>ref
- */
-  __pyx_v_ref->__pyx_base.typecode = H5R_DATASET_REGION;
-
-  /* "h5py/_conv.pyx":385
- *     ref.typecode = H5R_DATASET_REGION
- * 
- *     ref_ptr = <PyObject*>ref             # <<<<<<<<<<<<<<
- *     Py_INCREF(ref_ptr)  # because Cython discards its reference when the
- *                         # function exits
- */
-  __pyx_v_ref_ptr = ((PyObject *)__pyx_v_ref);
-
-  /* "h5py/_conv.pyx":386
- * 
- *     ref_ptr = <PyObject*>ref
- *     Py_INCREF(ref_ptr)  # because Cython discards its reference when the             # <<<<<<<<<<<<<<
- *                         # function exits
- * 
- */
-  Py_INCREF(__pyx_v_ref_ptr);
-
-  /* "h5py/_conv.pyx":389
- *                         # function exits
- * 
- *     Py_XDECREF(bkg_obj[0])             # <<<<<<<<<<<<<<
- *     buf_obj[0] = ref_ptr
- * 
- */
-  Py_XDECREF((__pyx_v_bkg_obj[0]));
-
-  /* "h5py/_conv.pyx":390
- * 
- *     Py_XDECREF(bkg_obj[0])
- *     buf_obj[0] = ref_ptr             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  (__pyx_v_buf_obj[0]) = __pyx_v_ref_ptr;
-
-  /* "h5py/_conv.pyx":392
- *     buf_obj[0] = ref_ptr
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef int conv_pyref2regref(void* ipt, void* opt, void* bkg, void* priv) except -1:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._conv.conv_regref2pyref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_ref);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":394
- *     return 0
- * 
- * cdef int conv_pyref2regref(void* ipt, void* opt, void* bkg, void* priv) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt
- */
-
-static int __pyx_f_4h5py_5_conv_conv_pyref2regref(void *__pyx_v_ipt, void *__pyx_v_opt, CYTHON_UNUSED void *__pyx_v_bkg, CYTHON_UNUSED void *__pyx_v_priv) {
-  PyObject **__pyx_v_buf_obj;
-  hdset_reg_ref_t *__pyx_v_buf_ref;
-  PyObject *__pyx_v_obj = 0;
-  struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_ref = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("conv_pyref2regref", 0);
-
-  /* "h5py/_conv.pyx":396
- * cdef int conv_pyref2regref(void* ipt, void* opt, void* bkg, void* priv) except -1:
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt             # <<<<<<<<<<<<<<
- *     cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>opt
- * 
- */
-  __pyx_v_buf_obj = ((PyObject **)__pyx_v_ipt);
-
-  /* "h5py/_conv.pyx":397
- * 
- *     cdef PyObject** buf_obj = <PyObject**>ipt
- *     cdef hdset_reg_ref_t* buf_ref = <hdset_reg_ref_t*>opt             # <<<<<<<<<<<<<<
- * 
- *     cdef object obj
- */
-  __pyx_v_buf_ref = ((hdset_reg_ref_t *)__pyx_v_opt);
-
-  /* "h5py/_conv.pyx":402
- *     cdef RegionReference ref
- * 
- *     if buf_obj[0] != NULL and buf_obj[0] != Py_None:             # <<<<<<<<<<<<<<
- *         obj = <object>(buf_obj[0])
- *         if not isinstance(obj, RegionReference):
- */
-  __pyx_t_1 = ((__pyx_v_buf_obj[0]) != NULL);
-  if (__pyx_t_1) {
-    __pyx_t_2 = ((__pyx_v_buf_obj[0]) != Py_None);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_1;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/_conv.pyx":403
- * 
- *     if buf_obj[0] != NULL and buf_obj[0] != Py_None:
- *         obj = <object>(buf_obj[0])             # <<<<<<<<<<<<<<
- *         if not isinstance(obj, RegionReference):
- *             raise TypeError("Can't convert incompatible object to HDF5 region reference")
- */
-    __Pyx_INCREF(((PyObject *)(__pyx_v_buf_obj[0])));
-    __pyx_v_obj = ((PyObject *)(__pyx_v_buf_obj[0]));
-
-    /* "h5py/_conv.pyx":404
- *     if buf_obj[0] != NULL and buf_obj[0] != Py_None:
- *         obj = <object>(buf_obj[0])
- *         if not isinstance(obj, RegionReference):             # <<<<<<<<<<<<<<
- *             raise TypeError("Can't convert incompatible object to HDF5 region reference")
- *         ref = <RegionReference>(buf_obj[0])
- */
-    __pyx_t_3 = __Pyx_TypeCheck(__pyx_v_obj, ((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)); 
-    __pyx_t_1 = (!__pyx_t_3);
-    if (__pyx_t_1) {
-
-      /* "h5py/_conv.pyx":405
- *         obj = <object>(buf_obj[0])
- *         if not isinstance(obj, RegionReference):
- *             raise TypeError("Can't convert incompatible object to HDF5 region reference")             # <<<<<<<<<<<<<<
- *         ref = <RegionReference>(buf_obj[0])
- *         memcpy(buf_ref, ref.ref.reg_ref, sizeof(hdset_reg_ref_t))
- */
-      __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_12), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-
-    /* "h5py/_conv.pyx":406
- *         if not isinstance(obj, RegionReference):
- *             raise TypeError("Can't convert incompatible object to HDF5 region reference")
- *         ref = <RegionReference>(buf_obj[0])             # <<<<<<<<<<<<<<
- *         memcpy(buf_ref, ref.ref.reg_ref, sizeof(hdset_reg_ref_t))
- *     else:
- */
-    __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5r_RegionReference *)(__pyx_v_buf_obj[0]))));
-    __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_RegionReference *)(__pyx_v_buf_obj[0]));
-
-    /* "h5py/_conv.pyx":407
- *             raise TypeError("Can't convert incompatible object to HDF5 region reference")
- *         ref = <RegionReference>(buf_obj[0])
- *         memcpy(buf_ref, ref.ref.reg_ref, sizeof(hdset_reg_ref_t))             # <<<<<<<<<<<<<<
- *     else:
- *         memset(buf_ref, c'\0', sizeof(hdset_reg_ref_t))
- */
-    memcpy(__pyx_v_buf_ref, __pyx_v_ref->__pyx_base.ref.reg_ref, (sizeof(hdset_reg_ref_t)));
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/_conv.pyx":409
- *         memcpy(buf_ref, ref.ref.reg_ref, sizeof(hdset_reg_ref_t))
- *     else:
- *         memset(buf_ref, c'\0', sizeof(hdset_reg_ref_t))             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-    memset(__pyx_v_buf_ref, '\x00', (sizeof(hdset_reg_ref_t)));
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":411
- *         memset(buf_ref, c'\0', sizeof(hdset_reg_ref_t))
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py._conv.conv_pyref2regref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_obj);
-  __Pyx_XDECREF((PyObject *)__pyx_v_ref);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":417
- * 
- * 
- * cdef herr_t vlen2str(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_vlen2str(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("vlen2str", 0);
-
-  /* "h5py/_conv.pyx":421
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl,  conv_vlen2str, init_generic, H5T_BKG_YES)             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t str2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_generic_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_f_4h5py_5_conv_conv_vlen2str, __pyx_f_4h5py_5_conv_init_generic, H5T_BKG_YES); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.vlen2str", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":423
- *              buf_i, bkg_i, dxpl,  conv_vlen2str, init_generic, H5T_BKG_YES)
- * 
- * cdef herr_t str2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_str2vlen(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("str2vlen", 0);
-
-  /* "h5py/_conv.pyx":427
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, conv_str2vlen, init_generic, H5T_BKG_NO)             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t vlen2fixed(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_generic_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_f_4h5py_5_conv_conv_str2vlen, __pyx_f_4h5py_5_conv_init_generic, H5T_BKG_NO); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.str2vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":429
- *              buf_i, bkg_i, dxpl, conv_str2vlen, init_generic, H5T_BKG_NO)
- * 
- * cdef herr_t vlen2fixed(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_vlen2fixed(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("vlen2fixed", 0);
-
-  /* "h5py/_conv.pyx":433
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, conv_vlen2fixed, init_vlen2fixed, H5T_BKG_NO)             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t fixed2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_generic_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_f_4h5py_5_conv_conv_vlen2fixed, __pyx_f_4h5py_5_conv_init_vlen2fixed, H5T_BKG_NO); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 432; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.vlen2fixed", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":435
- *              buf_i, bkg_i, dxpl, conv_vlen2fixed, init_vlen2fixed, H5T_BKG_NO)
- * 
- * cdef herr_t fixed2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_fixed2vlen(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("fixed2vlen", 0);
-
-  /* "h5py/_conv.pyx":439
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, conv_fixed2vlen, init_fixed2vlen, H5T_BKG_NO)             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t objref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_generic_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_f_4h5py_5_conv_conv_fixed2vlen, __pyx_f_4h5py_5_conv_init_fixed2vlen, H5T_BKG_NO); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.fixed2vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":441
- *              buf_i, bkg_i, dxpl, conv_fixed2vlen, init_fixed2vlen, H5T_BKG_NO)
- * 
- * cdef herr_t objref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_objref2pyref(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("objref2pyref", 0);
-
-  /* "h5py/_conv.pyx":445
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_YES)             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t pyref2objref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_generic_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_f_4h5py_5_conv_conv_objref2pyref, __pyx_f_4h5py_5_conv_init_generic, H5T_BKG_YES); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.objref2pyref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":447
- *              buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_YES)
- * 
- * cdef herr_t pyref2objref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_pyref2objref(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("pyref2objref", 0);
-
-  /* "h5py/_conv.pyx":451
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, conv_pyref2objref, init_generic, H5T_BKG_NO)             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t regref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_generic_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_f_4h5py_5_conv_conv_pyref2objref, __pyx_f_4h5py_5_conv_init_generic, H5T_BKG_NO); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.pyref2objref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":453
- *              buf_i, bkg_i, dxpl, conv_pyref2objref, init_generic, H5T_BKG_NO)
- * 
- * cdef herr_t regref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_regref2pyref(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("regref2pyref", 0);
-
-  /* "h5py/_conv.pyx":457
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, conv_regref2pyref, init_generic, H5T_BKG_YES)             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t pyref2regref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_generic_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_f_4h5py_5_conv_conv_regref2pyref, __pyx_f_4h5py_5_conv_init_generic, H5T_BKG_YES); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.regref2pyref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":459
- *              buf_i, bkg_i, dxpl, conv_regref2pyref, init_generic, H5T_BKG_YES)
- * 
- * cdef herr_t pyref2regref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_pyref2regref(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("pyref2regref", 0);
-
-  /* "h5py/_conv.pyx":463
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, conv_pyref2regref, init_generic, H5T_BKG_NO)             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_generic_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_f_4h5py_5_conv_conv_pyref2regref, __pyx_f_4h5py_5_conv_init_generic, H5T_BKG_NO); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.pyref2regref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":475
- * 
- * 
- * cdef int enum_int_converter_init(hid_t src, hid_t dst,             # <<<<<<<<<<<<<<
- *                                  H5T_cdata_t *cdata, int forward) except -1 with gil:
- *     cdef conv_enum_t *info
- */
-
-static int __pyx_f_4h5py_5_conv_enum_int_converter_init(hid_t __pyx_v_src, hid_t __pyx_v_dst, H5T_cdata_t *__pyx_v_cdata, CYTHON_UNUSED int __pyx_v_forward) {
-  struct __pyx_t_4h5py_5_conv_conv_enum_t *__pyx_v_info;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  struct __pyx_t_4h5py_5_conv_conv_enum_t *__pyx_t_1;
-  size_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  #ifdef WITH_THREAD
-  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();
-  #endif
-  __Pyx_RefNannySetupContext("enum_int_converter_init", 0);
-
-  /* "h5py/_conv.pyx":479
- *     cdef conv_enum_t *info
- * 
- *     cdata[0].need_bkg = H5T_BKG_NO             # <<<<<<<<<<<<<<
- *     cdata[0].priv = info = <conv_enum_t*>malloc(sizeof(conv_enum_t))
- *     info[0].src_size = H5Tget_size(src)
- */
-  (__pyx_v_cdata[0]).need_bkg = H5T_BKG_NO;
-
-  /* "h5py/_conv.pyx":480
- * 
- *     cdata[0].need_bkg = H5T_BKG_NO
- *     cdata[0].priv = info = <conv_enum_t*>malloc(sizeof(conv_enum_t))             # <<<<<<<<<<<<<<
- *     info[0].src_size = H5Tget_size(src)
- *     info[0].dst_size = H5Tget_size(dst)
- */
-  __pyx_t_1 = ((struct __pyx_t_4h5py_5_conv_conv_enum_t *)malloc((sizeof(struct __pyx_t_4h5py_5_conv_conv_enum_t))));
-  (__pyx_v_cdata[0]).priv = __pyx_t_1;
-  __pyx_v_info = __pyx_t_1;
-
-  /* "h5py/_conv.pyx":481
- *     cdata[0].need_bkg = H5T_BKG_NO
- *     cdata[0].priv = info = <conv_enum_t*>malloc(sizeof(conv_enum_t))
- *     info[0].src_size = H5Tget_size(src)             # <<<<<<<<<<<<<<
- *     info[0].dst_size = H5Tget_size(dst)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_info[0]).src_size = __pyx_t_2;
-
-  /* "h5py/_conv.pyx":482
- *     cdata[0].priv = info = <conv_enum_t*>malloc(sizeof(conv_enum_t))
- *     info[0].src_size = H5Tget_size(src)
- *     info[0].dst_size = H5Tget_size(dst)             # <<<<<<<<<<<<<<
- * 
- * cdef void enum_int_converter_free(H5T_cdata_t *cdata):
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_info[0]).dst_size = __pyx_t_2;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.enum_int_converter_init", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #ifdef WITH_THREAD
-  PyGILState_Release(__pyx_gilstate_save);
-  #endif
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":484
- *     info[0].dst_size = H5Tget_size(dst)
- * 
- * cdef void enum_int_converter_free(H5T_cdata_t *cdata):             # <<<<<<<<<<<<<<
- *     cdef conv_enum_t *info
- * 
- */
-
-static void __pyx_f_4h5py_5_conv_enum_int_converter_free(H5T_cdata_t *__pyx_v_cdata) {
-  struct __pyx_t_4h5py_5_conv_conv_enum_t *__pyx_v_info;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("enum_int_converter_free", 0);
-
-  /* "h5py/_conv.pyx":487
- *     cdef conv_enum_t *info
- * 
- *     info = <conv_enum_t*>cdata[0].priv             # <<<<<<<<<<<<<<
- *     free(info)
- *     cdata[0].priv = NULL
- */
-  __pyx_v_info = ((struct __pyx_t_4h5py_5_conv_conv_enum_t *)(__pyx_v_cdata[0]).priv);
-
-  /* "h5py/_conv.pyx":488
- * 
- *     info = <conv_enum_t*>cdata[0].priv
- *     free(info)             # <<<<<<<<<<<<<<
- *     cdata[0].priv = NULL
- * 
- */
-  free(__pyx_v_info);
-
-  /* "h5py/_conv.pyx":489
- *     info = <conv_enum_t*>cdata[0].priv
- *     free(info)
- *     cdata[0].priv = NULL             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  (__pyx_v_cdata[0]).priv = NULL;
-
-  __Pyx_RefNannyFinishContext();
-}
-
-/* "h5py/_conv.pyx":492
- * 
- * 
- * cdef int enum_int_converter_conv(hid_t src, hid_t dst, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                                   size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                                  void *bkg_i, hid_t dxpl, int forward) except -1 with gil:
- */
-
-static int __pyx_f_4h5py_5_conv_enum_int_converter_conv(hid_t __pyx_v_src, hid_t __pyx_v_dst, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, CYTHON_UNUSED size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, CYTHON_UNUSED void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl, int __pyx_v_forward) {
-  struct __pyx_t_4h5py_5_conv_conv_enum_t *__pyx_v_info;
-  size_t __pyx_v_nalloc;
-  int __pyx_v_i;
-  char *__pyx_v_cbuf;
-  char *__pyx_v_buf;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  htri_t __pyx_t_2;
-  int __pyx_t_3;
-  herr_t __pyx_t_4;
-  size_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  #ifdef WITH_THREAD
-  PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();
-  #endif
-  __Pyx_RefNannySetupContext("enum_int_converter_conv", 0);
-
-  /* "h5py/_conv.pyx":498
- *     cdef size_t nalloc
- *     cdef int i
- *     cdef char* cbuf = NULL             # <<<<<<<<<<<<<<
- *     cdef char* buf = <char*>buf_i
- * 
- */
-  __pyx_v_cbuf = NULL;
-
-  /* "h5py/_conv.pyx":499
- *     cdef int i
- *     cdef char* cbuf = NULL
- *     cdef char* buf = <char*>buf_i             # <<<<<<<<<<<<<<
- * 
- *     info = <conv_enum_t*>cdata[0].priv
- */
-  __pyx_v_buf = ((char *)__pyx_v_buf_i);
-
-  /* "h5py/_conv.pyx":501
- *     cdef char* buf = <char*>buf_i
- * 
- *     info = <conv_enum_t*>cdata[0].priv             # <<<<<<<<<<<<<<
- * 
- *     if forward:
- */
-  __pyx_v_info = ((struct __pyx_t_4h5py_5_conv_conv_enum_t *)(__pyx_v_cdata[0]).priv);
-
-  /* "h5py/_conv.pyx":503
- *     info = <conv_enum_t*>cdata[0].priv
- * 
- *     if forward:             # <<<<<<<<<<<<<<
- *         info[0].supertype = H5Tget_super(src)
- *         info[0].identical = H5Tequal(info[0].supertype, dst)
- */
-  if (__pyx_v_forward) {
-
-    /* "h5py/_conv.pyx":504
- * 
- *     if forward:
- *         info[0].supertype = H5Tget_super(src)             # <<<<<<<<<<<<<<
- *         info[0].identical = H5Tequal(info[0].supertype, dst)
- *     else:
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_super(__pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    (__pyx_v_info[0]).supertype = __pyx_t_1;
-
-    /* "h5py/_conv.pyx":505
- *     if forward:
- *         info[0].supertype = H5Tget_super(src)
- *         info[0].identical = H5Tequal(info[0].supertype, dst)             # <<<<<<<<<<<<<<
- *     else:
- *         info[0].supertype = H5Tget_super(dst)
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tequal((__pyx_v_info[0]).supertype, __pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    (__pyx_v_info[0]).identical = __pyx_t_2;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/_conv.pyx":507
- *         info[0].identical = H5Tequal(info[0].supertype, dst)
- *     else:
- *         info[0].supertype = H5Tget_super(dst)             # <<<<<<<<<<<<<<
- *         info[0].identical = H5Tequal(info[0].supertype, src)
- * 
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_super(__pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    (__pyx_v_info[0]).supertype = __pyx_t_1;
-
-    /* "h5py/_conv.pyx":508
- *     else:
- *         info[0].supertype = H5Tget_super(dst)
- *         info[0].identical = H5Tequal(info[0].supertype, src)             # <<<<<<<<<<<<<<
- * 
- *     # Short-circuit success
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tequal((__pyx_v_info[0]).supertype, __pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    (__pyx_v_info[0]).identical = __pyx_t_2;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":511
- * 
- *     # Short-circuit success
- *     if info[0].identical:             # <<<<<<<<<<<<<<
- *         return 0
- * 
- */
-  if ((__pyx_v_info[0]).identical) {
-
-    /* "h5py/_conv.pyx":512
- *     # Short-circuit success
- *     if info[0].identical:
- *         return 0             # <<<<<<<<<<<<<<
- * 
- *     if buf_stride == 0:
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/_conv.pyx":514
- *         return 0
- * 
- *     if buf_stride == 0:             # <<<<<<<<<<<<<<
- *         # Contiguous case: call H5Tconvert directly
- *         if forward:
- */
-  __pyx_t_3 = (__pyx_v_buf_stride == 0);
-  if (__pyx_t_3) {
-
-    /* "h5py/_conv.pyx":516
- *     if buf_stride == 0:
- *         # Contiguous case: call H5Tconvert directly
- *         if forward:             # <<<<<<<<<<<<<<
- *             H5Tconvert(info[0].supertype, dst, nl, buf, NULL, dxpl)
- *         else:
- */
-    if (__pyx_v_forward) {
-
-      /* "h5py/_conv.pyx":517
- *         # Contiguous case: call H5Tconvert directly
- *         if forward:
- *             H5Tconvert(info[0].supertype, dst, nl, buf, NULL, dxpl)             # <<<<<<<<<<<<<<
- *         else:
- *             H5Tconvert(src, info[0].supertype, nl, buf, NULL, dxpl)
- */
-      __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tconvert((__pyx_v_info[0]).supertype, __pyx_v_dst, __pyx_v_nl, __pyx_v_buf, NULL, __pyx_v_dxpl); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/_conv.pyx":519
- *             H5Tconvert(info[0].supertype, dst, nl, buf, NULL, dxpl)
- *         else:
- *             H5Tconvert(src, info[0].supertype, nl, buf, NULL, dxpl)             # <<<<<<<<<<<<<<
- *     else:
- *         # Non-contiguous: gather, convert and then scatter
- */
-      __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_src, (__pyx_v_info[0]).supertype, __pyx_v_nl, __pyx_v_buf, NULL, __pyx_v_dxpl); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-    __pyx_L6:;
-    goto __pyx_L5;
-  }
-  /*else*/ {
-
-    /* "h5py/_conv.pyx":522
- *     else:
- *         # Non-contiguous: gather, convert and then scatter
- *         if info[0].src_size > info[0].dst_size:             # <<<<<<<<<<<<<<
- *             nalloc = info[0].src_size*nl
- *         else:
- */
-    __pyx_t_3 = ((__pyx_v_info[0]).src_size > (__pyx_v_info[0]).dst_size);
-    if (__pyx_t_3) {
-
-      /* "h5py/_conv.pyx":523
- *         # Non-contiguous: gather, convert and then scatter
- *         if info[0].src_size > info[0].dst_size:
- *             nalloc = info[0].src_size*nl             # <<<<<<<<<<<<<<
- *         else:
- *             nalloc = info[0].dst_size*nl
- */
-      __pyx_v_nalloc = ((__pyx_v_info[0]).src_size * __pyx_v_nl);
-      goto __pyx_L7;
-    }
-    /*else*/ {
-
-      /* "h5py/_conv.pyx":525
- *             nalloc = info[0].src_size*nl
- *         else:
- *             nalloc = info[0].dst_size*nl             # <<<<<<<<<<<<<<
- * 
- *         cbuf = <char*>malloc(nalloc)
- */
-      __pyx_v_nalloc = ((__pyx_v_info[0]).dst_size * __pyx_v_nl);
-    }
-    __pyx_L7:;
-
-    /* "h5py/_conv.pyx":527
- *             nalloc = info[0].dst_size*nl
- * 
- *         cbuf = <char*>malloc(nalloc)             # <<<<<<<<<<<<<<
- *         if cbuf == NULL:
- *             raise MemoryError()
- */
-    __pyx_v_cbuf = ((char *)malloc(__pyx_v_nalloc));
-
-    /* "h5py/_conv.pyx":528
- * 
- *         cbuf = <char*>malloc(nalloc)
- *         if cbuf == NULL:             # <<<<<<<<<<<<<<
- *             raise MemoryError()
- *         try:
- */
-    __pyx_t_3 = (__pyx_v_cbuf == NULL);
-    if (__pyx_t_3) {
-
-      /* "h5py/_conv.pyx":529
- *         cbuf = <char*>malloc(nalloc)
- *         if cbuf == NULL:
- *             raise MemoryError()             # <<<<<<<<<<<<<<
- *         try:
- *             for i from 0<=i<nl:
- */
-      PyErr_NoMemory(); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L8;
-    }
-    __pyx_L8:;
-
-    /* "h5py/_conv.pyx":530
- *         if cbuf == NULL:
- *             raise MemoryError()
- *         try:             # <<<<<<<<<<<<<<
- *             for i from 0<=i<nl:
- *                 memcpy(cbuf + (i*info[0].src_size), buf + (i*buf_stride),
- */
-    /*try:*/ {
-
-      /* "h5py/_conv.pyx":531
- *             raise MemoryError()
- *         try:
- *             for i from 0<=i<nl:             # <<<<<<<<<<<<<<
- *                 memcpy(cbuf + (i*info[0].src_size), buf + (i*buf_stride),
- *                         info[0].src_size)
- */
-      __pyx_t_5 = __pyx_v_nl;
-      for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) {
-
-        /* "h5py/_conv.pyx":533
- *             for i from 0<=i<nl:
- *                 memcpy(cbuf + (i*info[0].src_size), buf + (i*buf_stride),
- *                         info[0].src_size)             # <<<<<<<<<<<<<<
- * 
- *             if forward:
- */
-        memcpy((__pyx_v_cbuf + (__pyx_v_i * (__pyx_v_info[0]).src_size)), (__pyx_v_buf + (__pyx_v_i * __pyx_v_buf_stride)), (__pyx_v_info[0]).src_size);
-      }
-
-      /* "h5py/_conv.pyx":535
- *                         info[0].src_size)
- * 
- *             if forward:             # <<<<<<<<<<<<<<
- *                 H5Tconvert(info[0].supertype, dst, nl, cbuf, NULL, dxpl)
- *             else:
- */
-      if (__pyx_v_forward) {
-
-        /* "h5py/_conv.pyx":536
- * 
- *             if forward:
- *                 H5Tconvert(info[0].supertype, dst, nl, cbuf, NULL, dxpl)             # <<<<<<<<<<<<<<
- *             else:
- *                 H5Tconvert(src, info[0].supertype, nl, cbuf, NULL, dxpl)
- */
-        __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tconvert((__pyx_v_info[0]).supertype, __pyx_v_dst, __pyx_v_nl, __pyx_v_cbuf, NULL, __pyx_v_dxpl); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L10;}
-        goto __pyx_L14;
-      }
-      /*else*/ {
-
-        /* "h5py/_conv.pyx":538
- *                 H5Tconvert(info[0].supertype, dst, nl, cbuf, NULL, dxpl)
- *             else:
- *                 H5Tconvert(src, info[0].supertype, nl, cbuf, NULL, dxpl)             # <<<<<<<<<<<<<<
- * 
- *             for i from 0<=i<nl:
- */
-        __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_src, (__pyx_v_info[0]).supertype, __pyx_v_nl, __pyx_v_cbuf, NULL, __pyx_v_dxpl); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L10;}
-      }
-      __pyx_L14:;
-
-      /* "h5py/_conv.pyx":540
- *                 H5Tconvert(src, info[0].supertype, nl, cbuf, NULL, dxpl)
- * 
- *             for i from 0<=i<nl:             # <<<<<<<<<<<<<<
- *                 memcpy(buf + (i*buf_stride), cbuf + (i*info[0].dst_size),
- *                         info[0].dst_size)
- */
-      __pyx_t_5 = __pyx_v_nl;
-      for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) {
-
-        /* "h5py/_conv.pyx":542
- *             for i from 0<=i<nl:
- *                 memcpy(buf + (i*buf_stride), cbuf + (i*info[0].dst_size),
- *                         info[0].dst_size)             # <<<<<<<<<<<<<<
- *         finally:
- *             free(cbuf)
- */
-        memcpy((__pyx_v_buf + (__pyx_v_i * __pyx_v_buf_stride)), (__pyx_v_cbuf + (__pyx_v_i * (__pyx_v_info[0]).dst_size)), (__pyx_v_info[0]).dst_size);
-      }
-    }
-
-    /* "h5py/_conv.pyx":544
- *                         info[0].dst_size)
- *         finally:
- *             free(cbuf)             # <<<<<<<<<<<<<<
- *             cbuf = NULL
- *     return 0
- */
-    /*finally:*/ {
-      int __pyx_why;
-      PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-      int __pyx_exc_lineno;
-      __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-      __pyx_why = 0; goto __pyx_L11;
-      __pyx_L10: {
-        __pyx_why = 4;
-        __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-        __pyx_exc_lineno = __pyx_lineno;
-        goto __pyx_L11;
-      }
-      __pyx_L11:;
-      free(__pyx_v_cbuf);
-
-      /* "h5py/_conv.pyx":545
- *         finally:
- *             free(cbuf)
- *             cbuf = NULL             # <<<<<<<<<<<<<<
- *     return 0
- * 
- */
-      __pyx_v_cbuf = NULL;
-      switch (__pyx_why) {
-        case 4: {
-          __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-          __pyx_lineno = __pyx_exc_lineno;
-          __pyx_exc_type = 0;
-          __pyx_exc_value = 0;
-          __pyx_exc_tb = 0;
-          goto __pyx_L1_error;
-        }
-      }
-    }
-  }
-  __pyx_L5:;
-
-  /* "h5py/_conv.pyx":546
- *             free(cbuf)
- *             cbuf = NULL
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.enum_int_converter_conv", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #ifdef WITH_THREAD
-  PyGILState_Release(__pyx_gilstate_save);
-  #endif
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":550
- * 
- * # Direction ("forward"): 1 = enum to int, 0 = int to enum
- * cdef herr_t enum_int_converter(hid_t src, hid_t dst, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                                void *bkg_i, hid_t dxpl, int forward) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_enum_int_converter(hid_t __pyx_v_src, hid_t __pyx_v_dst, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl, int __pyx_v_forward) {
-  int __pyx_v_command;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  H5T_cmd_t __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("enum_int_converter", 0);
-
-  /* "h5py/_conv.pyx":554
- *                                void *bkg_i, hid_t dxpl, int forward) except -1:
- * 
- *     cdef int command = cdata[0].command             # <<<<<<<<<<<<<<
- * 
- *     if command == H5T_CONV_INIT:
- */
-  __pyx_t_1 = (__pyx_v_cdata[0]).command;
-  __pyx_v_command = __pyx_t_1;
-
-  /* "h5py/_conv.pyx":556
- *     cdef int command = cdata[0].command
- * 
- *     if command == H5T_CONV_INIT:             # <<<<<<<<<<<<<<
- *         enum_int_converter_init(src, dst, cdata, forward)
- *     elif command == H5T_CONV_FREE:
- */
-  __pyx_t_2 = (__pyx_v_command == H5T_CONV_INIT);
-  if (__pyx_t_2) {
-
-    /* "h5py/_conv.pyx":557
- * 
- *     if command == H5T_CONV_INIT:
- *         enum_int_converter_init(src, dst, cdata, forward)             # <<<<<<<<<<<<<<
- *     elif command == H5T_CONV_FREE:
- *         enum_int_converter_free(cdata)
- */
-    __pyx_t_3 = __pyx_f_4h5py_5_conv_enum_int_converter_init(__pyx_v_src, __pyx_v_dst, __pyx_v_cdata, __pyx_v_forward); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_conv.pyx":558
- *     if command == H5T_CONV_INIT:
- *         enum_int_converter_init(src, dst, cdata, forward)
- *     elif command == H5T_CONV_FREE:             # <<<<<<<<<<<<<<
- *         enum_int_converter_free(cdata)
- *     elif command == H5T_CONV_CONV:
- */
-  __pyx_t_2 = (__pyx_v_command == H5T_CONV_FREE);
-  if (__pyx_t_2) {
-
-    /* "h5py/_conv.pyx":559
- *         enum_int_converter_init(src, dst, cdata, forward)
- *     elif command == H5T_CONV_FREE:
- *         enum_int_converter_free(cdata)             # <<<<<<<<<<<<<<
- *     elif command == H5T_CONV_CONV:
- *         return enum_int_converter_conv(src, dst, cdata, nl, buf_stride,
- */
-    __pyx_f_4h5py_5_conv_enum_int_converter_free(__pyx_v_cdata);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_conv.pyx":560
- *     elif command == H5T_CONV_FREE:
- *         enum_int_converter_free(cdata)
- *     elif command == H5T_CONV_CONV:             # <<<<<<<<<<<<<<
- *         return enum_int_converter_conv(src, dst, cdata, nl, buf_stride,
- *                                        bkg_stride, buf_i, bkg_i, dxpl, forward)
- */
-  __pyx_t_2 = (__pyx_v_command == H5T_CONV_CONV);
-  if (__pyx_t_2) {
-
-    /* "h5py/_conv.pyx":562
- *     elif command == H5T_CONV_CONV:
- *         return enum_int_converter_conv(src, dst, cdata, nl, buf_stride,
- *                                        bkg_stride, buf_i, bkg_i, dxpl, forward)             # <<<<<<<<<<<<<<
- *     else:
- *         return -2
- */
-    __pyx_t_3 = __pyx_f_4h5py_5_conv_enum_int_converter_conv(__pyx_v_src, __pyx_v_dst, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, __pyx_v_forward); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_r = __pyx_t_3;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/_conv.pyx":564
- *                                        bkg_stride, buf_i, bkg_i, dxpl, forward)
- *     else:
- *         return -2             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-    __pyx_r = -2;
-    goto __pyx_L0;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_conv.pyx":566
- *         return -2
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.enum_int_converter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":569
- * 
- * 
- * cdef herr_t enum2int(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_enum2int(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("enum2int", 0);
-
-  /* "h5py/_conv.pyx":573
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return enum_int_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, 1)             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t int2enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_enum_int_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, 1); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.enum2int", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":575
- *              buf_i, bkg_i, dxpl, 1)
- * 
- * cdef herr_t int2enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,             # <<<<<<<<<<<<<<
- *                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
- *                     void *bkg_i, hid_t dxpl) except -1:
- */
-
-static herr_t __pyx_f_4h5py_5_conv_int2enum(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t *__pyx_v_cdata, size_t __pyx_v_nl, size_t __pyx_v_buf_stride, size_t __pyx_v_bkg_stride, void *__pyx_v_buf_i, void *__pyx_v_bkg_i, hid_t __pyx_v_dxpl) {
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("int2enum", 0);
-
-  /* "h5py/_conv.pyx":579
- *                     void *bkg_i, hid_t dxpl) except -1:
- *     return enum_int_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
- *              buf_i, bkg_i, dxpl, 0)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_enum_int_converter(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_cdata, __pyx_v_nl, __pyx_v_buf_stride, __pyx_v_bkg_stride, __pyx_v_buf_i, __pyx_v_bkg_i, __pyx_v_dxpl, 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.int2enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":582
- * 
- * 
- * cpdef int register_converters() except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef hid_t vlstring
- */
-
-static PyObject *__pyx_pw_4h5py_5_conv_3register_converters(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static int __pyx_f_4h5py_5_conv_register_converters(CYTHON_UNUSED int __pyx_skip_dispatch) {
-  hid_t __pyx_v_vlstring;
-  hid_t __pyx_v_pyobj;
-  hid_t __pyx_v_enum;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  herr_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("register_converters", 0);
-
-  /* "h5py/_conv.pyx":588
- *     cdef hid_t enum
- * 
- *     vlstring = H5Tcopy(H5T_C_S1)             # <<<<<<<<<<<<<<
- *     H5Tset_size(vlstring, H5T_VARIABLE)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(H5T_C_S1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_vlstring = __pyx_t_1;
-
-  /* "h5py/_conv.pyx":589
- * 
- *     vlstring = H5Tcopy(H5T_C_S1)
- *     H5Tset_size(vlstring, H5T_VARIABLE)             # <<<<<<<<<<<<<<
- * 
- *     enum = H5Tenum_create(H5T_STD_I32LE)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_vlstring, H5T_VARIABLE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":591
- *     H5Tset_size(vlstring, H5T_VARIABLE)
- * 
- *     enum = H5Tenum_create(H5T_STD_I32LE)             # <<<<<<<<<<<<<<
- * 
- *     pyobj = get_python_obj()
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_create(H5T_STD_I32LE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_enum = __pyx_t_1;
-
-  /* "h5py/_conv.pyx":593
- *     enum = H5Tenum_create(H5T_STD_I32LE)
- * 
- *     pyobj = get_python_obj()             # <<<<<<<<<<<<<<
- * 
- *     H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
- */
-  __pyx_v_pyobj = __pyx_f_4h5py_5_conv_get_python_obj(0);
-
-  /* "h5py/_conv.pyx":595
- *     pyobj = get_python_obj()
- * 
- *     H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)             # <<<<<<<<<<<<<<
- *     H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_HARD, __pyx_k__vlen2str, __pyx_v_vlstring, __pyx_v_pyobj, __pyx_f_4h5py_5_conv_vlen2str); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":596
- * 
- *     H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
- *     H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)             # <<<<<<<<<<<<<<
- * 
- *     H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_HARD, __pyx_k__str2vlen, __pyx_v_pyobj, __pyx_v_vlstring, __pyx_f_4h5py_5_conv_str2vlen); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 596; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":598
- *     H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)
- * 
- *     H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)             # <<<<<<<<<<<<<<
- *     H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_SOFT, __pyx_k__vlen2fixed, __pyx_v_vlstring, H5T_C_S1, __pyx_f_4h5py_5_conv_vlen2fixed); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":599
- * 
- *     H5Tregister(H5T_PERS_SOFT, "vlen2fixed", vlstring, H5T_C_S1, vlen2fixed)
- *     H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)             # <<<<<<<<<<<<<<
- * 
- *     H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_SOFT, __pyx_k__fixed2vlen, H5T_C_S1, __pyx_v_vlstring, __pyx_f_4h5py_5_conv_fixed2vlen); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":601
- *     H5Tregister(H5T_PERS_SOFT, "fixed2vlen", H5T_C_S1, vlstring, fixed2vlen)
- * 
- *     H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)             # <<<<<<<<<<<<<<
- *     H5Tregister(H5T_PERS_HARD, "pyref2objref", pyobj, H5T_STD_REF_OBJ, pyref2objref)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_HARD, __pyx_k__objref2pyref, H5T_STD_REF_OBJ, __pyx_v_pyobj, __pyx_f_4h5py_5_conv_objref2pyref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":602
- * 
- *     H5Tregister(H5T_PERS_HARD, "objref2pyref", H5T_STD_REF_OBJ, pyobj, objref2pyref)
- *     H5Tregister(H5T_PERS_HARD, "pyref2objref", pyobj, H5T_STD_REF_OBJ, pyref2objref)             # <<<<<<<<<<<<<<
- * 
- *     H5Tregister(H5T_PERS_HARD, "regref2pyref", H5T_STD_REF_DSETREG, pyobj, regref2pyref)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_HARD, __pyx_k__pyref2objref, __pyx_v_pyobj, H5T_STD_REF_OBJ, __pyx_f_4h5py_5_conv_pyref2objref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":604
- *     H5Tregister(H5T_PERS_HARD, "pyref2objref", pyobj, H5T_STD_REF_OBJ, pyref2objref)
- * 
- *     H5Tregister(H5T_PERS_HARD, "regref2pyref", H5T_STD_REF_DSETREG, pyobj, regref2pyref)             # <<<<<<<<<<<<<<
- *     H5Tregister(H5T_PERS_HARD, "pyref2regref", pyobj, H5T_STD_REF_DSETREG, pyref2regref)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_HARD, __pyx_k__regref2pyref, H5T_STD_REF_DSETREG, __pyx_v_pyobj, __pyx_f_4h5py_5_conv_regref2pyref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":605
- * 
- *     H5Tregister(H5T_PERS_HARD, "regref2pyref", H5T_STD_REF_DSETREG, pyobj, regref2pyref)
- *     H5Tregister(H5T_PERS_HARD, "pyref2regref", pyobj, H5T_STD_REF_DSETREG, pyref2regref)             # <<<<<<<<<<<<<<
- * 
- *     H5Tregister(H5T_PERS_SOFT, "enum2int", enum, H5T_STD_I32LE, enum2int)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_HARD, __pyx_k__pyref2regref, __pyx_v_pyobj, H5T_STD_REF_DSETREG, __pyx_f_4h5py_5_conv_pyref2regref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":607
- *     H5Tregister(H5T_PERS_HARD, "pyref2regref", pyobj, H5T_STD_REF_DSETREG, pyref2regref)
- * 
- *     H5Tregister(H5T_PERS_SOFT, "enum2int", enum, H5T_STD_I32LE, enum2int)             # <<<<<<<<<<<<<<
- *     H5Tregister(H5T_PERS_SOFT, "int2enum", H5T_STD_I32LE, enum, int2enum)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_SOFT, __pyx_k__enum2int, __pyx_v_enum, H5T_STD_I32LE, __pyx_f_4h5py_5_conv_enum2int); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":608
- * 
- *     H5Tregister(H5T_PERS_SOFT, "enum2int", enum, H5T_STD_I32LE, enum2int)
- *     H5Tregister(H5T_PERS_SOFT, "int2enum", H5T_STD_I32LE, enum, int2enum)             # <<<<<<<<<<<<<<
- * 
- *     H5Tclose(vlstring)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tregister(H5T_PERS_SOFT, __pyx_k__int2enum, H5T_STD_I32LE, __pyx_v_enum, __pyx_f_4h5py_5_conv_int2enum); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":610
- *     H5Tregister(H5T_PERS_SOFT, "int2enum", H5T_STD_I32LE, enum, int2enum)
- * 
- *     H5Tclose(vlstring)             # <<<<<<<<<<<<<<
- *     H5Tclose(enum)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_vlstring); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 610; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":611
- * 
- *     H5Tclose(vlstring)
- *     H5Tclose(enum)             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_enum); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":613
- *     H5Tclose(enum)
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cpdef int unregister_converters() except -1:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.register_converters", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_5_conv_3register_converters(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_5_conv_3register_converters(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("register_converters (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_5_conv_2register_converters(__pyx_self);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":582
- * 
- * 
- * cpdef int register_converters() except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef hid_t vlstring
- */
-
-static PyObject *__pyx_pf_4h5py_5_conv_2register_converters(CYTHON_UNUSED PyObject *__pyx_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("register_converters", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_register_converters(0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._conv.register_converters", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":615
- *     return 0
- * 
- * cpdef int unregister_converters() except -1:             # <<<<<<<<<<<<<<
- * 
- *     H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)
- */
-
-static PyObject *__pyx_pw_4h5py_5_conv_5unregister_converters(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static int __pyx_f_4h5py_5_conv_unregister_converters(CYTHON_UNUSED int __pyx_skip_dispatch) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("unregister_converters", 0);
-
-  /* "h5py/_conv.pyx":617
- * cpdef int unregister_converters() except -1:
- * 
- *     H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)             # <<<<<<<<<<<<<<
- *     H5Tunregister(H5T_PERS_HARD, "str2vlen", -1, -1, str2vlen)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_HARD, __pyx_k__vlen2str, -1, -1, __pyx_f_4h5py_5_conv_vlen2str); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":618
- * 
- *     H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)
- *     H5Tunregister(H5T_PERS_HARD, "str2vlen", -1, -1, str2vlen)             # <<<<<<<<<<<<<<
- * 
- *     H5Tunregister(H5T_PERS_SOFT, "vlen2fixed", -1, -1, vlen2fixed)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_HARD, __pyx_k__str2vlen, -1, -1, __pyx_f_4h5py_5_conv_str2vlen); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":620
- *     H5Tunregister(H5T_PERS_HARD, "str2vlen", -1, -1, str2vlen)
- * 
- *     H5Tunregister(H5T_PERS_SOFT, "vlen2fixed", -1, -1, vlen2fixed)             # <<<<<<<<<<<<<<
- *     H5Tunregister(H5T_PERS_SOFT, "fixed2vlen", -1, -1, fixed2vlen)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_SOFT, __pyx_k__vlen2fixed, -1, -1, __pyx_f_4h5py_5_conv_vlen2fixed); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":621
- * 
- *     H5Tunregister(H5T_PERS_SOFT, "vlen2fixed", -1, -1, vlen2fixed)
- *     H5Tunregister(H5T_PERS_SOFT, "fixed2vlen", -1, -1, fixed2vlen)             # <<<<<<<<<<<<<<
- * 
- *     H5Tunregister(H5T_PERS_HARD, "objref2pyref", -1, -1, objref2pyref)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_SOFT, __pyx_k__fixed2vlen, -1, -1, __pyx_f_4h5py_5_conv_fixed2vlen); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":623
- *     H5Tunregister(H5T_PERS_SOFT, "fixed2vlen", -1, -1, fixed2vlen)
- * 
- *     H5Tunregister(H5T_PERS_HARD, "objref2pyref", -1, -1, objref2pyref)             # <<<<<<<<<<<<<<
- *     H5Tunregister(H5T_PERS_HARD, "pyref2objref", -1, -1, pyref2objref)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_HARD, __pyx_k__objref2pyref, -1, -1, __pyx_f_4h5py_5_conv_objref2pyref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":624
- * 
- *     H5Tunregister(H5T_PERS_HARD, "objref2pyref", -1, -1, objref2pyref)
- *     H5Tunregister(H5T_PERS_HARD, "pyref2objref", -1, -1, pyref2objref)             # <<<<<<<<<<<<<<
- * 
- *     H5Tunregister(H5T_PERS_HARD, "regref2pyref", -1, -1, regref2pyref)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_HARD, __pyx_k__pyref2objref, -1, -1, __pyx_f_4h5py_5_conv_pyref2objref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":626
- *     H5Tunregister(H5T_PERS_HARD, "pyref2objref", -1, -1, pyref2objref)
- * 
- *     H5Tunregister(H5T_PERS_HARD, "regref2pyref", -1, -1, regref2pyref)             # <<<<<<<<<<<<<<
- *     H5Tunregister(H5T_PERS_HARD, "pyref2regref", -1, -1, pyref2regref)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_HARD, __pyx_k__regref2pyref, -1, -1, __pyx_f_4h5py_5_conv_regref2pyref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":627
- * 
- *     H5Tunregister(H5T_PERS_HARD, "regref2pyref", -1, -1, regref2pyref)
- *     H5Tunregister(H5T_PERS_HARD, "pyref2regref", -1, -1, pyref2regref)             # <<<<<<<<<<<<<<
- * 
- *     H5Tunregister(H5T_PERS_SOFT, "enum2int", -1, -1, enum2int)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_HARD, __pyx_k__pyref2regref, -1, -1, __pyx_f_4h5py_5_conv_pyref2regref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":629
- *     H5Tunregister(H5T_PERS_HARD, "pyref2regref", -1, -1, pyref2regref)
- * 
- *     H5Tunregister(H5T_PERS_SOFT, "enum2int", -1, -1, enum2int)             # <<<<<<<<<<<<<<
- *     H5Tunregister(H5T_PERS_SOFT, "int2enum", -1, -1, int2enum)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_SOFT, __pyx_k__enum2int, -1, -1, __pyx_f_4h5py_5_conv_enum2int); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":630
- * 
- *     H5Tunregister(H5T_PERS_SOFT, "enum2int", -1, -1, enum2int)
- *     H5Tunregister(H5T_PERS_SOFT, "int2enum", -1, -1, int2enum)             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tunregister(H5T_PERS_SOFT, __pyx_k__int2enum, -1, -1, __pyx_f_4h5py_5_conv_int2enum); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 630; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_conv.pyx":632
- *     H5Tunregister(H5T_PERS_SOFT, "int2enum", -1, -1, int2enum)
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._conv.unregister_converters", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_5_conv_5unregister_converters(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_5_conv_5unregister_converters(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("unregister_converters (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_5_conv_4unregister_converters(__pyx_self);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_conv.pyx":615
- *     return 0
- * 
- * cpdef int unregister_converters() except -1:             # <<<<<<<<<<<<<<
- * 
- *     H5Tunregister(H5T_PERS_HARD, "vlen2str", -1, -1, vlen2str)
- */
-
-static PyObject *__pyx_pf_4h5py_5_conv_4unregister_converters(CYTHON_UNUSED PyObject *__pyx_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("unregister_converters", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_5_conv_unregister_converters(0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._conv.unregister_converters", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyMethodDef __pyx_methods[] = {
-  {__Pyx_NAMESTR("get_python_obj"), (PyCFunction)__pyx_pw_4h5py_5_conv_1get_python_obj, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("register_converters"), (PyCFunction)__pyx_pw_4h5py_5_conv_3register_converters, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("unregister_converters"), (PyCFunction)__pyx_pw_4h5py_5_conv_5unregister_converters, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("_conv"),
-    __Pyx_DOCSTR(__pyx_k_13), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0},
-  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
-  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
-  {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0},
-  {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0},
-  {&__pyx_n_s__MemoryError, __pyx_k__MemoryError, sizeof(__pyx_k__MemoryError), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_MemoryError = __Pyx_GetName(__pyx_b, __pyx_n_s__MemoryError); if (!__pyx_builtin_MemoryError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 529; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/_conv.pyx":220
- *                         #temp_encoded = PyString_AsDecodedObject(temp_object, "utf8", NULL)
- *                     except:
- *                         raise ValueError("Byte string is not valid utf-8 and can't be stored in a utf-8 dataset")             # <<<<<<<<<<<<<<
- *                 temp_string = PyBytes_AsString(temp_object)
- *                 temp_string_len = PyBytes_Size(temp_object)
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_3)); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-
-  /* "h5py/_conv.pyx":246
- *                     temp_string_len = PyBytes_Size(temp_encoded)
- *                 else:
- *                     raise TypeError("Unrecognized dataset encoding")             # <<<<<<<<<<<<<<
- * 
- *         if strlen(temp_string) != temp_string_len:
- */
-  __pyx_k_tuple_6 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_5)); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_6);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
-
-  /* "h5py/_conv.pyx":249
- * 
- *         if strlen(temp_string) != temp_string_len:
- *             raise ValueError("VLEN strings do not support embedded NULLs")             # <<<<<<<<<<<<<<
- * 
- *         buf_cstring[0] = <char*>malloc(temp_string_len+1)
- */
-  __pyx_k_tuple_8 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_7)); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_8);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
-
-  /* "h5py/_conv.pyx":364
- *         obj = <object>(buf_obj[0])
- *         if not isinstance(obj, Reference):
- *             raise TypeError("Can't convert incompatible object to HDF5 object reference")             # <<<<<<<<<<<<<<
- *         ref = <Reference>(buf_obj[0])
- *         buf_ref[0] = ref.ref.obj_ref
- */
-  __pyx_k_tuple_10 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_9)); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_10);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_10));
-
-  /* "h5py/_conv.pyx":405
- *         obj = <object>(buf_obj[0])
- *         if not isinstance(obj, RegionReference):
- *             raise TypeError("Can't convert incompatible object to HDF5 region reference")             # <<<<<<<<<<<<<<
- *         ref = <RegionReference>(buf_obj[0])
- *         memcpy(buf_ref, ref.ref.reg_ref, sizeof(hdset_reg_ref_t))
- */
-  __pyx_k_tuple_12 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_11)); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_12);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC init_conv(void); /*proto*/
-PyMODINIT_FUNC init_conv(void)
-#else
-PyMODINIT_FUNC PyInit__conv(void); /*proto*/
-PyMODINIT_FUNC PyInit__conv(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit__conv(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("_conv"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_13), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py._conv")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py._conv", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py___conv) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_3h5r_Reference = __Pyx_ImportType("h5py.h5r", "Reference", sizeof(struct __pyx_obj_4h5py_3h5r_Reference), 1); if (unlikely(!__pyx_ptype_4h5py_3h5r_Reference)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5r_RegionReference = __Pyx_ImportType("h5py.h5r", "RegionReference", sizeof(struct __pyx_obj_4h5py_3h5r_RegionReference), 1); if (unlikely(!__pyx_ptype_4h5py_3h5r_RegionReference)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tunregister", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/_conv.pyx":50
- * 
- * # Create Python object equivalents
- * cdef hid_t H5PY_OBJ = 0             # <<<<<<<<<<<<<<
- * 
- * cpdef hid_t get_python_obj():
- */
-  __pyx_v_4h5py_5_conv_H5PY_OBJ = 0;
-
-  /* "h5py/_conv.pyx":1
- * # cython: profile=False             # <<<<<<<<<<<<<<
- * 
- * # This file is part of h5py, a Python interface to the HDF5 library.
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py._conv", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py._conv");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_htri_t(htri_t val) {
-    const htri_t neg_one = (htri_t)-1, const_zero = (htri_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(htri_t) == sizeof(char))  ||
-        (sizeof(htri_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(htri_t) == sizeof(int)) ||
-               (sizeof(htri_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(htri_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(htri_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
-                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename) {
-    PyObject *old_exc, *old_val, *old_tb;
-    PyObject *ctx;
-    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
-    #if PY_MAJOR_VERSION < 3
-    ctx = PyString_FromString(name);
-    #else
-    ctx = PyUnicode_FromString(name);
-    #endif
-    __Pyx_ErrRestore(old_exc, old_val, old_tb);
-    if (!ctx) {
-        PyErr_WriteUnraisable(Py_None);
-    } else {
-        PyErr_WriteUnraisable(ctx);
-        Py_DECREF(ctx);
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/_conv.pyx b/h5py/_conv.pyx
index 3647d02..264bf73 100644
--- a/h5py/_conv.pyx
+++ b/h5py/_conv.pyx
@@ -14,12 +14,18 @@
 """
 
 from h5r cimport Reference, RegionReference, hobj_ref_t, hdset_reg_ref_t
+from h5t cimport H5PY_OBJ, typewrap, py_create, TypeID
+cimport numpy as np
+from libc.stdlib cimport realloc
+
+# Initialization
+np.import_array()
 
 # Minimal interface for Python objects immune to Cython refcounting
 cdef extern from "Python.h":
     
     # From Cython declarations
-    ctypedef void PyTypeObject
+    ctypedef int PyTypeObject
     ctypedef struct PyObject:
         Py_ssize_t ob_refcnt
         PyTypeObject *ob_type
@@ -46,16 +52,10 @@ cdef object objectify(PyObject* o):
     Py_INCREF(o)
     return <object>o
 
-# Create Python object equivalents
-cdef hid_t H5PY_OBJ = 0
+cdef extern from "numpy/arrayobject.h":
+    PyTypeObject PyArray_Type
+    object PyArray_NewFromDescr(PyTypeObject* subtype, np.dtype descr, int nd, np.npy_intp* dims, np.npy_intp* strides, void* data, int flags, object obj)
 
-cpdef hid_t get_python_obj():
-    global H5PY_OBJ
-    if H5PY_OBJ <= 0:
-        H5PY_OBJ = H5Tcreate(H5T_OPAQUE, sizeof(PyObject*))
-        H5Tset_tag(H5PY_OBJ, "PYTHON:OBJECT")
-        H5Tlock(H5PY_OBJ)
-    return H5PY_OBJ
 
 ctypedef int (*conv_operator_t)(void* ipt, void* opt, void* bkg, void* priv) except -1
 ctypedef herr_t (*init_operator_t)(hid_t src, hid_t dst, void** priv) except -1
@@ -332,7 +332,6 @@ cdef int conv_fixed2vlen(void* ipt, void* opt, void* bkg, void* priv) except -1:
 cdef int conv_objref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -1:
 
     cdef PyObject** buf_obj = <PyObject**>opt
-    cdef PyObject** bkg_obj = <PyObject**>bkg
     cdef hobj_ref_t* buf_ref = <hobj_ref_t*>ipt
 
     cdef Reference ref = Reference()
@@ -345,7 +344,6 @@ cdef int conv_objref2pyref(void* ipt, void* opt, void* bkg, void* priv) except -
     Py_INCREF(ref_ptr)  # because Cython discards its reference when the
                         # function exits
 
-    Py_XDECREF(bkg_obj[0])
     buf_obj[0] = ref_ptr
 
     return 0
@@ -442,7 +440,7 @@ cdef herr_t objref2pyref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
                     void *bkg_i, hid_t dxpl) except -1:
     return generic_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
-             buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_YES)
+             buf_i, bkg_i, dxpl, conv_objref2pyref, init_generic, H5T_BKG_NO)
 
 cdef herr_t pyref2objref(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
                     size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
@@ -578,10 +576,198 @@ cdef herr_t int2enum(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
     return enum_int_converter(src_id, dst_id, cdata, nl, buf_stride, bkg_stride,
              buf_i, bkg_i, dxpl, 0)
 
+# =============================================================================
+# ndarray to VLEN routines
+
+cdef herr_t vlen2ndarray(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
+                    size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
+                    void *bkg_i, hid_t dxpl) except -1:
+
+    cdef int command = cdata[0].command
+    cdef size_t src_size, dst_size
+    cdef TypeID supertype
+    cdef TypeID outtype
+    cdef np.dtype dt
+    cdef int i
+
+    cdef char* buf = <char*>buf_i
+
+    if command == H5T_CONV_INIT:
+
+        cdata[0].need_bkg = H5T_BKG_NO
+        if H5Tget_class(src_id) != H5T_VLEN or H5Tget_class(dst_id) != H5T_OPAQUE:
+            return -2
+
+    elif command == H5T_CONV_FREE:
+        
+        pass
+
+    elif command == H5T_CONV_CONV:
+
+        # need to pass element dtype to converter
+        supertype = typewrap(H5Tget_super(src_id))
+        dt = supertype.dtype
+        outtype = py_create(dt)
+
+        if buf_stride == 0:
+            # No explicit stride seems to mean that the elements are packed
+            # contiguously in the buffer.  In this case we must be careful
+            # not to "stomp on" input elements if the output elements are
+            # of a larger size.
+
+            src_size = H5Tget_size(src_id)
+            dst_size = H5Tget_size(dst_id)
+
+            if src_size >= dst_size:
+                for i from 0<=i<nl:
+                    conv_vlen2ndarray(buf + (i*src_size), buf + (i*dst_size),
+                                      dt, supertype, outtype)
+            else:
+                for i from nl>i>=0:
+                    conv_vlen2ndarray(buf + (i*src_size), buf + (i*dst_size),
+                                      dt, supertype, outtype)
+        else:
+            # With explicit strides, we assume that the library knows the
+            # alignment better than us.  Therefore we use the given stride
+            # offsets exclusively.
+            for i from 0<=i<nl:
+                conv_vlen2ndarray(buf + (i*buf_stride), buf + (i*buf_stride),
+                                  dt, supertype, outtype)
+
+    else:
+        return -2   # Unrecognized command.  Note this is NOT an exception.
+
+    return 0
+
+
+cdef struct vlen_t:
+    size_t len
+    void* ptr
+
+cdef int conv_vlen2ndarray(void* ipt, void* opt, np.dtype elem_dtype,
+        TypeID intype, TypeID outtype) except -1:
+
+    cdef PyObject** buf_obj = <PyObject**>opt
+    cdef vlen_t* in_vlen = <vlen_t*>ipt
+    cdef int flags = np.NPY_WRITEABLE | np.NPY_C_CONTIGUOUS
+    cdef np.npy_intp dims[1]
+    cdef void* data
+    cdef np.ndarray ndarray
+
+    dims[0] = in_vlen[0].len
+    data = in_vlen[0].ptr
+    if outtype.get_size() > intype.get_size():
+        data = realloc(data, outtype.get_size() * in_vlen[0].len)
+    H5Tconvert(intype.id, outtype.id, in_vlen[0].len, data, NULL, H5P_DEFAULT)
+    
+    Py_INCREF(<PyObject*>elem_dtype)
+    ndarray = PyArray_NewFromDescr(&PyArray_Type, elem_dtype, 1,
+                dims, NULL, data, flags, <object>NULL)
+    ndarray.flags |= np.NPY_OWNDATA
+    Py_INCREF(<PyObject*>ndarray)
+
+    # Write the new object to the buffer in-place
+    in_vlen[0].ptr = NULL
+    buf_obj[0] = <PyObject*>ndarray
+    
+    return 0
+
+cdef herr_t ndarray2vlen(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata,
+                    size_t nl, size_t buf_stride, size_t bkg_stride, void *buf_i,
+                    void *bkg_i, hid_t dxpl) except -1:
+
+    cdef int command = cdata[0].command
+    cdef size_t src_size, dst_size
+    cdef TypeID supertype
+    cdef TypeID outtype
+    cdef np.dtype dt
+    cdef int i
+    cdef PyObject **pdata = <PyObject **> buf_i
+
+    cdef char* buf = <char*>buf_i
+
+    if command == H5T_CONV_INIT:
+
+        cdata[0].need_bkg = H5T_BKG_NO
+        if not H5Tequal(src_id, H5PY_OBJ) or H5Tget_class(dst_id) != H5T_VLEN:
+            return -2
+        supertype = typewrap(H5Tget_super(dst_id))
+        for i from 0 <= i < nl:
+            if supertype != py_create((<np.ndarray> pdata[i]).dtype, 1):
+                return -2
+            if (<np.ndarray> pdata[i]).ndim != 1:
+                return -2
+
+    elif command == H5T_CONV_FREE:
+        
+        pass
+
+    elif command == H5T_CONV_CONV:
+
+        # need to pass element dtype to converter
+        supertype = py_create((<np.ndarray> pdata[0]).dtype)
+        outtype = typewrap(H5Tget_super(dst_id))
+
+        if buf_stride == 0:
+            # No explicit stride seems to mean that the elements are packed
+            # contiguously in the buffer.  In this case we must be careful
+            # not to "stomp on" input elements if the output elements are
+            # of a larger size.
+
+            src_size = H5Tget_size(src_id)
+            dst_size = H5Tget_size(dst_id)
+
+            if src_size >= dst_size:
+                for i from 0<=i<nl:
+                    conv_ndarray2vlen(buf + (i*src_size), buf + (i*dst_size),
+                                      supertype, outtype)
+            else:
+                for i from nl>i>=0:
+                    conv_ndarray2vlen(buf + (i*src_size), buf + (i*dst_size),
+                                      supertype, outtype)
+        else:
+            # With explicit strides, we assume that the library knows the
+            # alignment better than us.  Therefore we use the given stride
+            # offsets exclusively.
+            for i from 0<=i<nl:
+                conv_ndarray2vlen(buf + (i*buf_stride), buf + (i*buf_stride),
+                                  supertype, outtype)
+
+    else:
+        return -2   # Unrecognized command.  Note this is NOT an exception.
+
+    return 0
+
+
+cdef int conv_ndarray2vlen(void* ipt, void* opt,
+        TypeID intype, TypeID outtype) except -1:
+
+    cdef PyObject** buf_obj = <PyObject**>ipt
+    cdef vlen_t* in_vlen = <vlen_t*>opt
+    cdef int flags = np.NPY_WRITEABLE | np.NPY_C_CONTIGUOUS
+    cdef np.npy_intp dims[1]
+    cdef void* data
+    cdef np.ndarray ndarray = <np.ndarray> buf_obj[0]
+    cdef size_t len = ndarray.shape[0]
+
+    if outtype.get_size() > intype.get_size():
+        data = malloc(outtype.get_size() * len)
+    else:
+        data = malloc(intype.get_size() * len)
+    memcpy(data, ndarray.data, intype.get_size() * len)
+    H5Tconvert(intype.id, outtype.id, len, data, NULL, H5P_DEFAULT)
+
+    in_vlen[0].len = len
+    in_vlen[0].ptr = data
+    
+    return 0
+            
+# =============================================================================
 
 cpdef int register_converters() except -1:
 
     cdef hid_t vlstring
+    cdef hid_t vlentype
     cdef hid_t pyobj
     cdef hid_t enum
 
@@ -590,7 +776,9 @@ cpdef int register_converters() except -1:
     
     enum = H5Tenum_create(H5T_STD_I32LE)
 
-    pyobj = get_python_obj()
+    vlentype = H5Tvlen_create(H5T_STD_I32LE)
+
+    pyobj = H5PY_OBJ
 
     H5Tregister(H5T_PERS_HARD, "vlen2str", vlstring, pyobj, vlen2str)
     H5Tregister(H5T_PERS_HARD, "str2vlen", pyobj, vlstring, str2vlen)
@@ -607,7 +795,11 @@ cpdef int register_converters() except -1:
     H5Tregister(H5T_PERS_SOFT, "enum2int", enum, H5T_STD_I32LE, enum2int)
     H5Tregister(H5T_PERS_SOFT, "int2enum", H5T_STD_I32LE, enum, int2enum)
 
+    H5Tregister(H5T_PERS_SOFT, "vlen2ndarray", vlentype, pyobj, vlen2ndarray)
+    H5Tregister(H5T_PERS_SOFT, "ndarray2vlen", pyobj, vlentype, ndarray2vlen)
+
     H5Tclose(vlstring)
+    H5Tclose(vlentype)
     H5Tclose(enum)
 
     return 0
@@ -629,9 +821,7 @@ cpdef int unregister_converters() except -1:
     H5Tunregister(H5T_PERS_SOFT, "enum2int", -1, -1, enum2int)
     H5Tunregister(H5T_PERS_SOFT, "int2enum", -1, -1, int2enum)
 
-    return 0
-
-
-
-
+    H5Tunregister(H5T_PERS_SOFT, "vlen2ndarray", -1, -1, vlen2ndarray)
+    H5Tunregister(H5T_PERS_SOFT, "ndarray2vlen", -1, -1, ndarray2vlen)
 
+    return 0
diff --git a/h5py/_errors.c b/h5py/_errors.c
deleted file mode 100644
index f34a64c..0000000
--- a/h5py/_errors.c
+++ /dev/null
@@ -1,3254 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py___errors
-#define __PYX_HAVE_API__h5py___errors
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "stdio.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "_errors.pyx",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_t_4h5py_7_errors_err_cookie;
-typedef struct __pyx_t_4h5py_7_errors_err_cookie __pyx_t_4h5py_7_errors_err_cookie;
-struct __pyx_t_4h5py_7_errors_err_data_t;
-
-/* "h5py/_errors.pxd":230
- * # --- Functions for managing the HDF5 error callback mechanism ---
- * 
- * ctypedef struct err_cookie:             # <<<<<<<<<<<<<<
- *     # Defines the error handler state (callback and callback data)
- *     H5E_auto_t func
- */
-struct __pyx_t_4h5py_7_errors_err_cookie {
-  H5E_auto_t func;
-  void *data;
-};
-
-/* "h5py/_errors.pyx":75
- *   }
- * 
- * cdef struct err_data_t:             # <<<<<<<<<<<<<<
- *     H5E_error_t err
- *     int n
- */
-struct __pyx_t_4h5py_7_errors_err_data_t {
-  H5E_error_t err;
-  int n;
-};
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
-         const char* cstring, Py_ssize_t start, Py_ssize_t stop,
-         const char* encoding, const char* errors,
-         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors));
-
-#include <string.h>
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static void __Pyx_WriteUnraisable(const char *name, int clineno,
-                                  int lineno, const char *filename); /*proto*/
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py._errors' */
-static herr_t __pyx_f_4h5py_7_errors_walk_cb(int, H5E_error_t *, void *); /*proto*/
-#define __Pyx_MODULE_NAME "h5py._errors"
-int __pyx_module_is_main_h5py___errors = 0;
-
-/* Implementation of 'h5py._errors' */
-static PyObject *__pyx_builtin_IOError;
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_builtin_NotImplementedError;
-static PyObject *__pyx_builtin_KeyError;
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_RuntimeError;
-static PyObject *__pyx_pf_4h5py_7_errors_silence_errors(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static PyObject *__pyx_pf_4h5py_7_errors_2unsilence_errors(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static char __pyx_k_1[] = "Failed to walk error stack";
-static char __pyx_k_3[] = "Failed to extract detailed error description";
-static char __pyx_k_5[] = "Failed to obtain error code description";
-static char __pyx_k_7[] = "%s (%s: %s)";
-static char __pyx_k_8[] = "utf-8";
-static char __pyx_k_10[] = "Failed to disable automatic error printing";
-static char __pyx_k_12[] = "Failed to enable automatic error printing";
-static char __pyx_k_14[] = "Failed to retrieve old handler";
-static char __pyx_k_16[] = "Failed to install new handler";
-static char __pyx_k_19[] = "/home/computer/h5py/h5py/_errors.pyx";
-static char __pyx_k_20[] = "h5py._errors";
-static char __pyx_k__get[] = "get";
-static char __pyx_k__encode[] = "encode";
-static char __pyx_k__IOError[] = "IOError";
-static char __pyx_k__KeyError[] = "KeyError";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__RuntimeError[] = "RuntimeError";
-static char __pyx_k___exact_table[] = "_exact_table";
-static char __pyx_k___minor_table[] = "_minor_table";
-static char __pyx_k__silence_errors[] = "silence_errors";
-static char __pyx_k__unsilence_errors[] = "unsilence_errors";
-static char __pyx_k__NotImplementedError[] = "NotImplementedError";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_10;
-static PyObject *__pyx_kp_s_12;
-static PyObject *__pyx_kp_s_14;
-static PyObject *__pyx_kp_s_16;
-static PyObject *__pyx_kp_s_19;
-static PyObject *__pyx_n_s_20;
-static PyObject *__pyx_kp_s_3;
-static PyObject *__pyx_kp_s_5;
-static PyObject *__pyx_kp_s_7;
-static PyObject *__pyx_kp_s_8;
-static PyObject *__pyx_n_s__IOError;
-static PyObject *__pyx_n_s__KeyError;
-static PyObject *__pyx_n_s__NotImplementedError;
-static PyObject *__pyx_n_s__RuntimeError;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___exact_table;
-static PyObject *__pyx_n_s___minor_table;
-static PyObject *__pyx_n_s__encode;
-static PyObject *__pyx_n_s__get;
-static PyObject *__pyx_n_s__silence_errors;
-static PyObject *__pyx_n_s__unsilence_errors;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_4;
-static PyObject *__pyx_k_tuple_6;
-static PyObject *__pyx_k_tuple_9;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_tuple_13;
-static PyObject *__pyx_k_tuple_15;
-static PyObject *__pyx_k_tuple_17;
-static PyObject *__pyx_k_codeobj_18;
-static PyObject *__pyx_k_codeobj_21;
-
-/* "h5py/_errors.pyx":79
- *     int n
- * 
- * cdef herr_t walk_cb(int n, H5E_error_t *desc, void *e):             # <<<<<<<<<<<<<<
- * 
- *     cdef err_data_t *ee = <err_data_t*>e
- */
-
-static herr_t __pyx_f_4h5py_7_errors_walk_cb(int __pyx_v_n, H5E_error_t *__pyx_v_desc, void *__pyx_v_e) {
-  struct __pyx_t_4h5py_7_errors_err_data_t *__pyx_v_ee;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  H5E_major_t __pyx_t_1;
-  H5E_minor_t __pyx_t_2;
-  char *__pyx_t_3;
-  __Pyx_RefNannySetupContext("walk_cb", 0);
-
-  /* "h5py/_errors.pyx":81
- * cdef herr_t walk_cb(int n, H5E_error_t *desc, void *e):
- * 
- *     cdef err_data_t *ee = <err_data_t*>e             # <<<<<<<<<<<<<<
- * 
- *     ee[0].err.maj_num = desc[0].maj_num
- */
-  __pyx_v_ee = ((struct __pyx_t_4h5py_7_errors_err_data_t *)__pyx_v_e);
-
-  /* "h5py/_errors.pyx":83
- *     cdef err_data_t *ee = <err_data_t*>e
- * 
- *     ee[0].err.maj_num = desc[0].maj_num             # <<<<<<<<<<<<<<
- *     ee[0].err.min_num = desc[0].min_num
- *     ee[0].err.desc = desc[0].desc
- */
-  __pyx_t_1 = (__pyx_v_desc[0]).maj_num;
-  (__pyx_v_ee[0]).err.maj_num = __pyx_t_1;
-
-  /* "h5py/_errors.pyx":84
- * 
- *     ee[0].err.maj_num = desc[0].maj_num
- *     ee[0].err.min_num = desc[0].min_num             # <<<<<<<<<<<<<<
- *     ee[0].err.desc = desc[0].desc
- *     ee[0].n = n
- */
-  __pyx_t_2 = (__pyx_v_desc[0]).min_num;
-  (__pyx_v_ee[0]).err.min_num = __pyx_t_2;
-
-  /* "h5py/_errors.pyx":85
- *     ee[0].err.maj_num = desc[0].maj_num
- *     ee[0].err.min_num = desc[0].min_num
- *     ee[0].err.desc = desc[0].desc             # <<<<<<<<<<<<<<
- *     ee[0].n = n
- * 
- */
-  __pyx_t_3 = (__pyx_v_desc[0]).desc;
-  (__pyx_v_ee[0]).err.desc = __pyx_t_3;
-
-  /* "h5py/_errors.pyx":86
- *     ee[0].err.min_num = desc[0].min_num
- *     ee[0].err.desc = desc[0].desc
- *     ee[0].n = n             # <<<<<<<<<<<<<<
- * 
- * cdef int set_exception() except -1:
- */
-  (__pyx_v_ee[0]).n = __pyx_v_n;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_errors.pyx":88
- *     ee[0].n = n
- * 
- * cdef int set_exception() except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef err_data_t err
- */
-
-static int __pyx_f_4h5py_7_errors_set_exception(void) {
-  struct __pyx_t_4h5py_7_errors_err_data_t __pyx_v_err;
-  char *__pyx_v_mj_desc;
-  char *__pyx_v_mn_desc;
-  char *__pyx_v_desc;
-  PyObject *__pyx_v_eclass = NULL;
-  PyObject *__pyx_v_msg = NULL;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  char *__pyx_t_6;
-  int __pyx_t_7;
-  int __pyx_t_8;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_exception", 0);
-
-  /* "h5py/_errors.pyx":91
- * 
- *     cdef err_data_t err
- *     cdef char *mj_desc = NULL             # <<<<<<<<<<<<<<
- *     cdef char *mn_desc = NULL
- *     cdef char *desc = NULL
- */
-  __pyx_v_mj_desc = NULL;
-
-  /* "h5py/_errors.pyx":92
- *     cdef err_data_t err
- *     cdef char *mj_desc = NULL
- *     cdef char *mn_desc = NULL             # <<<<<<<<<<<<<<
- *     cdef char *desc = NULL
- * 
- */
-  __pyx_v_mn_desc = NULL;
-
-  /* "h5py/_errors.pyx":93
- *     cdef char *mj_desc = NULL
- *     cdef char *mn_desc = NULL
- *     cdef char *desc = NULL             # <<<<<<<<<<<<<<
- * 
- *     err.n = -1
- */
-  __pyx_v_desc = NULL;
-
-  /* "h5py/_errors.pyx":95
- *     cdef char *desc = NULL
- * 
- *     err.n = -1             # <<<<<<<<<<<<<<
- * 
- *     if H5Ewalk(H5E_WALK_UPWARD, walk_cb, &err) < 0:
- */
-  __pyx_v_err.n = -1;
-
-  /* "h5py/_errors.pyx":97
- *     err.n = -1
- * 
- *     if H5Ewalk(H5E_WALK_UPWARD, walk_cb, &err) < 0:             # <<<<<<<<<<<<<<
- *         raise RuntimeError("Failed to walk error stack")
- * 
- */
-  __pyx_t_1 = (H5Ewalk(H5E_WALK_UPWARD, __pyx_f_4h5py_7_errors_walk_cb, (&__pyx_v_err)) < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/_errors.pyx":98
- * 
- *     if H5Ewalk(H5E_WALK_UPWARD, walk_cb, &err) < 0:
- *         raise RuntimeError("Failed to walk error stack")             # <<<<<<<<<<<<<<
- * 
- *     if err.n < 0:   # No HDF5 exception information found
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_errors.pyx":100
- *         raise RuntimeError("Failed to walk error stack")
- * 
- *     if err.n < 0:   # No HDF5 exception information found             # <<<<<<<<<<<<<<
- *         return 0
- * 
- */
-  __pyx_t_1 = (__pyx_v_err.n < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/_errors.pyx":101
- * 
- *     if err.n < 0:   # No HDF5 exception information found
- *         return 0             # <<<<<<<<<<<<<<
- * 
- *     eclass = _minor_table.get(err.err.min_num, RuntimeError)
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/_errors.pyx":103
- *         return 0
- * 
- *     eclass = _minor_table.get(err.err.min_num, RuntimeError)             # <<<<<<<<<<<<<<
- *     eclass = _exact_table.get((err.err.maj_num, err.err.min_num), eclass)
- * 
- */
-  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___minor_table); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__get); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyInt_FromLong(__pyx_v_err.err.min_num); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __Pyx_INCREF(__pyx_builtin_RuntimeError);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_builtin_RuntimeError);
-  __Pyx_GIVEREF(__pyx_builtin_RuntimeError);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_v_eclass = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":104
- * 
- *     eclass = _minor_table.get(err.err.min_num, RuntimeError)
- *     eclass = _exact_table.get((err.err.maj_num, err.err.min_num), eclass)             # <<<<<<<<<<<<<<
- * 
- *     desc = err.err.desc
- */
-  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s___exact_table); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_4 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__get); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyInt_FromLong(__pyx_v_err.err.maj_num); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(__pyx_v_err.err.min_num); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_5));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
-  __Pyx_INCREF(__pyx_v_eclass);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_eclass);
-  __Pyx_GIVEREF(__pyx_v_eclass);
-  __pyx_t_5 = 0;
-  __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __Pyx_DECREF(__pyx_v_eclass);
-  __pyx_v_eclass = __pyx_t_5;
-  __pyx_t_5 = 0;
-
-  /* "h5py/_errors.pyx":106
- *     eclass = _exact_table.get((err.err.maj_num, err.err.min_num), eclass)
- * 
- *     desc = err.err.desc             # <<<<<<<<<<<<<<
- *     if desc is NULL:
- *         raise RuntimeError("Failed to extract detailed error description")
- */
-  __pyx_t_6 = __pyx_v_err.err.desc;
-  __pyx_v_desc = __pyx_t_6;
-
-  /* "h5py/_errors.pyx":107
- * 
- *     desc = err.err.desc
- *     if desc is NULL:             # <<<<<<<<<<<<<<
- *         raise RuntimeError("Failed to extract detailed error description")
- * 
- */
-  __pyx_t_1 = (__pyx_v_desc == NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/_errors.pyx":108
- *     desc = err.err.desc
- *     if desc is NULL:
- *         raise RuntimeError("Failed to extract detailed error description")             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-    __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  /* "h5py/_errors.pyx":110
- *         raise RuntimeError("Failed to extract detailed error description")
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         mj_desc = H5Eget_major(err.err.maj_num)
- *         mn_desc = H5Eget_minor(err.err.min_num)
- */
-  /*try:*/ {
-
-    /* "h5py/_errors.pyx":111
- * 
- *     try:
- *         mj_desc = H5Eget_major(err.err.maj_num)             # <<<<<<<<<<<<<<
- *         mn_desc = H5Eget_minor(err.err.min_num)
- *         if mj_desc == NULL or mn_desc == NULL:
- */
-    __pyx_v_mj_desc = H5Eget_major(__pyx_v_err.err.maj_num);
-
-    /* "h5py/_errors.pyx":112
- *     try:
- *         mj_desc = H5Eget_major(err.err.maj_num)
- *         mn_desc = H5Eget_minor(err.err.min_num)             # <<<<<<<<<<<<<<
- *         if mj_desc == NULL or mn_desc == NULL:
- *             raise RuntimeError("Failed to obtain error code description")
- */
-    __pyx_v_mn_desc = H5Eget_minor(__pyx_v_err.err.min_num);
-
-    /* "h5py/_errors.pyx":113
- *         mj_desc = H5Eget_major(err.err.maj_num)
- *         mn_desc = H5Eget_minor(err.err.min_num)
- *         if mj_desc == NULL or mn_desc == NULL:             # <<<<<<<<<<<<<<
- *             raise RuntimeError("Failed to obtain error code description")
- * 
- */
-    __pyx_t_1 = (__pyx_v_mj_desc == NULL);
-    if (!__pyx_t_1) {
-      __pyx_t_7 = (__pyx_v_mn_desc == NULL);
-      __pyx_t_8 = __pyx_t_7;
-    } else {
-      __pyx_t_8 = __pyx_t_1;
-    }
-    if (__pyx_t_8) {
-
-      /* "h5py/_errors.pyx":114
- *         mn_desc = H5Eget_minor(err.err.min_num)
- *         if mj_desc == NULL or mn_desc == NULL:
- *             raise RuntimeError("Failed to obtain error code description")             # <<<<<<<<<<<<<<
- * 
- *         msg = ("%s (%s: %s)" % (desc.decode('utf-8'),
- */
-      __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L7;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L7;}
-      goto __pyx_L9;
-    }
-    __pyx_L9:;
-
-    /* "h5py/_errors.pyx":116
- *             raise RuntimeError("Failed to obtain error code description")
- * 
- *         msg = ("%s (%s: %s)" % (desc.decode('utf-8'),             # <<<<<<<<<<<<<<
- *                                 mj_desc.decode('utf-8'),
- *                                 mn_desc.decode('utf-8'))  ).encode('utf-8')
- */
-    __pyx_t_5 = ((PyObject *)__Pyx_decode_c_string(__pyx_v_desc, 0, strlen(__pyx_v_desc), NULL, NULL, PyUnicode_DecodeUTF8)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L7;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_5));
-
-    /* "h5py/_errors.pyx":117
- * 
- *         msg = ("%s (%s: %s)" % (desc.decode('utf-8'),
- *                                 mj_desc.decode('utf-8'),             # <<<<<<<<<<<<<<
- *                                 mn_desc.decode('utf-8'))  ).encode('utf-8')
- *     finally:
- */
-    __pyx_t_3 = ((PyObject *)__Pyx_decode_c_string(__pyx_v_mj_desc, 0, strlen(__pyx_v_mj_desc), NULL, NULL, PyUnicode_DecodeUTF8)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L7;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-
-    /* "h5py/_errors.pyx":118
- *         msg = ("%s (%s: %s)" % (desc.decode('utf-8'),
- *                                 mj_desc.decode('utf-8'),
- *                                 mn_desc.decode('utf-8'))  ).encode('utf-8')             # <<<<<<<<<<<<<<
- *     finally:
- *         free(mj_desc)
- */
-    __pyx_t_4 = ((PyObject *)__Pyx_decode_c_string(__pyx_v_mn_desc, 0, strlen(__pyx_v_mn_desc), NULL, NULL, PyUnicode_DecodeUTF8)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L7;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    __pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L7;}
-    __Pyx_GOTREF(__pyx_t_2);
-    PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_5));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
-    PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_t_3));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-    PyTuple_SET_ITEM(__pyx_t_2, 2, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_5 = 0;
-    __pyx_t_3 = 0;
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_7), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L7;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_t_4), __pyx_n_s__encode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L7;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L7;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_v_msg = __pyx_t_4;
-    __pyx_t_4 = 0;
-  }
-
-  /* "h5py/_errors.pyx":120
- *                                 mn_desc.decode('utf-8'))  ).encode('utf-8')
- *     finally:
- *         free(mj_desc)             # <<<<<<<<<<<<<<
- *         free(mn_desc)
- *         # HDF5 forbids freeing "desc"
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L8;
-    __pyx_L7: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L8;
-    }
-    __pyx_L8:;
-    free(__pyx_v_mj_desc);
-
-    /* "h5py/_errors.pyx":121
- *     finally:
- *         free(mj_desc)
- *         free(mn_desc)             # <<<<<<<<<<<<<<
- *         # HDF5 forbids freeing "desc"
- * 
- */
-    free(__pyx_v_mn_desc);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/_errors.pyx":124
- *         # HDF5 forbids freeing "desc"
- * 
- *     PyErr_SetString(eclass, msg)             # <<<<<<<<<<<<<<
- * 
- *     return 1
- */
-  __pyx_t_6 = PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_t_6) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  PyErr_SetString(__pyx_v_eclass, __pyx_t_6);
-
-  /* "h5py/_errors.pyx":126
- *     PyErr_SetString(eclass, msg)
- * 
- *     return 1             # <<<<<<<<<<<<<<
- * 
- * cdef extern from "stdio.h":
- */
-  __pyx_r = 1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py._errors.set_exception", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_eclass);
-  __Pyx_XDECREF(__pyx_v_msg);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_7_errors_1silence_errors(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_7_errors_silence_errors[] = " Disable HDF5's automatic error printing in this thread ";
-static PyMethodDef __pyx_mdef_4h5py_7_errors_1silence_errors = {__Pyx_NAMESTR("silence_errors"), (PyCFunction)__pyx_pw_4h5py_7_errors_1silence_errors, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_7_errors_silence_errors)};
-static PyObject *__pyx_pw_4h5py_7_errors_1silence_errors(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("silence_errors (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_7_errors_silence_errors(__pyx_self);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_errors.pyx":131
- *     void *stderr
- * 
- * def silence_errors():             # <<<<<<<<<<<<<<
- *     """ Disable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(NULL, NULL) < 0:
- */
-
-static PyObject *__pyx_pf_4h5py_7_errors_silence_errors(CYTHON_UNUSED PyObject *__pyx_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("silence_errors", 0);
-
-  /* "h5py/_errors.pyx":133
- * def silence_errors():
- *     """ Disable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(NULL, NULL) < 0:             # <<<<<<<<<<<<<<
- *         raise RuntimeError("Failed to disable automatic error printing")
- * 
- */
-  __pyx_t_1 = (H5Eset_auto(NULL, NULL) < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/_errors.pyx":134
- *     """ Disable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(NULL, NULL) < 0:
- *         raise RuntimeError("Failed to disable automatic error printing")             # <<<<<<<<<<<<<<
- * 
- * def unsilence_errors():
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_11), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._errors.silence_errors", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_7_errors_3unsilence_errors(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_7_errors_2unsilence_errors[] = " Re-enable HDF5's automatic error printing in this thread ";
-static PyMethodDef __pyx_mdef_4h5py_7_errors_3unsilence_errors = {__Pyx_NAMESTR("unsilence_errors"), (PyCFunction)__pyx_pw_4h5py_7_errors_3unsilence_errors, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_7_errors_2unsilence_errors)};
-static PyObject *__pyx_pw_4h5py_7_errors_3unsilence_errors(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("unsilence_errors (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_7_errors_2unsilence_errors(__pyx_self);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_errors.pyx":136
- *         raise RuntimeError("Failed to disable automatic error printing")
- * 
- * def unsilence_errors():             # <<<<<<<<<<<<<<
- *     """ Re-enable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(H5Eprint, stderr) < 0:
- */
-
-static PyObject *__pyx_pf_4h5py_7_errors_2unsilence_errors(CYTHON_UNUSED PyObject *__pyx_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("unsilence_errors", 0);
-
-  /* "h5py/_errors.pyx":138
- * def unsilence_errors():
- *     """ Re-enable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(H5Eprint, stderr) < 0:             # <<<<<<<<<<<<<<
- *         raise RuntimeError("Failed to enable automatic error printing")
- * 
- */
-  __pyx_t_1 = (H5Eset_auto(H5Eprint, stderr) < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/_errors.pyx":139
- *     """ Re-enable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(H5Eprint, stderr) < 0:
- *         raise RuntimeError("Failed to enable automatic error printing")             # <<<<<<<<<<<<<<
- * 
- * cdef err_cookie set_error_handler(err_cookie handler):
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_13), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._errors.unsilence_errors", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_errors.pyx":141
- *         raise RuntimeError("Failed to enable automatic error printing")
- * 
- * cdef err_cookie set_error_handler(err_cookie handler):             # <<<<<<<<<<<<<<
- *     # Note: exceptions here will be printed instead of raised.
- * 
- */
-
-static __pyx_t_4h5py_7_errors_err_cookie __pyx_f_4h5py_7_errors_set_error_handler(__pyx_t_4h5py_7_errors_err_cookie __pyx_v_handler) {
-  __pyx_t_4h5py_7_errors_err_cookie __pyx_v_old_handler;
-  __pyx_t_4h5py_7_errors_err_cookie __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_error_handler", 0);
-
-  /* "h5py/_errors.pyx":146
- *     cdef err_cookie old_handler
- * 
- *     if H5Eget_auto(&old_handler.func, &old_handler.data) < 0:             # <<<<<<<<<<<<<<
- *         raise RuntimeError("Failed to retrieve old handler")
- * 
- */
-  __pyx_t_1 = (H5Eget_auto((&__pyx_v_old_handler.func), (&__pyx_v_old_handler.data)) < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/_errors.pyx":147
- * 
- *     if H5Eget_auto(&old_handler.func, &old_handler.data) < 0:
- *         raise RuntimeError("Failed to retrieve old handler")             # <<<<<<<<<<<<<<
- * 
- *     if H5Eset_auto(handler.func, handler.data) < 0:
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_15), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_errors.pyx":149
- *         raise RuntimeError("Failed to retrieve old handler")
- * 
- *     if H5Eset_auto(handler.func, handler.data) < 0:             # <<<<<<<<<<<<<<
- *         raise RuntimeError("Failed to install new handler")
- * 
- */
-  __pyx_t_1 = (H5Eset_auto(__pyx_v_handler.func, __pyx_v_handler.data) < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/_errors.pyx":150
- * 
- *     if H5Eset_auto(handler.func, handler.data) < 0:
- *         raise RuntimeError("Failed to install new handler")             # <<<<<<<<<<<<<<
- * 
- *     return old_handler
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/_errors.pyx":152
- *         raise RuntimeError("Failed to install new handler")
- * 
- *     return old_handler             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = __pyx_v_old_handler;
-  goto __pyx_L0;
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_WriteUnraisable("h5py._errors.set_error_handler", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("_errors"),
-    0, /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0},
-  {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0},
-  {&__pyx_kp_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 0},
-  {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0},
-  {&__pyx_kp_s_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 1, 0},
-  {&__pyx_n_s_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 1, 1},
-  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
-  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 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_n_s__IOError, __pyx_k__IOError, sizeof(__pyx_k__IOError), 0, 0, 1, 1},
-  {&__pyx_n_s__KeyError, __pyx_k__KeyError, sizeof(__pyx_k__KeyError), 0, 0, 1, 1},
-  {&__pyx_n_s__NotImplementedError, __pyx_k__NotImplementedError, sizeof(__pyx_k__NotImplementedError), 0, 0, 1, 1},
-  {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___exact_table, __pyx_k___exact_table, sizeof(__pyx_k___exact_table), 0, 0, 1, 1},
-  {&__pyx_n_s___minor_table, __pyx_k___minor_table, sizeof(__pyx_k___minor_table), 0, 0, 1, 1},
-  {&__pyx_n_s__encode, __pyx_k__encode, sizeof(__pyx_k__encode), 0, 0, 1, 1},
-  {&__pyx_n_s__get, __pyx_k__get, sizeof(__pyx_k__get), 0, 0, 1, 1},
-  {&__pyx_n_s__silence_errors, __pyx_k__silence_errors, sizeof(__pyx_k__silence_errors), 0, 0, 1, 1},
-  {&__pyx_n_s__unsilence_errors, __pyx_k__unsilence_errors, sizeof(__pyx_k__unsilence_errors), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_IOError = __Pyx_GetName(__pyx_b, __pyx_n_s__IOError); if (!__pyx_builtin_IOError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_NotImplementedError = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_KeyError = __Pyx_GetName(__pyx_b, __pyx_n_s__KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/_errors.pyx":98
- * 
- *     if H5Ewalk(H5E_WALK_UPWARD, walk_cb, &err) < 0:
- *         raise RuntimeError("Failed to walk error stack")             # <<<<<<<<<<<<<<
- * 
- *     if err.n < 0:   # No HDF5 exception information found
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-
-  /* "h5py/_errors.pyx":108
- *     desc = err.err.desc
- *     if desc is NULL:
- *         raise RuntimeError("Failed to extract detailed error description")             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_3)); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-
-  /* "h5py/_errors.pyx":114
- *         mn_desc = H5Eget_minor(err.err.min_num)
- *         if mj_desc == NULL or mn_desc == NULL:
- *             raise RuntimeError("Failed to obtain error code description")             # <<<<<<<<<<<<<<
- * 
- *         msg = ("%s (%s: %s)" % (desc.decode('utf-8'),
- */
-  __pyx_k_tuple_6 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_5)); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_6);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
-
-  /* "h5py/_errors.pyx":118
- *         msg = ("%s (%s: %s)" % (desc.decode('utf-8'),
- *                                 mj_desc.decode('utf-8'),
- *                                 mn_desc.decode('utf-8'))  ).encode('utf-8')             # <<<<<<<<<<<<<<
- *     finally:
- *         free(mj_desc)
- */
-  __pyx_k_tuple_9 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_8)); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_9);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));
-
-  /* "h5py/_errors.pyx":134
- *     """ Disable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(NULL, NULL) < 0:
- *         raise RuntimeError("Failed to disable automatic error printing")             # <<<<<<<<<<<<<<
- * 
- * def unsilence_errors():
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_10)); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-
-  /* "h5py/_errors.pyx":139
- *     """ Re-enable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(H5Eprint, stderr) < 0:
- *         raise RuntimeError("Failed to enable automatic error printing")             # <<<<<<<<<<<<<<
- * 
- * cdef err_cookie set_error_handler(err_cookie handler):
- */
-  __pyx_k_tuple_13 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_12)); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_13);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_13));
-
-  /* "h5py/_errors.pyx":147
- * 
- *     if H5Eget_auto(&old_handler.func, &old_handler.data) < 0:
- *         raise RuntimeError("Failed to retrieve old handler")             # <<<<<<<<<<<<<<
- * 
- *     if H5Eset_auto(handler.func, handler.data) < 0:
- */
-  __pyx_k_tuple_15 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_14)); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_15);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
-
-  /* "h5py/_errors.pyx":150
- * 
- *     if H5Eset_auto(handler.func, handler.data) < 0:
- *         raise RuntimeError("Failed to install new handler")             # <<<<<<<<<<<<<<
- * 
- *     return old_handler
- */
-  __pyx_k_tuple_17 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_16)); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_17);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));
-
-  /* "h5py/_errors.pyx":131
- *     void *stderr
- * 
- * def silence_errors():             # <<<<<<<<<<<<<<
- *     """ Disable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(NULL, NULL) < 0:
- */
-  __pyx_k_codeobj_18 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_19, __pyx_n_s__silence_errors, 131, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_errors.pyx":136
- *         raise RuntimeError("Failed to disable automatic error printing")
- * 
- * def unsilence_errors():             # <<<<<<<<<<<<<<
- *     """ Re-enable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(H5Eprint, stderr) < 0:
- */
-  __pyx_k_codeobj_21 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_19, __pyx_n_s__unsilence_errors, 136, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC init_errors(void); /*proto*/
-PyMODINIT_FUNC init_errors(void)
-#else
-PyMODINIT_FUNC PyInit__errors(void); /*proto*/
-PyMODINIT_FUNC PyInit__errors(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit__errors(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("_errors"), __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py._errors")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py._errors", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py___errors) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("set_exception", (void (*)(void))__pyx_f_4h5py_7_errors_set_exception, "int (void)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("set_error_handler", (void (*)(void))__pyx_f_4h5py_7_errors_set_error_handler, "__pyx_t_4h5py_7_errors_err_cookie (__pyx_t_4h5py_7_errors_err_cookie)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  /*--- Type import code ---*/
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  /*--- Execution code ---*/
-
-  /* "h5py/_errors.pyx":12
- * # Python-style minor error classes.  If the minor error code matches an entry
- * # in this dict, the generated exception will be used.
- * _minor_table = {             # <<<<<<<<<<<<<<
- *     H5E_SEEKERROR:      IOError,    # Seek failed
- *     H5E_READERROR:      IOError,    # Read failed
- */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-
-  /* "h5py/_errors.pyx":13
- * # in this dict, the generated exception will be used.
- * _minor_table = {
- *     H5E_SEEKERROR:      IOError,    # Seek failed             # <<<<<<<<<<<<<<
- *     H5E_READERROR:      IOError,    # Read failed
- *     H5E_WRITEERROR:     IOError,    # Write failed
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_SEEKERROR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":14
- * _minor_table = {
- *     H5E_SEEKERROR:      IOError,    # Seek failed
- *     H5E_READERROR:      IOError,    # Read failed             # <<<<<<<<<<<<<<
- *     H5E_WRITEERROR:     IOError,    # Write failed
- *     H5E_CLOSEERROR:     IOError,    # Close failed
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_READERROR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":15
- *     H5E_SEEKERROR:      IOError,    # Seek failed
- *     H5E_READERROR:      IOError,    # Read failed
- *     H5E_WRITEERROR:     IOError,    # Write failed             # <<<<<<<<<<<<<<
- *     H5E_CLOSEERROR:     IOError,    # Close failed
- *     H5E_OVERFLOW:       IOError,    # Address overflowed
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_WRITEERROR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":16
- *     H5E_READERROR:      IOError,    # Read failed
- *     H5E_WRITEERROR:     IOError,    # Write failed
- *     H5E_CLOSEERROR:     IOError,    # Close failed             # <<<<<<<<<<<<<<
- *     H5E_OVERFLOW:       IOError,    # Address overflowed
- *     H5E_FCNTL:          IOError,    # File control (fcntl) failed
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CLOSEERROR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":17
- *     H5E_WRITEERROR:     IOError,    # Write failed
- *     H5E_CLOSEERROR:     IOError,    # Close failed
- *     H5E_OVERFLOW:       IOError,    # Address overflowed             # <<<<<<<<<<<<<<
- *     H5E_FCNTL:          IOError,    # File control (fcntl) failed
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_OVERFLOW); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":18
- *     H5E_CLOSEERROR:     IOError,    # Close failed
- *     H5E_OVERFLOW:       IOError,    # Address overflowed
- *     H5E_FCNTL:          IOError,    # File control (fcntl) failed             # <<<<<<<<<<<<<<
- * 
- *     H5E_FILEEXISTS:     IOError,    # File already exists
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_FCNTL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":20
- *     H5E_FCNTL:          IOError,    # File control (fcntl) failed
- * 
- *     H5E_FILEEXISTS:     IOError,    # File already exists             # <<<<<<<<<<<<<<
- *     H5E_FILEOPEN:       IOError,    # File already open
- *     H5E_CANTCREATE:     IOError,    # Unable to create file
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_FILEEXISTS); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":21
- * 
- *     H5E_FILEEXISTS:     IOError,    # File already exists
- *     H5E_FILEOPEN:       IOError,    # File already open             # <<<<<<<<<<<<<<
- *     H5E_CANTCREATE:     IOError,    # Unable to create file
- *     H5E_CANTOPENFILE:   IOError,    # Unable to open file
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_FILEOPEN); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":22
- *     H5E_FILEEXISTS:     IOError,    # File already exists
- *     H5E_FILEOPEN:       IOError,    # File already open
- *     H5E_CANTCREATE:     IOError,    # Unable to create file             # <<<<<<<<<<<<<<
- *     H5E_CANTOPENFILE:   IOError,    # Unable to open file
- *     H5E_CANTCLOSEFILE:  IOError,    # Unable to close file
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANTCREATE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":23
- *     H5E_FILEOPEN:       IOError,    # File already open
- *     H5E_CANTCREATE:     IOError,    # Unable to create file
- *     H5E_CANTOPENFILE:   IOError,    # Unable to open file             # <<<<<<<<<<<<<<
- *     H5E_CANTCLOSEFILE:  IOError,    # Unable to close file
- *     H5E_NOTHDF5:        IOError,    # Not an HDF5 file
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANTOPENFILE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":24
- *     H5E_CANTCREATE:     IOError,    # Unable to create file
- *     H5E_CANTOPENFILE:   IOError,    # Unable to open file
- *     H5E_CANTCLOSEFILE:  IOError,    # Unable to close file             # <<<<<<<<<<<<<<
- *     H5E_NOTHDF5:        IOError,    # Not an HDF5 file
- *     H5E_BADFILE:        ValueError, # Bad file ID accessed
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANTCLOSEFILE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":25
- *     H5E_CANTOPENFILE:   IOError,    # Unable to open file
- *     H5E_CANTCLOSEFILE:  IOError,    # Unable to close file
- *     H5E_NOTHDF5:        IOError,    # Not an HDF5 file             # <<<<<<<<<<<<<<
- *     H5E_BADFILE:        ValueError, # Bad file ID accessed
- *     H5E_TRUNCATED:      IOError,    # File has been truncated
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_NOTHDF5); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":26
- *     H5E_CANTCLOSEFILE:  IOError,    # Unable to close file
- *     H5E_NOTHDF5:        IOError,    # Not an HDF5 file
- *     H5E_BADFILE:        ValueError, # Bad file ID accessed             # <<<<<<<<<<<<<<
- *     H5E_TRUNCATED:      IOError,    # File has been truncated
- *     H5E_MOUNT:          IOError,    # File mount error
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_BADFILE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":27
- *     H5E_NOTHDF5:        IOError,    # Not an HDF5 file
- *     H5E_BADFILE:        ValueError, # Bad file ID accessed
- *     H5E_TRUNCATED:      IOError,    # File has been truncated             # <<<<<<<<<<<<<<
- *     H5E_MOUNT:          IOError,    # File mount error
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_TRUNCATED); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":28
- *     H5E_BADFILE:        ValueError, # Bad file ID accessed
- *     H5E_TRUNCATED:      IOError,    # File has been truncated
- *     H5E_MOUNT:          IOError,    # File mount error             # <<<<<<<<<<<<<<
- * 
- *     H5E_NOFILTER:       IOError,    # Requested filter is not available
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_MOUNT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":30
- *     H5E_MOUNT:          IOError,    # File mount error
- * 
- *     H5E_NOFILTER:       IOError,    # Requested filter is not available             # <<<<<<<<<<<<<<
- *     H5E_CALLBACK:       IOError,    # Callback failed
- *     H5E_CANAPPLY:       IOError,    # Error from filter 'can apply' callback
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_NOFILTER); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":31
- * 
- *     H5E_NOFILTER:       IOError,    # Requested filter is not available
- *     H5E_CALLBACK:       IOError,    # Callback failed             # <<<<<<<<<<<<<<
- *     H5E_CANAPPLY:       IOError,    # Error from filter 'can apply' callback
- *     H5E_SETLOCAL:       IOError,    # Error from filter 'set local' callback
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CALLBACK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":32
- *     H5E_NOFILTER:       IOError,    # Requested filter is not available
- *     H5E_CALLBACK:       IOError,    # Callback failed
- *     H5E_CANAPPLY:       IOError,    # Error from filter 'can apply' callback             # <<<<<<<<<<<<<<
- *     H5E_SETLOCAL:       IOError,    # Error from filter 'set local' callback
- *     H5E_NOENCODER:      IOError,    # Filter present but encoding disabled
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANAPPLY); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":33
- *     H5E_CALLBACK:       IOError,    # Callback failed
- *     H5E_CANAPPLY:       IOError,    # Error from filter 'can apply' callback
- *     H5E_SETLOCAL:       IOError,    # Error from filter 'set local' callback             # <<<<<<<<<<<<<<
- *     H5E_NOENCODER:      IOError,    # Filter present but encoding disabled
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_SETLOCAL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":34
- *     H5E_CANAPPLY:       IOError,    # Error from filter 'can apply' callback
- *     H5E_SETLOCAL:       IOError,    # Error from filter 'set local' callback
- *     H5E_NOENCODER:      IOError,    # Filter present but encoding disabled             # <<<<<<<<<<<<<<
- * 
- *     H5E_BADATOM:        ValueError,  # Unable to find atom information (already closed?)
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_NOENCODER); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":36
- *     H5E_NOENCODER:      IOError,    # Filter present but encoding disabled
- * 
- *     H5E_BADATOM:        ValueError,  # Unable to find atom information (already closed?)             # <<<<<<<<<<<<<<
- *     H5E_BADGROUP:       ValueError,  # Unable to find ID group information
- *     H5E_BADSELECT:      ValueError,  # Invalid selection (hyperslabs)
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_BADATOM); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":37
- * 
- *     H5E_BADATOM:        ValueError,  # Unable to find atom information (already closed?)
- *     H5E_BADGROUP:       ValueError,  # Unable to find ID group information             # <<<<<<<<<<<<<<
- *     H5E_BADSELECT:      ValueError,  # Invalid selection (hyperslabs)
- *     H5E_UNINITIALIZED:  ValueError,  # Information is uinitialized
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_BADGROUP); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":38
- *     H5E_BADATOM:        ValueError,  # Unable to find atom information (already closed?)
- *     H5E_BADGROUP:       ValueError,  # Unable to find ID group information
- *     H5E_BADSELECT:      ValueError,  # Invalid selection (hyperslabs)             # <<<<<<<<<<<<<<
- *     H5E_UNINITIALIZED:  ValueError,  # Information is uinitialized
- *     H5E_UNSUPPORTED:    NotImplementedError,    # Feature is unsupported
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_BADSELECT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":39
- *     H5E_BADGROUP:       ValueError,  # Unable to find ID group information
- *     H5E_BADSELECT:      ValueError,  # Invalid selection (hyperslabs)
- *     H5E_UNINITIALIZED:  ValueError,  # Information is uinitialized             # <<<<<<<<<<<<<<
- *     H5E_UNSUPPORTED:    NotImplementedError,    # Feature is unsupported
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_UNINITIALIZED); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":40
- *     H5E_BADSELECT:      ValueError,  # Invalid selection (hyperslabs)
- *     H5E_UNINITIALIZED:  ValueError,  # Information is uinitialized
- *     H5E_UNSUPPORTED:    NotImplementedError,    # Feature is unsupported             # <<<<<<<<<<<<<<
- * 
- *     H5E_NOTFOUND:       KeyError,    # Object not found
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_UNSUPPORTED); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_NotImplementedError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":42
- *     H5E_UNSUPPORTED:    NotImplementedError,    # Feature is unsupported
- * 
- *     H5E_NOTFOUND:       KeyError,    # Object not found             # <<<<<<<<<<<<<<
- *     H5E_CANTINSERT:     ValueError,   # Unable to insert object
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_NOTFOUND); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_KeyError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":43
- * 
- *     H5E_NOTFOUND:       KeyError,    # Object not found
- *     H5E_CANTINSERT:     ValueError,   # Unable to insert object             # <<<<<<<<<<<<<<
- * 
- *     H5E_BADTYPE:        TypeError,   # Inappropriate type
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANTINSERT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":45
- *     H5E_CANTINSERT:     ValueError,   # Unable to insert object
- * 
- *     H5E_BADTYPE:        TypeError,   # Inappropriate type             # <<<<<<<<<<<<<<
- *     H5E_BADRANGE:       ValueError,  # Out of range
- *     H5E_BADVALUE:       ValueError,  # Bad value
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_BADTYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_TypeError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":46
- * 
- *     H5E_BADTYPE:        TypeError,   # Inappropriate type
- *     H5E_BADRANGE:       ValueError,  # Out of range             # <<<<<<<<<<<<<<
- *     H5E_BADVALUE:       ValueError,  # Bad value
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_BADRANGE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":47
- *     H5E_BADTYPE:        TypeError,   # Inappropriate type
- *     H5E_BADRANGE:       ValueError,  # Out of range
- *     H5E_BADVALUE:       ValueError,  # Bad value             # <<<<<<<<<<<<<<
- * 
- *     H5E_EXISTS:         ValueError,  # Object already exists
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_BADVALUE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":49
- *     H5E_BADVALUE:       ValueError,  # Bad value
- * 
- *     H5E_EXISTS:         ValueError,  # Object already exists             # <<<<<<<<<<<<<<
- *     H5E_ALREADYEXISTS:  ValueError,  # Object already exists, part II
- *     H5E_CANTCONVERT:    TypeError,   # Can't convert datatypes
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_EXISTS); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":50
- * 
- *     H5E_EXISTS:         ValueError,  # Object already exists
- *     H5E_ALREADYEXISTS:  ValueError,  # Object already exists, part II             # <<<<<<<<<<<<<<
- *     H5E_CANTCONVERT:    TypeError,   # Can't convert datatypes
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_ALREADYEXISTS); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":51
- *     H5E_EXISTS:         ValueError,  # Object already exists
- *     H5E_ALREADYEXISTS:  ValueError,  # Object already exists, part II
- *     H5E_CANTCONVERT:    TypeError,   # Can't convert datatypes             # <<<<<<<<<<<<<<
- * 
- *     H5E_CANTDELETE:     KeyError,    # Can't delete message
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANTCONVERT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_TypeError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":53
- *     H5E_CANTCONVERT:    TypeError,   # Can't convert datatypes
- * 
- *     H5E_CANTDELETE:     KeyError,    # Can't delete message             # <<<<<<<<<<<<<<
- * 
- *     H5E_CANTOPENOBJ:    KeyError,
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANTDELETE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_KeyError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":55
- *     H5E_CANTDELETE:     KeyError,    # Can't delete message
- * 
- *     H5E_CANTOPENOBJ:    KeyError,             # <<<<<<<<<<<<<<
- * 
- *     H5E_CANTMOVE:       ValueError,  # Can't move a link
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANTOPENOBJ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_KeyError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":57
- *     H5E_CANTOPENOBJ:    KeyError,
- * 
- *     H5E_CANTMOVE:       ValueError,  # Can't move a link             # <<<<<<<<<<<<<<
- *   }
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CANTMOVE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___minor_table, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-
-  /* "h5py/_errors.pyx":63
- * # of the minor error codes.  If a (major, minor) entry appears here,
- * # it will override any entry in the minor error table.
- * _exact_table = {             # <<<<<<<<<<<<<<
- *     (H5E_CACHE, H5E_BADVALUE):      IOError,  # obj create w/o write intent 1.8
- *     (H5E_RESOURCE, H5E_CANTINIT):   IOError,  # obj create w/o write intent 1.6
- */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-
-  /* "h5py/_errors.pyx":64
- * # it will override any entry in the minor error table.
- * _exact_table = {
- *     (H5E_CACHE, H5E_BADVALUE):      IOError,  # obj create w/o write intent 1.8             # <<<<<<<<<<<<<<
- *     (H5E_RESOURCE, H5E_CANTINIT):   IOError,  # obj create w/o write intent 1.6
- *     (H5E_INTERNAL, H5E_SYSERRSTR):  IOError,  # e.g. wrong file permissions
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_CACHE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(H5E_BADVALUE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_4), __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-
-  /* "h5py/_errors.pyx":65
- * _exact_table = {
- *     (H5E_CACHE, H5E_BADVALUE):      IOError,  # obj create w/o write intent 1.8
- *     (H5E_RESOURCE, H5E_CANTINIT):   IOError,  # obj create w/o write intent 1.6             # <<<<<<<<<<<<<<
- *     (H5E_INTERNAL, H5E_SYSERRSTR):  IOError,  # e.g. wrong file permissions
- *     (H5E_DATATYPE, H5E_CANTINIT):   TypeError,  # No conversion path
- */
-  __pyx_t_4 = PyInt_FromLong(H5E_RESOURCE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_3 = PyInt_FromLong(H5E_CANTINIT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_4 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_2), __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":66
- *     (H5E_CACHE, H5E_BADVALUE):      IOError,  # obj create w/o write intent 1.8
- *     (H5E_RESOURCE, H5E_CANTINIT):   IOError,  # obj create w/o write intent 1.6
- *     (H5E_INTERNAL, H5E_SYSERRSTR):  IOError,  # e.g. wrong file permissions             # <<<<<<<<<<<<<<
- *     (H5E_DATATYPE, H5E_CANTINIT):   TypeError,  # No conversion path
- *     (H5E_DATASET, H5E_CANTINIT):    ValueError,  # bad param for dataset setup
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_INTERNAL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(H5E_SYSERRSTR); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_4), __pyx_builtin_IOError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-
-  /* "h5py/_errors.pyx":67
- *     (H5E_RESOURCE, H5E_CANTINIT):   IOError,  # obj create w/o write intent 1.6
- *     (H5E_INTERNAL, H5E_SYSERRSTR):  IOError,  # e.g. wrong file permissions
- *     (H5E_DATATYPE, H5E_CANTINIT):   TypeError,  # No conversion path             # <<<<<<<<<<<<<<
- *     (H5E_DATASET, H5E_CANTINIT):    ValueError,  # bad param for dataset setup
- *     (H5E_ARGS, H5E_CANTINIT):       TypeError,  # Illegal operation on object
- */
-  __pyx_t_4 = PyInt_FromLong(H5E_DATATYPE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_3 = PyInt_FromLong(H5E_CANTINIT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_4 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_2), __pyx_builtin_TypeError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":68
- *     (H5E_INTERNAL, H5E_SYSERRSTR):  IOError,  # e.g. wrong file permissions
- *     (H5E_DATATYPE, H5E_CANTINIT):   TypeError,  # No conversion path
- *     (H5E_DATASET, H5E_CANTINIT):    ValueError,  # bad param for dataset setup             # <<<<<<<<<<<<<<
- *     (H5E_ARGS, H5E_CANTINIT):       TypeError,  # Illegal operation on object
- *     (H5E_SYM, H5E_CANTINIT):        ValueError, # Object already exists/1.8
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_DATASET); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(H5E_CANTINIT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_4), __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-
-  /* "h5py/_errors.pyx":69
- *     (H5E_DATATYPE, H5E_CANTINIT):   TypeError,  # No conversion path
- *     (H5E_DATASET, H5E_CANTINIT):    ValueError,  # bad param for dataset setup
- *     (H5E_ARGS, H5E_CANTINIT):       TypeError,  # Illegal operation on object             # <<<<<<<<<<<<<<
- *     (H5E_SYM, H5E_CANTINIT):        ValueError, # Object already exists/1.8
- *     (H5E_ARGS, H5E_BADTYPE):        ValueError, # Invalid location in file
- */
-  __pyx_t_4 = PyInt_FromLong(H5E_ARGS); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_3 = PyInt_FromLong(H5E_CANTINIT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_4 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_2), __pyx_builtin_TypeError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":70
- *     (H5E_DATASET, H5E_CANTINIT):    ValueError,  # bad param for dataset setup
- *     (H5E_ARGS, H5E_CANTINIT):       TypeError,  # Illegal operation on object
- *     (H5E_SYM, H5E_CANTINIT):        ValueError, # Object already exists/1.8             # <<<<<<<<<<<<<<
- *     (H5E_ARGS, H5E_BADTYPE):        ValueError, # Invalid location in file
- *     (H5E_REFERENCE, H5E_CANTINIT):  ValueError, # Dereferencing invalid ref
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_SYM); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(H5E_CANTINIT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_4), __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-
-  /* "h5py/_errors.pyx":71
- *     (H5E_ARGS, H5E_CANTINIT):       TypeError,  # Illegal operation on object
- *     (H5E_SYM, H5E_CANTINIT):        ValueError, # Object already exists/1.8
- *     (H5E_ARGS, H5E_BADTYPE):        ValueError, # Invalid location in file             # <<<<<<<<<<<<<<
- *     (H5E_REFERENCE, H5E_CANTINIT):  ValueError, # Dereferencing invalid ref
- *   }
- */
-  __pyx_t_4 = PyInt_FromLong(H5E_ARGS); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_3 = PyInt_FromLong(H5E_BADTYPE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_4 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_2), __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-
-  /* "h5py/_errors.pyx":72
- *     (H5E_SYM, H5E_CANTINIT):        ValueError, # Object already exists/1.8
- *     (H5E_ARGS, H5E_BADTYPE):        ValueError, # Invalid location in file
- *     (H5E_REFERENCE, H5E_CANTINIT):  ValueError, # Dereferencing invalid ref             # <<<<<<<<<<<<<<
- *   }
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5E_REFERENCE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(H5E_CANTINIT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_t_4), __pyx_builtin_ValueError) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___exact_table, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-
-  /* "h5py/_errors.pyx":131
- *     void *stderr
- * 
- * def silence_errors():             # <<<<<<<<<<<<<<
- *     """ Disable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(NULL, NULL) < 0:
- */
-  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_4h5py_7_errors_1silence_errors, NULL, __pyx_n_s_20); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__silence_errors, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/_errors.pyx":136
- *         raise RuntimeError("Failed to disable automatic error printing")
- * 
- * def unsilence_errors():             # <<<<<<<<<<<<<<
- *     """ Re-enable HDF5's automatic error printing in this thread """
- *     if H5Eset_auto(H5Eprint, stderr) < 0:
- */
-  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_4h5py_7_errors_3unsilence_errors, NULL, __pyx_n_s_20); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__unsilence_errors, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/_errors.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py._errors", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py._errors");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static CYTHON_INLINE PyObject* __Pyx_decode_c_string(
-         const char* cstring, Py_ssize_t start, Py_ssize_t stop,
-         const char* encoding, const char* errors,
-         PyObject* (*decode_func)(const char *s, Py_ssize_t size, const char *errors)) {
-    Py_ssize_t length;
-    if (unlikely((start < 0) | (stop < 0))) {
-        length = strlen(cstring);
-        if (start < 0) {
-            start += length;
-            if (start < 0)
-                start = 0;
-        }
-        if (stop < 0)
-            stop += length;
-    }
-    length = stop - start;
-    if (unlikely(length <= 0))
-        return PyUnicode_FromUnicode(NULL, 0);
-    cstring += start;
-    if (decode_func) {
-        return decode_func(cstring, length, errors);
-    } else {
-        return PyUnicode_Decode(cstring, length, encoding, errors);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
-                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename) {
-    PyObject *old_exc, *old_val, *old_tb;
-    PyObject *ctx;
-    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
-    #if PY_MAJOR_VERSION < 3
-    ctx = PyString_FromString(name);
-    #else
-    ctx = PyUnicode_FromString(name);
-    #endif
-    __Pyx_ErrRestore(old_exc, old_val, old_tb);
-    if (!ctx) {
-        PyErr_WriteUnraisable(Py_None);
-    } else {
-        PyErr_WriteUnraisable(ctx);
-        Py_DECREF(ctx);
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/_errors.pyx b/h5py/_errors.pyx
index 14fc073..d6ca8c0 100644
--- a/h5py/_errors.pyx
+++ b/h5py/_errors.pyx
@@ -88,9 +88,11 @@ cdef herr_t walk_cb(int n, H5E_error_t *desc, void *e):
 cdef int set_exception() except -1:
 
     cdef err_data_t err
-    cdef char *mj_desc = NULL
-    cdef char *mn_desc = NULL
-    cdef char *desc = NULL
+    cdef char *desc = NULL          # Note: HDF5 forbids freeing these
+    cdef char *desc_bottom = NULL
+
+    # First, extract the major & minor error codes from the top of the
+    # stack, along with the top-level error description
 
     err.n = -1
 
@@ -105,21 +107,23 @@ cdef int set_exception() except -1:
 
     desc = err.err.desc
     if desc is NULL:
-        raise RuntimeError("Failed to extract detailed error description")
-
-    try:
-        mj_desc = H5Eget_major(err.err.maj_num)
-        mn_desc = H5Eget_minor(err.err.min_num)
-        if mj_desc == NULL or mn_desc == NULL:
-            raise RuntimeError("Failed to obtain error code description")
-
-        msg = ("%s (%s: %s)" % (desc.decode('utf-8'), 
-                                mj_desc.decode('utf-8'), 
-                                mn_desc.decode('utf-8'))  ).encode('utf-8')
-    finally:
-        free(mj_desc)
-        free(mn_desc)
-        # HDF5 forbids freeing "desc"
+        raise RuntimeError("Failed to extract top-level error description")
+
+    # Second, retrieve the bottom-most error description for additional info
+
+    err.n = -1
+
+    if H5Ewalk(H5E_WALK_DOWNWARD, walk_cb, &err) < 0:
+        raise RuntimeError("Failed to walk error stack")
+
+    desc_bottom = err.err.desc
+    if desc_bottom is NULL:
+        raise RuntimeError("Failed to extract bottom-level error description")
+
+    msg = ("%s (%s)" % (desc.decode('utf-8').capitalize(), desc_bottom.decode('utf-8').capitalize())).encode('utf-8')
+
+    # Finally, set the exception.  We do this with the Python C function
+    # so that the traceback doesn't point here.
 
     PyErr_SetString(eclass, msg)
 
diff --git a/h5py/_hdf5.pxd b/h5py/_hdf5.pxd
index aa2cfe0..deeb5ba 100644
--- a/h5py/_hdf5.pxd
+++ b/h5py/_hdf5.pxd
@@ -6,14 +6,43 @@ cdef extern from "hdf5.h":
   herr_t H5open() except *
   herr_t H5close() except *
   herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum) except *
+  hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *
+  hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *
+  hid_t H5Aopen_name(hid_t loc_id, char *name) except *
+  herr_t H5Aclose(hid_t attr_id) except *
+  herr_t H5Adelete(hid_t loc_id, char *name) except *
+  herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *
+  herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *
+  int H5Aget_num_attrs(hid_t loc_id) except *
+  ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *
+  hid_t H5Aget_space(hid_t attr_id) except *
+  hid_t H5Aget_type(hid_t attr_id) except *
+  herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *
+  herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *
+  herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *
+  hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *
+  herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *
+  herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *
+  herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *
+  htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *
+  htri_t H5Aexists(hid_t obj_id, char *attr_name) except *
+  herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *
+  herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *
+  herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *
+  herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *
+  herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *
+  herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *
+  hsize_t H5Aget_storage_size(hid_t attr_id) except *
   hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id) except *
   hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id) except *
   hid_t H5Dopen(hid_t file_id, char *name) except *
+  hid_t H5Dopen2(hid_t loc_id, char *name, hid_t dapl_id ) except *
   herr_t H5Dclose(hid_t dset_id) except *
   hid_t H5Dget_space(hid_t dset_id) except *
   herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status) except *
   hid_t H5Dget_type(hid_t dset_id) except *
   hid_t H5Dget_create_plist(hid_t dataset_id) except *
+  hid_t H5Dget_access_plist(hid_t dataset_id) except *
   haddr_t H5Dget_offset(hid_t dset_id) except *
   hsize_t H5Dget_storage_size(hid_t dset_id) except *
   herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf) except *
@@ -46,6 +75,12 @@ cdef extern from "hdf5.h":
   herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) except *
   herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id) except *
   herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *
+  IF HDF5_VERSION >= (1, 8, 9):
+      IF MPI:
+          herr_t H5Fset_mpi_atomicity(hid_t file_id, hbool_t flag) except *
+  IF HDF5_VERSION >= (1, 8, 9):
+      IF MPI:
+          herr_t H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag) except *
   hid_t H5Gcreate(hid_t loc_id, char *name, size_t size_hint) except *
   hid_t H5Gopen(hid_t loc_id, char *name) except *
   herr_t H5Gclose(hid_t group_id) except *
@@ -72,6 +107,7 @@ cdef extern from "hdf5.h":
   int H5Idec_ref(hid_t obj_id) except *
   int H5Iget_ref(hid_t obj_id) except *
   int H5Iinc_ref(hid_t obj_id) except *
+  htri_t H5Iis_valid( hid_t obj_id ) except *
   herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *
   herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *
   herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *
@@ -107,6 +143,8 @@ cdef extern from "hdf5.h":
   herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data) except *
   herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id) except *
   herr_t H5Oclose(hid_t object_id) except *
+  IF HDF5_VERSION >= (1, 8, 5):
+      htri_t H5Oexists_by_name(hid_t loc_id, char * name, hid_t lapl_id ) except *
   hid_t H5Pcreate(hid_t plist_id) except *
   hid_t H5Pcopy(hid_t plist_id) except *
   int H5Pget_class(hid_t plist_id) except *
@@ -192,6 +230,12 @@ cdef extern from "hdf5.h":
   herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags) except *
   herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high) except *
   herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high) except *
+  herr_t H5Pset_alignment(hid_t plist_id, hsize_t threshold, hsize_t alignment) except *
+  herr_t H5Pget_alignment(hid_t plist_id, hsize_t *threshold, hsize_t *alignment) except *
+  IF MPI:
+      herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info) except *
+  IF MPI:
+      herr_t H5Pget_fapl_mpio(hid_t fapl_id, MPI_Comm *comm, MPI_Info *info) except *
   herr_t H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id) except *
   hid_t H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref) except *
   hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref) except *
@@ -237,7 +281,13 @@ cdef extern from "hdf5.h":
   htri_t H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class) except *
   herr_t H5Tclose(hid_t type_id) except *
   hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction) except *
+  herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *
+  hid_t H5Tdecode(unsigned char *buf) except *
+  herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *
+  H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *
   herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id) except *
+  herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *
+  herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *
   herr_t H5Tset_size(hid_t type_id, size_t size) except *
   H5T_order_t H5Tget_order(hid_t type_id) except *
   herr_t H5Tset_order(hid_t type_id, H5T_order_t order) except *
@@ -281,54 +331,12 @@ cdef extern from "hdf5.h":
   int H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm) except *
   herr_t H5Tset_tag(hid_t type_id, char* tag) except *
   char* H5Tget_tag(hid_t type_id) except *
-  hid_t H5Tdecode(unsigned char *buf) except *
-  herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *
-  herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *
-  H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *
-  herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *
-  herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *
   htri_t H5Zfilter_avail(H5Z_filter_t id_) except *
   herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags) except *
-  hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *
-  hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *
-  hid_t H5Aopen_name(hid_t loc_id, char *name) except *
-  herr_t H5Aclose(hid_t attr_id) except *
-  herr_t H5Adelete(hid_t loc_id, char *name) except *
-  herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *
-  herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *
-  int H5Aget_num_attrs(hid_t loc_id) except *
-  ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *
-  hid_t H5Aget_space(hid_t attr_id) except *
-  hid_t H5Aget_type(hid_t attr_id) except *
-  herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *
-  herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *
-  herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *
-  hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *
-  herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *
-  herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *
-  herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *
-  htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *
-  htri_t H5Aexists(hid_t obj_id, char *attr_name) except *
-  herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *
-  herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *
-  herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *
-  herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *
-  herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *
-  herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *
-  hsize_t H5Aget_storage_size(hid_t attr_id) except *
-  IF MPI:
-    herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info) except *
-  IF MPI:
-    herr_t H5Pset_fapl_mpiposix(hid_t fapl_id, MPI_Comm comm, hbool_t hints) except *
-  IF HDF5_VERSION >= (1, 8, 9):
-    IF MPI:
-        herr_t H5Fset_mpi_atomicity(hid_t file_id, hbool_t flag) except *
-  IF HDF5_VERSION >= (1, 8, 9):
-    IF MPI:
-        herr_t H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag) except *
 cdef extern from "hdf5_hl.h":
   herr_t H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx) except *
   herr_t H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx) except *
+  htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *
   herr_t H5DSset_scale(hid_t dsid, char *dimname) except *
   int H5DSget_num_scales(hid_t did, unsigned int dim) except *
   herr_t H5DSset_label(hid_t did, unsigned int idx, char *label) except *
@@ -336,4 +344,3 @@ cdef extern from "hdf5_hl.h":
   ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size) except *
   htri_t H5DSis_scale(hid_t did) except *
   herr_t H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data) except *
-  htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *
diff --git a/h5py/_hl/attrs.py b/h5py/_hl/attrs.py
index f6be7fd..37685d8 100644
--- a/h5py/_hl/attrs.py
+++ b/h5py/_hl/attrs.py
@@ -13,6 +13,7 @@ import collections
 import h5py
 from h5py import h5s, h5t, h5a
 from . import base
+from .base import phil, with_phil
 from .dataset import readtime_dtype
 
 
@@ -42,6 +43,7 @@ class AttributeManager(base.DictCompat, base.CommonStateObject):
         """
         self._id = parent.id
 
+    @with_phil
     def __getitem__(self, name):
         """ Read the value of an attribute.
         """
@@ -61,6 +63,7 @@ class AttributeManager(base.DictCompat, base.CommonStateObject):
             return arr[()]
         return arr
 
+    @with_phil
     def __setitem__(self, name, value):
         """ Set a new attribute, overwriting any existing attribute.
 
@@ -70,6 +73,7 @@ class AttributeManager(base.DictCompat, base.CommonStateObject):
         """
         self.create(name, data=value, dtype=base.guess_dtype(value))
 
+    @with_phil
     def __delitem__(self, name):
         """ Delete an attribute (which must already exist). """
         h5a.delete(self._id, self._e(name))
@@ -89,43 +93,44 @@ class AttributeManager(base.DictCompat, base.CommonStateObject):
             are given.
         """
 
-        if data is not None:
-            data = numpy.asarray(data, order='C', dtype=dtype)
-            if shape is None:
-                shape = data.shape
-            elif numpy.product(shape) != numpy.product(data.shape):
-                raise ValueError("Shape of new attribute conflicts with shape of data")
-
-            if dtype is None:
-                dtype = data.dtype
-
-        if isinstance(dtype, h5py.Datatype):
-            htype = dtype.id
-            dtype = htype.dtype
-        else:
-            if dtype is None:
-                dtype = numpy.dtype('f')
-            htype = h5t.py_create(dtype, logical=True)
+        with phil:
+            if data is not None:
+                data = numpy.asarray(data, order='C', dtype=dtype)
+                if shape is None:
+                    shape = data.shape
+                elif numpy.product(shape) != numpy.product(data.shape):
+                    raise ValueError("Shape of new attribute conflicts with shape of data")
+
+                if dtype is None:
+                    dtype = data.dtype
+
+            if isinstance(dtype, h5py.Datatype):
+                htype = dtype.id
+                dtype = htype.dtype
+            else:
+                if dtype is None:
+                    dtype = numpy.dtype('f')
+                htype = h5t.py_create(dtype, logical=True)
 
-        if shape is None:
-            raise ValueError('At least one of "shape" or "data" must be given')
+            if shape is None:
+                raise ValueError('At least one of "shape" or "data" must be given')
 
-        data = data.reshape(shape)
+            data = data.reshape(shape)
 
-        space = h5s.create_simple(shape)
+            space = h5s.create_simple(shape)
 
-        if name in self:
-            h5a.delete(self._id, self._e(name))
+            if name in self:
+                h5a.delete(self._id, self._e(name))
 
-        attr = h5a.create(self._id, self._e(name), htype, space)
+            attr = h5a.create(self._id, self._e(name), htype, space)
 
-        if data is not None:
-            try:
-                attr.write(data)
-            except:
-                attr._close()
-                h5a.delete(self._id, self._e(name))
-                raise
+            if data is not None:
+                try:
+                    attr.write(data)
+                except:
+                    attr._close()
+                    h5a.delete(self._id, self._e(name))
+                    raise
 
     def modify(self, name, value):
         """ Change the value of an attribute while preserving its type.
@@ -136,22 +141,24 @@ class AttributeManager(base.DictCompat, base.CommonStateObject):
 
         If the attribute doesn't exist, it will be automatically created.
         """
-        if not name in self:
-            self[name] = value
-        else:
-            value = numpy.asarray(value, order='C')
+        with phil:
+            if not name in self:
+                self[name] = value
+            else:
+                value = numpy.asarray(value, order='C')
 
-            attr = h5a.open(self._id, self._e(name))
+                attr = h5a.open(self._id, self._e(name))
 
-            if attr.get_space().get_simple_extent_type() == h5s.NULL:
-                raise IOError("Empty attributes can't be modified")
+                if attr.get_space().get_simple_extent_type() == h5s.NULL:
+                    raise IOError("Empty attributes can't be modified")
 
-            # Allow the case of () <-> (1,)
-            if (value.shape != attr.shape) and not \
-               (numpy.product(value.shape) == 1 and numpy.product(attr.shape) == 1):
-                raise TypeError("Shape of data is incompatible with existing attribute")
-            attr.write(value)
+                # Allow the case of () <-> (1,)
+                if (value.shape != attr.shape) and not \
+                   (numpy.product(value.shape) == 1 and numpy.product(attr.shape) == 1):
+                    raise TypeError("Shape of data is incompatible with existing attribute")
+                attr.write(value)
 
+    @with_phil
     def __len__(self):
         """ Number of attributes attached to the object. """
         # I expect we will not have more than 2**32 attributes
@@ -159,19 +166,22 @@ class AttributeManager(base.DictCompat, base.CommonStateObject):
 
     def __iter__(self):
         """ Iterate over the names of attributes. """
-        attrlist = []
+        with phil:
+            attrlist = []
 
-        def iter_cb(name, *args):
-            attrlist.append(self._d(name))
-        h5a.iterate(self._id, iter_cb)
+            def iter_cb(name, *args):
+                attrlist.append(self._d(name))
+            h5a.iterate(self._id, iter_cb)
 
         for name in attrlist:
             yield name
 
+    @with_phil
     def __contains__(self, name):
         """ Determine if an attribute exists, by name. """
         return h5a.exists(self._id, self._e(name))
 
+    @with_phil
     def __repr__(self):
         if not self._id:
             return "<Attributes of closed HDF5 object>"
diff --git a/h5py/_hl/base.py b/h5py/_hl/base.py
index 8cedf86..710934a 100644
--- a/h5py/_hl/base.py
+++ b/h5py/_hl/base.py
@@ -14,20 +14,27 @@ import sys
 
 from h5py import h5d, h5i, h5r, h5p, h5f, h5t
 
+# The high-level interface is serialized; every public API function & method
+# is wrapped in a lock.  We re-use the low-level lock because (1) it's fast, 
+# and (2) it eliminates the possibility of deadlocks due to out-of-order
+# lock acquisition.
+from h5py._objects import phil, with_phil
+
 py3 = sys.version_info[0] == 3
 
 
 def is_hdf5(fname):
     """ Determine if a file is valid HDF5 (False if it doesn't exist). """
-    fname = os.path.abspath(fname)
+    with phil:
+        fname = os.path.abspath(fname)
 
-    if os.path.isfile(fname):
-        try:
-            fname = fname.encode(sys.getfilesystemencoding())
-        except (UnicodeError, LookupError):
-            pass
-        return h5f.is_hdf5(fname)
-    return False
+        if os.path.isfile(fname):
+            try:
+                fname = fname.encode(sys.getfilesystemencoding())
+            except (UnicodeError, LookupError):
+                pass
+            return h5f.is_hdf5(fname)
+        return False
 
 
 def guess_dtype(data):
@@ -35,16 +42,17 @@ def guess_dtype(data):
     if nothing is appropriate (or if it should be left up the the array
     constructor to figure out)
     """
-    if isinstance(data, h5r.RegionReference):
-        return h5t.special_dtype(ref=h5r.RegionReference)
-    if isinstance(data, h5r.Reference):
-        return h5t.special_dtype(ref=h5r.Reference)
-    if type(data) == bytes:
-        return h5t.special_dtype(vlen=bytes)
-    if type(data) == unicode:
-        return h5t.special_dtype(vlen=unicode)
+    with phil:
+        if isinstance(data, h5r.RegionReference):
+            return h5t.special_dtype(ref=h5r.RegionReference)
+        if isinstance(data, h5r.Reference):
+            return h5t.special_dtype(ref=h5r.Reference)
+        if type(data) == bytes:
+            return h5t.special_dtype(vlen=bytes)
+        if type(data) == unicode:
+            return h5t.special_dtype(vlen=unicode)
 
-    return None
+        return None
 
 
 def default_lapl():
@@ -160,6 +168,7 @@ class _RegionProxy(object):
     def __init__(self, obj):
         self.id = obj.id
 
+    @with_phil
     def __getitem__(self, args):
         if not isinstance(self.id, h5d.DatasetID):
             raise TypeError("Region references can only be made to datasets")
@@ -169,15 +178,17 @@ class _RegionProxy(object):
 
     def shape(self, ref):
         """ Get the shape of the target dataspace referred to by *ref*. """
-        sid = h5r.get_region(ref, self.id)
-        return sid.shape
+        with phil:
+            sid = h5r.get_region(ref, self.id)
+            return sid.shape
 
     def selection(self, ref):
         """ Get the shape of the target dataspace selection referred to by *ref*
         """
-        from . import selections
-        sid = h5r.get_region(ref, self.id)
-        return selections.guess_shape(sid)
+        with phil:
+            from . import selections
+            sid = h5r.get_region(ref, self.id)
+            return selections.guess_shape(sid)
 
 
 class HLObject(CommonStateObject):
@@ -187,17 +198,20 @@ class HLObject(CommonStateObject):
     """
 
     @property
+    @with_phil
     def file(self):
         """ Return a File instance associated with this object """
         import files
         return files.File(self.id)
 
     @property
+    @with_phil
     def name(self):
         """ Return the full name of this object.  None if anonymous. """
         return self._d(h5i.get_name(self.id))
 
     @property
+    @with_phil
     def parent(self):
         """Return the parent group of this object.
 
@@ -209,16 +223,19 @@ class HLObject(CommonStateObject):
         return self.file[posixpath.dirname(self.name)]
 
     @property
+    @with_phil
     def id(self):
         """ Low-level identifier appropriate for this object """
         return self._id
 
     @property
+    @with_phil
     def ref(self):
         """ An (opaque) HDF5 reference to this object """
         return h5r.create(self.id, b'.', h5r.OBJECT)
 
     @property
+    @with_phil
     def regionref(self):
         """Create a region reference (Datasets only).
 
@@ -232,28 +249,34 @@ class HLObject(CommonStateObject):
         return _RegionProxy(self)
 
     @property
+    @with_phil
     def attrs(self):
         """ Attributes attached to this object """
         import attrs
         return attrs.AttributeManager(self)
 
+    @with_phil
     def __init__(self, oid):
         """ Setup this object, given its low-level identifier """
         self._id = oid
 
+    @with_phil
     def __hash__(self):
         return hash(self.id)
 
+    @with_phil
     def __eq__(self, other):
         if hasattr(other, 'id'):
             return self.id == other.id
         return False
 
+    @with_phil
     def __ne__(self, other):
         return not self.__eq__(other)
 
     def __nonzero__(self):
-        return bool(self.id)
+        with phil:
+            return bool(self.id)
 
 
 class View(object):
@@ -261,15 +284,18 @@ class View(object):
     def __init__(self, obj):
         self._obj = obj
 
+    @with_phil
     def __len__(self):
         return len(self._obj)
 
 
 class KeyView(View):
 
+    @with_phil
     def __contains__(self, what):
         return what in self._obj
 
+    @with_phil
     def __iter__(self):
         for x in self._obj:
             yield x
@@ -280,6 +306,7 @@ class ValueView(View):
     def __contains__(self, what):
         raise TypeError("Containership testing doesn't work for values. :(")
 
+    @with_phil
     def __iter__(self):
         for x in self._obj:
             yield self._obj.get(x)
@@ -287,11 +314,13 @@ class ValueView(View):
 
 class ItemView(View):
 
+    @with_phil
     def __contains__(self, what):
         if what[0] in self._obj:
             return what[1] == self._obj.get(what[0])
         return False
 
+    @with_phil
     def __iter__(self):
         for x in self._obj:
             yield (x, self._obj.get(x))
@@ -306,10 +335,11 @@ class DictCompat(object):
 
     def get(self, name, default=None):
         """ Retrieve the member, or return default if it doesn't exist """
-        try:
-            return self[name]
-        except KeyError:
-            return default
+        with phil:
+            try:
+                return self[name]
+            except KeyError:
+                return default
 
     if py3:
         def keys(self):
@@ -327,7 +357,8 @@ class DictCompat(object):
     else:
         def keys(self):
             """ Get a list containing member names """
-            return list(self)
+            with phil:
+                return list(self)
 
         def iterkeys(self):
             """ Get an iterator over member names """
@@ -335,7 +366,8 @@ class DictCompat(object):
 
         def values(self):
             """ Get a list containing member objects """
-            return [self.get(x) for x in self]
+            with phil:
+                return [self.get(x) for x in self]
 
         def itervalues(self):
             """ Get an iterator over member objects """
@@ -344,7 +376,8 @@ class DictCompat(object):
 
         def items(self):
             """ Get a list of tuples containing (name, object) pairs """
-            return [(x, self.get(x)) for x in self]
+            with phil:
+                return [(x, self.get(x)) for x in self]
 
         def iteritems(self):
             """ Get an iterator over (name, object) pairs """
diff --git a/h5py/_hl/dataset.py b/h5py/_hl/dataset.py
index b530788..3f71da4 100644
--- a/h5py/_hl/dataset.py
+++ b/h5py/_hl/dataset.py
@@ -13,18 +13,16 @@ import numpy
 
 import h5py
 from h5py import h5s, h5t, h5r, h5d
-from .base import HLObject, py3
+from .base import HLObject, py3, phil, with_phil
 from . import filters
 from . import selections as sel
 from . import selections2 as sel2
 
+_LEGACY_GZIP_COMPRESSION_VALS = frozenset(range(10))
+
 def readtime_dtype(basetype, names):
     """ Make a NumPy dtype appropriate for reading """
 
-    if basetype.kind == 'O':
-        # Special-dtype fields break indexing
-        basetype = numpy.dtype('O')
-
     if len(names) == 0:  # Not compound, or we want all fields
         return basetype
 
@@ -61,6 +59,13 @@ def make_new_dset(parent, shape=None, dtype=None, data=None,
         if data is not None and (numpy.product(shape) != numpy.product(data.shape)):
             raise ValueError("Shape tuple is incompatible with data")
 
+    tmp_shape = maxshape if maxshape is not None else shape
+    # Validate chunk shape
+    if isinstance(chunks, tuple) and (-numpy.array([ i>=j for i,j in zip(tmp_shape,chunks) if i is not None])).any():
+        errmsg = "Chunk shape must not be greater than data shape in any dimension. "\
+                 "{} is not compatible with {}".format(chunks, shape)
+        raise ValueError(errmsg)
+
     if isinstance(dtype, h5py.Datatype):
         # Named types are used as-is
         tid = dtype.id
@@ -86,7 +91,7 @@ def make_new_dset(parent, shape=None, dtype=None, data=None,
         compression = 'gzip'
 
     # Legacy
-    if compression in range(10):
+    if compression in _LEGACY_GZIP_COMPRESSION_VALS:
         if compression_opts is not None:
             raise TypeError("Conflict in compression options")
         compression_opts = compression
@@ -146,29 +151,35 @@ class Dataset(HLObject):
         return AstypeContext(self, dtype)
 
     @property
+    @with_phil
     def dims(self):
         from . dims import DimensionManager
         return DimensionManager(self)
 
     @property
+    @with_phil
     def shape(self):
         """Numpy-style shape tuple giving dataset dimensions"""
         return self.id.shape
     @shape.setter
+    @with_phil
     def shape(self, shape):
         self.resize(shape)
 
     @property
+    @with_phil
     def size(self):
         """Numpy-style attribute giving the total dataset size"""
         return numpy.prod(self.shape)
 
     @property
+    @with_phil
     def dtype(self):
         """Numpy dtype representing the datatype"""
         return self.id.dtype
 
     @property
+    @with_phil
     def value(self):
         """  Alias for dataset[()] """
         DeprecationWarning("dataset.value has been deprecated. "
@@ -176,6 +187,7 @@ class Dataset(HLObject):
         return self[()]
 
     @property
+    @with_phil
     def chunks(self):
         """Dataset chunks (or None)"""
         dcpl = self._dcpl
@@ -184,6 +196,7 @@ class Dataset(HLObject):
         return None
 
     @property
+    @with_phil
     def compression(self):
         """Compression strategy (or None)"""
         for x in ('gzip','lzf','szip'):
@@ -192,21 +205,25 @@ class Dataset(HLObject):
         return None
 
     @property
+    @with_phil
     def compression_opts(self):
         """ Compression setting.  Int(0-9) for gzip, 2-tuple for szip. """
         return self._filters.get(self.compression, None)
 
     @property
+    @with_phil
     def shuffle(self):
         """Shuffle filter present (T/F)"""
         return 'shuffle' in self._filters
 
     @property
+    @with_phil
     def fletcher32(self):
         """Fletcher32 filter is present (T/F)"""
         return 'fletcher32' in self._filters
 
     @property
+    @with_phil
     def scaleoffset(self):
         """Scale/offset filter settings. For integer data types, this is
         the number of bits stored, or 0 for auto-detected. For floating
@@ -218,6 +235,7 @@ class Dataset(HLObject):
             return None
 
     @property
+    @with_phil
     def maxshape(self):
         """Shape up to which this dataset can be resized.  Axes with value
         None have no resize limit. """
@@ -226,12 +244,14 @@ class Dataset(HLObject):
         return tuple(x if x != h5s.UNLIMITED else None for x in dims)
 
     @property
+    @with_phil
     def fillvalue(self):
         """Fill value for this dataset (0 by default)"""
         arr = numpy.ndarray((1,), dtype=self.dtype)
         dcpl = self._dcpl.get_fill_value(arr)
         return arr[0]
 
+    @with_phil
     def __init__(self, bind):
         """ Create a new Dataset object by binding to a low-level DatasetID.
         """
@@ -260,23 +280,25 @@ class Dataset(HLObject):
         grown or shrunk independently.  The coordinates of existing data are
         fixed.
         """
-        if self.chunks is None:
-            raise TypeError("Only chunked datasets can be resized")
-
-        if axis is not None:
-            if not (axis >=0 and axis < self.id.rank):
-                raise ValueError("Invalid axis (0 to %s allowed)" % (self.id.rank-1))
-            try:
-                newlen = int(size)
-            except TypeError:
-                raise TypeError("Argument must be a single int if axis is specified")
-            size = list(self.shape)
-            size[axis] = newlen
-
-        size = tuple(size)
-        self.id.set_extent(size)
-        #h5f.flush(self.id)  # THG recommends
-
+        with phil:
+            if self.chunks is None:
+                raise TypeError("Only chunked datasets can be resized")
+
+            if axis is not None:
+                if not (axis >=0 and axis < self.id.rank):
+                    raise ValueError("Invalid axis (0 to %s allowed)" % (self.id.rank-1))
+                try:
+                    newlen = int(size)
+                except TypeError:
+                    raise TypeError("Argument must be a single int if axis is specified")
+                size = list(self.shape)
+                size[axis] = newlen
+
+            size = tuple(size)
+            self.id.set_extent(size)
+            #h5f.flush(self.id)  # THG recommends
+
+    @with_phil
     def __len__(self):
         """ The size of the first axis.  TypeError if scalar.
 
@@ -293,11 +315,13 @@ class Dataset(HLObject):
         Use of this method is preferred to len(dset), as Python's built-in
         len() cannot handle values greater then 2**32 on 32-bit systems.
         """
-        shape = self.shape
-        if len(shape) == 0:
-            raise TypeError("Attempt to take len() of scalar dataset")
-        return shape[0]
+        with phil:
+            shape = self.shape
+            if len(shape) == 0:
+                raise TypeError("Attempt to take len() of scalar dataset")
+            return shape[0]
 
+    @with_phil
     def __iter__(self):
         """ Iterate over the first axis.  TypeError if scalar.
 
@@ -310,6 +334,7 @@ class Dataset(HLObject):
             yield self[i]
 
 
+    @with_phil
     def __getitem__(self, args):
         """ Read a slice from the HDF5 dataset.
 
@@ -324,8 +349,10 @@ class Dataset(HLObject):
         args = args if isinstance(args, tuple) else (args,)
 
         # Sort field indices from the rest of the args.
-        names = tuple(x for x in args if isinstance(x, str))
-        args = tuple(x for x in args if not isinstance(x, str))
+        names = tuple(x for x in args if isinstance(x, basestring))
+        args = tuple(x for x in args if not isinstance(x, basestring))
+        if not py3:
+            names = tuple(x.encode('utf-8') if isinstance(x, unicode) else x for x in names)
 
         def strip_fields(basetype):
             """ Strip extra dtype information from special types """
@@ -364,8 +391,9 @@ class Dataset(HLObject):
 
             return numpy.dtype([(name, basetype.fields[name][0]) for name in names])
 
-        if self._local.astype is not None:
-            new_dtype = readtime_dtype(self._local.astype, names)
+        new_dtype = getattr(self._local, 'astype', None)
+        if new_dtype is not None:
+            new_dtype = readtime_dtype(new_dtype, names)
         else:
             # This is necessary because in the case of array types, NumPy
             # discards the array information at the top level.
@@ -383,9 +411,9 @@ class Dataset(HLObject):
             sid = h5r.get_region(args[0], self.id)
             mshape = sel.guess_shape(sid)
             if mshape is None:
-                return np.array((0,), dtype=new_dtype)
+                return numpy.array((0,), dtype=new_dtype)
             if numpy.product(mshape) == 0:
-                return np.array(mshape, dtype=new_dtype)
+                return numpy.array(mshape, dtype=new_dtype)
             out = numpy.empty(mshape, dtype=new_dtype)
             sid_out = h5s.create_simple(mshape)
             sid_out.select_all()
@@ -447,6 +475,8 @@ class Dataset(HLObject):
             arr = arr[0]
         return arr
 
+
+    @with_phil
     def __setitem__(self, args, val):
         """ Write to the HDF5 dataset from a Numpy array.
 
@@ -457,12 +487,33 @@ class Dataset(HLObject):
         args = args if isinstance(args, tuple) else (args,)
 
         # Sort field indices from the slicing
-        names = tuple(x for x in args if isinstance(x, str))
-        args = tuple(x for x in args if not isinstance(x, str))
+        names = tuple(x for x in args if isinstance(x, basestring))
+        args = tuple(x for x in args if not isinstance(x, basestring))
+        if not py3:
+            names = tuple(x.encode('utf-8') if isinstance(x, unicode) else x for x in names)
 
         # Generally we try to avoid converting the arrays on the Python
         # side.  However, for compound literals this is unavoidable.
-        if self.dtype.kind == "O" or \
+        vlen = h5t.check_dtype(vlen=self.dtype)
+        if vlen not in (bytes, unicode, None):
+            try:
+                val = numpy.asarray(val, dtype=vlen)
+            except ValueError:
+                try:
+                    val = numpy.array([numpy.array(x, dtype=vlen)
+                                       for x in val], dtype=self.dtype)
+                except ValueError:
+                    pass
+            if vlen == val.dtype:
+                if val.ndim > 1:
+                    tmp = numpy.empty(shape=val.shape[:-1], dtype=object)
+                    tmp.ravel()[:] = [i for i in val.reshape(
+                        (numpy.product(val.shape[:-1]), val.shape[-1]))]
+                else:
+                    tmp = numpy.array([None], dtype=object)
+                    tmp[0] = val
+                val = tmp
+        elif self.dtype.kind == "O" or \
           (self.dtype.kind == 'V' and \
           (not isinstance(val, numpy.ndarray) or val.dtype.kind != 'V') and \
           (self.dtype.subdtype == None)):
@@ -558,20 +609,20 @@ class Dataset(HLObject):
 
         Broadcasting is supported for simple indexing.
         """
+        with phil:
+            if source_sel is None:
+                source_sel = sel.SimpleSelection(self.shape)
+            else:
+                source_sel = sel.select(self.shape, source_sel, self.id)  # for numpy.s_
+            fspace = source_sel._id
 
-        if source_sel is None:
-            source_sel = sel.SimpleSelection(self.shape)
-        else:
-            source_sel = sel.select(self.shape, source_sel, self.id)  # for numpy.s_
-        fspace = source_sel._id
-
-        if dest_sel is None:
-            dest_sel = sel.SimpleSelection(dest.shape)
-        else:
-            dest_sel = sel.select(dest.shape, dest_sel, self.id)
+            if dest_sel is None:
+                dest_sel = sel.SimpleSelection(dest.shape)
+            else:
+                dest_sel = sel.select(dest.shape, dest_sel, self.id)
 
-        for mspace in dest_sel.broadcast(source_sel.mshape):
-            self.id.read(mspace, fspace, dest)
+            for mspace in dest_sel.broadcast(source_sel.mshape):
+                self.id.read(mspace, fspace, dest)
 
     def write_direct(self, source, source_sel=None, dest_sel=None):
         """ Write data directly to HDF5 from a NumPy array.
@@ -581,20 +632,22 @@ class Dataset(HLObject):
 
         Broadcasting is supported for simple indexing.
         """
-        if source_sel is None:
-            source_sel = sel.SimpleSelection(source.shape)
-        else:
-            source_sel = sel.select(source.shape, source_sel, self.id)  # for numpy.s_
-        mspace = source_sel._id
+        with phil:
+            if source_sel is None:
+                source_sel = sel.SimpleSelection(source.shape)
+            else:
+                source_sel = sel.select(source.shape, source_sel, self.id)  # for numpy.s_
+            mspace = source_sel._id
 
-        if dest_sel is None:
-            dest_sel = sel.SimpleSelection(self.shape)
-        else:
-            dest_sel = sel.select(self.shape, dest_sel, self.id)
+            if dest_sel is None:
+                dest_sel = sel.SimpleSelection(self.shape)
+            else:
+                dest_sel = sel.select(self.shape, dest_sel, self.id)
 
-        for fspace in dest_sel.broadcast(source_sel.mshape):
-            self.id.write(mspace, fspace, source)
+            for fspace in dest_sel.broadcast(source_sel.mshape):
+                self.id.write(mspace, fspace, source)
 
+    @with_phil
     def __array__(self, dtype=None):
         """ Create a Numpy array containing the whole dataset.  DON'T THINK
         THIS MEANS DATASETS ARE INTERCHANGABLE WITH ARRAYS.  For one thing,
@@ -609,6 +662,7 @@ class Dataset(HLObject):
         self.read_direct(arr)
         return arr
 
+    @with_phil
     def __repr__(self):
         if not self:
             r = u'<Closed HDF5 dataset>'
diff --git a/h5py/_hl/datatype.py b/h5py/_hl/datatype.py
index 2cc479c..3e1dd01 100644
--- a/h5py/_hl/datatype.py
+++ b/h5py/_hl/datatype.py
@@ -10,7 +10,7 @@
 import posixpath as pp
 
 from ..h5t import TypeID
-from .base import HLObject
+from .base import HLObject, phil, with_phil
 
 class Datatype(HLObject):
 
@@ -25,10 +25,12 @@ class Datatype(HLObject):
     """
 
     @property
+    @with_phil
     def dtype(self):
         """Numpy dtype equivalent for this datatype"""
         return self.id.dtype
 
+    @with_phil
     def __init__(self, bind):
         """ Create a new Datatype object by binding to a low-level TypeID.
         """
@@ -36,6 +38,7 @@ class Datatype(HLObject):
             raise ValueError("%s is not a TypeID" % bind)
         HLObject.__init__(self, bind)
 
+    @with_phil
     def __repr__(self):
         if not self.id:
             return "<Closed HDF5 named type>"
diff --git a/h5py/_hl/dims.py b/h5py/_hl/dims.py
index 8bb62ec..af7db6e 100644
--- a/h5py/_hl/dims.py
+++ b/h5py/_hl/dims.py
@@ -11,12 +11,14 @@ import numpy
 
 from h5py import h5ds
 from . import base
+from .base import phil, with_phil
 from .dataset import Dataset, readtime_dtype
 
 
 class DimensionProxy(base.CommonStateObject):
 
     @property
+    @with_phil
     def label(self):
         #return h5ds.get_label(self._id, self._dimension)
         # Produces a segfault for a non-existent label (Fixed in hdf5-1.8.8).
@@ -27,26 +29,33 @@ class DimensionProxy(base.CommonStateObject):
         except (KeyError, IndexError):
             return ''
     @label.setter
+    @with_phil
     def label(self, val):
         h5ds.set_label(self._id, self._dimension, self._e(val))
 
+    @with_phil
     def __init__(self, id, dimension):
         self._id = id
         self._dimension = dimension
 
+    @with_phil
     def __hash__(self):
         return hash((type(self), self._id, self._dimension))
 
+    @with_phil
     def __eq__(self, other):
         return hash(self) == hash(other)
 
+    @with_phil
     def __iter__(self):
         for k in self.keys():
             yield k
 
+    @with_phil
     def __len__(self):
         return h5ds.get_num_scales(self._id, self._dimension)
 
+    @with_phil
     def __getitem__(self, item):
         if isinstance(item, int):
             scales = []
@@ -64,27 +73,38 @@ class DimensionProxy(base.CommonStateObject):
             return res
 
     def attach_scale(self, dset):
-        h5ds.attach_scale(self._id, dset.id, self._dimension)
+        with phil:
+            h5ds.attach_scale(self._id, dset.id, self._dimension)
 
     def detach_scale(self, dset):
-        h5ds.detach_scale(self._id, dset.id, self._dimension)
+        with phil:
+            h5ds.detach_scale(self._id, dset.id, self._dimension)
 
     def items(self):
-        scales = []
-        def f(dsid):
-            scales.append(dsid)
-        h5ds.iterate(self._id, self._dimension, f, 0)
-        return [
-            (self._d(h5ds.get_scale_name(id)), Dataset(id))
-            for id in scales
-            ]
+        with phil:
+            scales = []
+            def f(dsid):
+                scales.append(dsid)
+            
+            # H5DSiterate raises an error if there are no dimension scales,
+            # rather than iterating 0 times.  See #483.
+            if len(self) > 0:
+                h5ds.iterate(self._id, self._dimension, f, 0)
+                
+            return [
+                (self._d(h5ds.get_scale_name(id)), Dataset(id))
+                for id in scales
+                ]
 
     def keys(self):
-        return [key for (key, val) in self.items()]
+        with phil:
+            return [key for (key, val) in self.items()]
 
     def values(self):
-        return [val for (key, val) in self.items()]
+        with phil:
+            return [val for (key, val) in self.items()]
 
+    @with_phil
     def __repr__(self):
         if not self._id:
             return "<Dimension of closed HDF5 dataset>"
@@ -97,11 +117,13 @@ class DimensionManager(base.DictCompat, base.CommonStateObject):
     """
     """
 
+    @with_phil
     def __init__(self, parent):
         """ Private constructor.
         """
         self._id = parent.id
 
+    @with_phil
     def __getitem__(self, index):
         """ Return a Dimension object
         """
@@ -109,19 +131,23 @@ class DimensionManager(base.DictCompat, base.CommonStateObject):
             raise IndexError('Index out of range')
         return DimensionProxy(self._id, index)
 
+    @with_phil
     def __len__(self):
         """ Number of dimensions associated with the dataset. """
         return len(Dataset(self._id).shape)
 
+    @with_phil
     def __iter__(self):
         """ Iterate over the dimensions. """
         for i in range(len(self)):
             yield self[i]
 
+    @with_phil
     def __repr__(self):
         if not self._id:
             return "<Dimensions of closed HDF5 dataset>"
         return "<Dimensions of HDF5 object at %s>" % id(self._id)
 
     def create_scale(self, dset, name=''):
-        h5ds.set_scale(dset.id, self._e(name))
+        with phil:
+            h5ds.set_scale(dset.id, self._e(name))
diff --git a/h5py/_hl/files.py b/h5py/_hl/files.py
index 8bae42d..7985194 100644
--- a/h5py/_hl/files.py
+++ b/h5py/_hl/files.py
@@ -11,7 +11,7 @@ import weakref
 import sys
 import os
 
-from .base import HLObject, py3
+from .base import HLObject, py3, phil, with_phil
 from .group import Group
 from h5py import h5, h5f, h5p, h5i, h5fd, h5t, _objects
 from h5py import version
@@ -29,7 +29,6 @@ libver_dict_r = dict((y, x) for x, y in libver_dict.iteritems())
 def make_fapl(driver, libver, **kwds):
     """ Set up a file access property list """
     plist = h5p.create(h5p.FILE_ACCESS)
-    plist.set_fclose_degree(h5f.CLOSE_STRONG)
 
     if libver is not None:
         if libver in libver_dict:
@@ -83,22 +82,37 @@ def make_fid(name, mode, userblock_size, fapl, fcpl=None):
         fid = h5f.create(name, h5f.ACC_EXCL, fapl=fapl, fcpl=fcpl)
     elif mode == 'w':
         fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl)
-    elif mode == 'a' or mode is None:
+    elif mode == 'a':
+        # Open in append mode (read/write).
+        # If that fails, create a new file only if it won't clobber an
+        # existing one (ACC_EXCL)
         try:
             fid = h5f.open(name, h5f.ACC_RDWR, fapl=fapl)
-            try:
-                existing_fcpl = fid.get_create_plist()
-                if (userblock_size is not None and
-                        existing_fcpl.get_userblock() != userblock_size):
-                    raise ValueError("Requested userblock size (%d) does not match that of existing file (%d)" % (userblock_size, existing_fcpl.get_userblock()))
-            except:
-                fid.close()
-                raise
         except IOError:
             fid = h5f.create(name, h5f.ACC_EXCL, fapl=fapl, fcpl=fcpl)
+    elif mode is None:
+        # Try to open in append mode (read/write).
+        # If that fails, try readonly, and finally create a new file only
+        # if it won't clobber an existing file (ACC_EXCL).
+        try:
+            fid = h5f.open(name, h5f.ACC_RDWR, fapl=fapl)
+        except IOError:
+            try:
+                fid = h5f.open(name, h5f.ACC_RDONLY, fapl=fapl)
+            except IOError:
+                fid = h5f.create(name, h5f.ACC_EXCL, fapl=fapl, fcpl=fcpl)
     else:
         raise ValueError("Invalid mode; must be one of r, r+, w, w-, a")
 
+    try:
+        if userblock_size is not None:
+            existing_fcpl = fid.get_create_plist()
+            if existing_fcpl.get_userblock() != userblock_size:
+                raise ValueError("Requested userblock size (%d) does not match that of existing file (%d)" % (userblock_size, existing_fcpl.get_userblock()))
+    except:
+        fid.close()
+        raise
+
     return fid
 
 
@@ -109,6 +123,7 @@ class File(Group):
     """
 
     @property
+    @with_phil
     def attrs(self):
         """ Attributes attached to this object """
         # hdf5 complains that a file identifier is an invalid location for an
@@ -117,6 +132,7 @@ class File(Group):
         return attrs.AttributeManager(self['/'])
 
     @property
+    @with_phil
     def filename(self):
         """File name on disk"""
         name = h5f.get_name(self.fid)
@@ -126,6 +142,7 @@ class File(Group):
             return name
 
     @property
+    @with_phil
     def driver(self):
         """Low-level HDF5 file driver used to open file"""
         drivers = {h5fd.SEC2: 'sec2', h5fd.STDIO: 'stdio',
@@ -135,23 +152,27 @@ class File(Group):
         return drivers.get(self.fid.get_access_plist().get_driver(), 'unknown')
 
     @property
+    @with_phil
     def mode(self):
         """ Python mode used to open file """
         return {h5f.ACC_RDONLY: 'r',
                 h5f.ACC_RDWR: 'r+'}.get(self.fid.get_intent())
 
     @property
+    @with_phil
     def fid(self):
         """File ID (backwards compatibility) """
         return self.id
 
     @property
+    @with_phil
     def libver(self):
         """File format version bounds (2-tuple: low, high)"""
         bounds = self.id.get_access_plist().get_libver_bounds()
         return tuple(libver_dict_r[x] for x in bounds)
 
     @property
+    @with_phil
     def userblock_size(self):
         """ User block size (in bytes) """
         fcpl = self.fid.get_create_plist()
@@ -161,12 +182,14 @@ class File(Group):
     if mpi and hdf5_version >= (1, 8, 9):
 
         @property
+        @with_phil
         def atomic(self):
             """ Set/get MPI-IO atomic mode 
             """
             return self.id.get_mpi_atomicity()
 
         @atomic.setter
+        @with_phil
         def atomic(self, value):
             self.id.set_mpi_atomicity(value)
 
@@ -192,41 +215,63 @@ class File(Group):
         Additional keywords
             Passed on to the selected file driver.
         """
-        if isinstance(name, _objects.ObjectID):
-            fid = h5i.get_file_id(name)
-        else:
-            try:
-                # If the byte string doesn't match the default
-                # encoding, just pass it on as-is.  Note Unicode
-                # objects can always be encoded.
-                name = name.encode(sys.getfilesystemencoding())
-            except (UnicodeError, LookupError):
-                pass
-
-            fapl = make_fapl(driver, libver, **kwds)
-            fid = make_fid(name, mode, userblock_size, fapl)
-
-        Group.__init__(self, fid)
+        with phil:
+            if isinstance(name, _objects.ObjectID):
+                fid = h5i.get_file_id(name)
+            else:
+                try:
+                    # If the byte string doesn't match the default
+                    # encoding, just pass it on as-is.  Note Unicode
+                    # objects can always be encoded.
+                    name = name.encode(sys.getfilesystemencoding())
+                except (UnicodeError, LookupError):
+                    pass
+
+                fapl = make_fapl(driver, libver, **kwds)
+                fid = make_fid(name, mode, userblock_size, fapl)
+
+            Group.__init__(self, fid)
 
     def close(self):
         """ Close the file.  All open objects become invalid """
-        # TODO: find a way to square this with having issue 140
-        # Not clearing shared state introduces a tiny memory leak, but
-        # it goes like the number of files opened in a session.
-        self.id.close()
+        with phil:
+            # We have to explicitly murder all open objects related to the file
+            
+            # Close file-resident objects first, then the files.
+            # Otherwise we get errors in MPI mode.
+            id_list = h5f.get_obj_ids(self.id, ~h5f.OBJ_FILE)
+            file_list = h5f.get_obj_ids(self.id, h5f.OBJ_FILE)
+            
+            id_list = [x for x in id_list if h5i.get_file_id(x).id == self.id.id]
+            file_list = [x for x in file_list if h5i.get_file_id(x).id == self.id.id]
+            
+            for id_ in id_list:
+                while id_.valid:
+                    h5i.dec_ref(id_)
+                    
+            for id_ in file_list:
+                while id_.valid:
+                    h5i.dec_ref(id_)
+                    
+            self.id.close()
+            _objects.nonlocal_close()
 
     def flush(self):
         """ Tell the HDF5 library to flush its buffers.
         """
-        h5f.flush(self.fid)
+        with phil:
+            h5f.flush(self.fid)
 
+    @with_phil
     def __enter__(self):
         return self
 
+    @with_phil
     def __exit__(self, *args):
         if self.id:
             self.close()
 
+    @with_phil
     def __repr__(self):
         if not self.id:
             r = u'<Closed HDF5 file>'
diff --git a/h5py/_hl/filters.py b/h5py/_hl/filters.py
index f81fa64..32e2719 100644
--- a/h5py/_hl/filters.py
+++ b/h5py/_hl/filters.py
@@ -99,7 +99,7 @@ def generate_dcpl(shape, dtype, chunks, compression, compression_opts,
 
     if compression is not None:
 
-        if compression not in encode:
+        if compression not in encode and not isinstance(compression, int):
             raise ValueError('Compression filter "%s" is unavailable' % compression)
 
         if compression == 'gzip':
@@ -194,6 +194,11 @@ def generate_dcpl(shape, dtype, chunks, compression, compression_opts,
     elif compression == 'szip':
         opts = {'ec': h5z.SZIP_EC_OPTION_MASK, 'nn': h5z.SZIP_NN_OPTION_MASK}
         plist.set_szip(opts[szmethod], szpix)
+    elif isinstance(compression, int):
+        if not h5z.filter_avail(compression):
+            raise ValueError("Unknown compression filter number: %s" % compression)
+
+        plist.set_filter(compression, h5z.FLAG_OPTIONAL, compression_opts)
 
     return plist
 
diff --git a/h5py/_hl/group.py b/h5py/_hl/group.py
index 2843b5e..6033c5f 100644
--- a/h5py/_hl/group.py
+++ b/h5py/_hl/group.py
@@ -14,7 +14,7 @@ import collections
 
 from h5py import h5g, h5i, h5o, h5r, h5t, h5l, h5p
 from . import base
-from .base import HLObject, DictCompat, py3
+from .base import HLObject, DictCompat, py3, phil, with_phil
 from . import dataset
 from . import datatype
 
@@ -27,9 +27,10 @@ class Group(HLObject, DictCompat):
     def __init__(self, bind):
         """ Create a new Group object by binding to a low-level GroupID.
         """
-        if not isinstance(bind, h5g.GroupID):
-            raise ValueError("%s is not a GroupID" % bind)
-        HLObject.__init__(self, bind)
+        with phil:
+            if not isinstance(bind, h5g.GroupID):
+                raise ValueError("%s is not a GroupID" % bind)
+            HLObject.__init__(self, bind)
 
     def create_group(self, name):
         """ Create and return a new subgroup.
@@ -37,9 +38,10 @@ class Group(HLObject, DictCompat):
         Name may be absolute or relative.  Fails if the target name already
         exists.
         """
-        name, lcpl = self._e(name, lcpl=True)
-        gid = h5g.create(self.id, name, lcpl=lcpl)
-        return Group(gid)
+        with phil:
+            name, lcpl = self._e(name, lcpl=True)
+            gid = h5g.create(self.id, name, lcpl=lcpl)
+            return Group(gid)
 
     def create_dataset(self, name, shape=None, dtype=None, data=None, **kwds):
         """ Create a new HDF5 dataset
@@ -66,11 +68,14 @@ class Group(HLObject, DictCompat):
             (Tuple) Make the dataset resizable up to this shape.  Use None for
             axes you want to be unlimited.
         compression
-            (String) Compression strategy.  Legal values are 'gzip', 'szip',
-            'lzf'.  Can also use an integer in range(10) indicating gzip.
+            (String or int) Compression strategy.  Legal values are 'gzip',
+            'szip', 'lzf'.  If an integer in range(10), this indicates gzip
+            compression level. Otherwise, an integer indicates the number of a
+            dynamically loaded compression filter.
         compression_opts
             Compression settings.  This is an integer for gzip, 2-tuple for
-            szip, etc.
+            szip, etc. If specifying a dynamically loaded compression filter
+            number, this must be a tuple of values.
         scaleoffset
             (Integer) Enable scale/offset filter for (usually) lossy
             compression of integer or floating-point data. For integer
@@ -90,12 +95,12 @@ class Group(HLObject, DictCompat):
         track_times
             (T/F) Enable dataset creation timestamps.
         """
-
-        dsid = dataset.make_new_dset(self, shape, dtype, data, **kwds)
-        dset = dataset.Dataset(dsid)
-        if name is not None:
-            self[name] = dset
-        return dset
+        with phil:
+            dsid = dataset.make_new_dset(self, shape, dtype, data, **kwds)
+            dset = dataset.Dataset(dsid)
+            if name is not None:
+                self[name] = dset
+            return dset
 
     def require_dataset(self, name, shape, dtype, exact=False, **kwds):
         """ Open a dataset, creating it if it doesn't exist.
@@ -110,24 +115,24 @@ class Group(HLObject, DictCompat):
         Raises TypeError if an incompatible object already exists, or if the
         shape or dtype don't match according to the above rules.
         """
+        with phil:
+            if not name in self:
+                return self.create_dataset(name, *(shape, dtype), **kwds)
 
-        if not name in self:
-            return self.create_dataset(name, *(shape, dtype), **kwds)
-
-        dset = self[name]
-        if not isinstance(dset, dataset.Dataset):
-            raise TypeError("Incompatible object (%s) already exists" % dset.__class__.__name__)
+            dset = self[name]
+            if not isinstance(dset, dataset.Dataset):
+                raise TypeError("Incompatible object (%s) already exists" % dset.__class__.__name__)
 
-        if not shape == dset.shape:
-            raise TypeError("Shapes do not match (existing %s vs new %s)" % (dset.shape, shape))
+            if not shape == dset.shape:
+                raise TypeError("Shapes do not match (existing %s vs new %s)" % (dset.shape, shape))
 
-        if exact:
-            if not dtype == dset.dtype:
-                raise TypeError("Datatypes do not exactly match (existing %s vs new %s)" % (dset.dtype, dtype))
-        elif not numpy.can_cast(dtype, dset.dtype):
-            raise TypeError("Datatypes cannot be safely cast (existing %s vs new %s)" % (dset.dtype, dtype))
+            if exact:
+                if not dtype == dset.dtype:
+                    raise TypeError("Datatypes do not exactly match (existing %s vs new %s)" % (dset.dtype, dtype))
+            elif not numpy.can_cast(dtype, dset.dtype):
+                raise TypeError("Datatypes cannot be safely cast (existing %s vs new %s)" % (dset.dtype, dtype))
 
-        return dset
+            return dset
 
     def require_group(self, name):
         """ Return a group, creating it if it doesn't exist.
@@ -135,13 +140,15 @@ class Group(HLObject, DictCompat):
         TypeError is raised if something with that name already exists that
         isn't a group.
         """
-        if not name in self:
-            return self.create_group(name)
-        grp = self[name]
-        if not isinstance(grp, Group):
-            raise TypeError("Incompatible object (%s) already exists" % grp.__class__.__name__)
-        return grp
-
+        with phil:
+            if not name in self:
+                return self.create_group(name)
+            grp = self[name]
+            if not isinstance(grp, Group):
+                raise TypeError("Incompatible object (%s) already exists" % grp.__class__.__name__)
+            return grp
+
+    @with_phil
     def __getitem__(self, name):
         """ Open an object in the file """
 
@@ -186,45 +193,47 @@ class Group(HLObject, DictCompat):
         >>> if cls == SoftLink:
         ...     print '"foo" is a soft link!'
         """
-        if not (getclass or getlink):
-            try:
-                return self[name]
-            except KeyError:
+        with phil:
+            if not (getclass or getlink):
+                try:
+                    return self[name]
+                except KeyError:
+                    return default
+
+            if not name in self:
                 return default
 
-        if not name in self:
-            return default
-
-        elif getclass and not getlink:
-            typecode = h5o.get_info(self.id, self._e(name)).type
-
-            try:
-                return {h5o.TYPE_GROUP: Group,
-                        h5o.TYPE_DATASET: dataset.Dataset,
-                        h5o.TYPE_NAMED_DATATYPE: datatype.Datatype}[typecode]
-            except KeyError:
-                raise TypeError("Unknown object type")
-
-        elif getlink:
-            typecode = self.id.links.get_info(self._e(name)).type
-
-            if typecode == h5l.TYPE_SOFT:
-                if getclass:
-                    return SoftLink
-                linkbytes = self.id.links.get_val(self._e(name))
-                return SoftLink(self._d(linkbytes))
-            elif typecode == h5l.TYPE_EXTERNAL:
-                if getclass:
-                    return ExternalLink
-                filebytes, linkbytes = self.id.links.get_val(self._e(name))
-                # TODO: I think this is wrong,
-                # we should use filesystem decoding on the filename
-                return ExternalLink(self._d(filebytes), self._d(linkbytes))
-            elif typecode == h5l.TYPE_HARD:
-                return HardLink if getclass else HardLink()
-            else:
-                raise TypeError("Unknown link type")
-
+            elif getclass and not getlink:
+                typecode = h5o.get_info(self.id, self._e(name)).type
+
+                try:
+                    return {h5o.TYPE_GROUP: Group,
+                            h5o.TYPE_DATASET: dataset.Dataset,
+                            h5o.TYPE_NAMED_DATATYPE: datatype.Datatype}[typecode]
+                except KeyError:
+                    raise TypeError("Unknown object type")
+
+            elif getlink:
+                typecode = self.id.links.get_info(self._e(name)).type
+
+                if typecode == h5l.TYPE_SOFT:
+                    if getclass:
+                        return SoftLink
+                    linkbytes = self.id.links.get_val(self._e(name))
+                    return SoftLink(self._d(linkbytes))
+                elif typecode == h5l.TYPE_EXTERNAL:
+                    if getclass:
+                        return ExternalLink
+                    filebytes, linkbytes = self.id.links.get_val(self._e(name))
+                    # TODO: I think this is wrong,
+                    # we should use filesystem decoding on the filename
+                    return ExternalLink(self._d(filebytes), self._d(linkbytes))
+                elif typecode == h5l.TYPE_HARD:
+                    return HardLink if getclass else HardLink()
+                else:
+                    raise TypeError("Unknown link type")
+
+    @with_phil
     def __setitem__(self, name, obj):
         """ Add an object to the group.  The name must not already be in use.
 
@@ -270,19 +279,23 @@ class Group(HLObject, DictCompat):
             ds = self.create_dataset(None, data=obj, dtype=base.guess_dtype(obj))
             h5o.link(ds.id, self.id, name, lcpl=lcpl)
 
+    @with_phil
     def __delitem__(self, name):
         """ Delete (unlink) an item from this group. """
         self.id.unlink(self._e(name))
 
+    @with_phil
     def __len__(self):
         """ Number of members attached to this group """
         return self.id.get_num_objs()
 
+    @with_phil
     def __iter__(self):
         """ Iterate over member names """
         for x in self.id.__iter__():
             yield self._d(x)
 
+    @with_phil
     def __contains__(self, name):
         """ Test if a member name exists """
         return self._e(name) in self.id
@@ -325,46 +338,47 @@ class Group(HLObject, DictCompat):
         ['MyGroup', 'MyCopy']
 
         """
-        if isinstance(source, HLObject):
-            source_path = '.'
-        else:
-            # Interpret source as a path relative to this group
-            source_path = source
-            source = self
-
-        if isinstance(dest, Group):
-            if name is not None:
-                dest_path = name
+        with phil:
+            if isinstance(source, HLObject):
+                source_path = '.'
             else:
-                # copy source into dest group: dest_name/source_name
-                dest_path = pp.basename(h5i.get_name(source[source_path].id))
-
-        elif isinstance(dest, HLObject):
-            raise TypeError("Destination must be path or Group object")
-        else:
-            # Interpret destination as a path relative to this group
-            dest_path = dest
-            dest = self
-
-        flags = 0
-        if shallow:
-            flags |= h5o.COPY_SHALLOW_HIERARCHY_FLAG
-        if expand_soft:
-            flags |= h5o.COPY_EXPAND_SOFT_LINK_FLAG
-        if expand_external:
-            flags |= h5o.COPY_EXPAND_EXT_LINK_FLAG
-        if expand_refs:
-            flags |= h5o.COPY_EXPAND_REFERENCE_FLAG
-        if without_attrs:
-            flags |= h5o.COPY_WITHOUT_ATTR_FLAG
-        if flags:
-            copypl = h5p.create(h5p.OBJECT_COPY)
-            copypl.set_copy_object(flags)
-        else:
-            copypl = None
+                # Interpret source as a path relative to this group
+                source_path = source
+                source = self
+
+            if isinstance(dest, Group):
+                if name is not None:
+                    dest_path = name
+                else:
+                    # copy source into dest group: dest_name/source_name
+                    dest_path = pp.basename(h5i.get_name(source[source_path].id))
+
+            elif isinstance(dest, HLObject):
+                raise TypeError("Destination must be path or Group object")
+            else:
+                # Interpret destination as a path relative to this group
+                dest_path = dest
+                dest = self
+
+            flags = 0
+            if shallow:
+                flags |= h5o.COPY_SHALLOW_HIERARCHY_FLAG
+            if expand_soft:
+                flags |= h5o.COPY_EXPAND_SOFT_LINK_FLAG
+            if expand_external:
+                flags |= h5o.COPY_EXPAND_EXT_LINK_FLAG
+            if expand_refs:
+                flags |= h5o.COPY_EXPAND_REFERENCE_FLAG
+            if without_attrs:
+                flags |= h5o.COPY_WITHOUT_ATTR_FLAG
+            if flags:
+                copypl = h5p.create(h5p.OBJECT_COPY)
+                copypl.set_copy_object(flags)
+            else:
+                copypl = None
 
-        h5o.copy(source.id, self._e(source_path), dest.id, self._e(dest_path),
-                 copypl, base.dlcpl)
+            h5o.copy(source.id, self._e(source_path), dest.id, self._e(dest_path),
+                     copypl, base.dlcpl)
 
     def move(self, source, dest):
         """ Move a link to a new location in the file.
@@ -373,10 +387,11 @@ class Group(HLObject, DictCompat):
         "source" is a soft or external link, the link itself is moved, with its
         value unmodified.
         """
-        if source == dest:
-            return
-        self.id.links.move(self._e(source), self.id, self._e(dest),
-                           lapl=self._lapl, lcpl=self._lcpl)
+        with phil:
+            if source == dest:
+                return
+            self.id.links.move(self._e(source), self.id, self._e(dest),
+                               lapl=self._lapl, lcpl=self._lcpl)
 
     def visit(self, func):
         """ Recursively visit all names in this group and subgroups (HDF5 1.8).
@@ -398,9 +413,10 @@ class Group(HLObject, DictCompat):
         >>> list_of_names = []
         >>> f.visit(list_of_names.append)
         """
-        def proxy(name):
-            return func(self._d(name))
-        return h5o.visit(self.id, proxy)
+        with phil:
+            def proxy(name):
+                return func(self._d(name))
+            return h5o.visit(self.id, proxy)
 
     def visititems(self, func):
         """ Recursively visit names and objects in this group (HDF5 1.8).
@@ -426,11 +442,13 @@ class Group(HLObject, DictCompat):
         >>> f = File('foo.hdf5')
         >>> f.visititems(func)
         """
-        def proxy(name):
-            name = self._d(name)
-            return func(name, self[name])
-        return h5o.visit(self.id, proxy)
+        with phil:
+            def proxy(name):
+                name = self._d(name)
+                return func(name, self[name])
+            return h5o.visit(self.id, proxy)
 
+    @with_phil
     def __repr__(self):
         if not self:
             r = u"<Closed HDF5 group>"
diff --git a/h5py/_hl/selections2.py b/h5py/_hl/selections2.py
index b9c945c..c6ce8ac 100644
--- a/h5py/_hl/selections2.py
+++ b/h5py/_hl/selections2.py
@@ -10,23 +10,6 @@
 import numpy as np
 from h5py import h5s
 
-def strip_fields(basetype):
-    """ Convenience function to recursively strip extra dtype information 
-    from special types """
-
-    if basetype.kind == 'O':
-        return np.dtype('O')
-
-    if basetype.fields is not None:
-        fields = []
-        for name in basetype.names:
-            subtype, meta = basetype.fields[name]
-            subtype = strip_fields(subtype)
-            fields.append((name, subtype))
-        return np.dtype(fields)
-
-    return basetype
-
 def read_dtypes(dataset_dtype, names):
     """ Returns a 2-tuple containing:
 
@@ -53,10 +36,6 @@ def read_dtypes(dataset_dtype, names):
     else:
         output_dtype = format_dtype
 
-    # The field metadata for special types screws up NumPy indexing
-    # (issues 181 and 202)
-    output_dtype = strip_fields(output_dtype)
-
     return output_dtype, format_dtype
 
 
diff --git a/h5py/_hl/tests/__init__.py b/h5py/_hl/tests/__init__.py
deleted file mode 100644
index a23327b..0000000
--- a/h5py/_hl/tests/__init__.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file is part of h5py, a Python interface to the HDF5 library.
-#
-# http://www.h5py.org
-#
-# Copyright 2008-2013 Andrew Collette and contributors
-#
-# License:  Standard 3-clause BSD; see "license.txt" for full license terms
-#           and contributor agreement.
diff --git a/h5py/_locks.pxi b/h5py/_locks.pxi
index 8438754..6672b58 100644
--- a/h5py/_locks.pxi
+++ b/h5py/_locks.pxi
@@ -1,3 +1,11 @@
+cdef class BogoLock:
+
+    def __enter__(self):
+        pass
+
+    def __exit__(self, *args):
+        pass
+
 ## {{{ http://code.activestate.com/recipes/577336/ (r3)
 from cpython cimport pythread
 from cpython.exc cimport PyErr_NoMemory
diff --git a/h5py/_objects.c b/h5py/_objects.c
deleted file mode 100644
index bf74949..0000000
--- a/h5py/_objects.c
+++ /dev/null
@@ -1,6678 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py___objects
-#define __PYX_HAVE_API__h5py___objects
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "stdio.h"
-#include "pythread.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "_objects.pyx",
-  "_objects.pxd",
-  "type.pxd",
-  "bool.pxd",
-  "complex.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects__Registry;
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_8_objects_FastRLock;
-
-/* "h5py/_objects.pyx":164
- * 
- * 
- * cdef class _Registry:             # <<<<<<<<<<<<<<
- * 
- *     cdef object _data
- */
-struct __pyx_obj_4h5py_8_objects__Registry {
-  PyObject_HEAD
-  PyObject *_data;
-  struct __pyx_obj_4h5py_8_objects_FastRLock *lock;
-};
-
-
-/* "h5py/_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5py/_objects.pyx":47
- * from cpython.exc cimport PyErr_NoMemory
- * 
- * cdef class FastRLock:             # <<<<<<<<<<<<<<
- *     """Fast, re-entrant locking.
- * 
- */
-struct __pyx_obj_4h5py_8_objects_FastRLock {
-  PyObject_HEAD
-  PyThread_type_lock _real_lock;
-  long _owner;
-  int _count;
-  int _pending_requests;
-  int _is_locked;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-#define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_DelItemInt_Fast(o, i) : \
-                                                    __Pyx_DelItem_Generic(o, to_py_func(i)))
-static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) {
-    int r;
-    if (!j) return -1;
-    r = PyObject_DelItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_PYPY
-    if (PySequence_Check(o)) {
-        return PySequence_DelItem(o, i);
-    }
-#else
-    PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-    if (likely(m && m->sq_ass_item)) {
-        if (unlikely(i < 0) && likely(m->sq_length)) {
-            Py_ssize_t l = m->sq_length(o);
-            if (unlikely(l < 0)) return -1;
-            i += l;
-        }
-        return m->sq_ass_item(o, i, (PyObject *)NULL);
-    }
-#endif
-    return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-#ifndef __PYX_FORCE_INIT_THREADS
-  #define __PYX_FORCE_INIT_THREADS 0
-#endif
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
-
-#include "descrobject.h"
-static PyObject* __Pyx_Method_ClassMethod(PyObject *method); /*proto*/
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static herr_t (*__pyx_f_4h5py_4defs_H5Gget_objinfo)(hid_t, char *, int, H5G_stat_t *); /*proto*/
-static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/
-
-/* Module declarations from 'cpython.version' */
-
-/* Module declarations from 'cpython.ref' */
-
-/* Module declarations from 'cpython.exc' */
-
-/* Module declarations from 'cpython.module' */
-
-/* Module declarations from 'cpython.mem' */
-
-/* Module declarations from 'cpython.tuple' */
-
-/* Module declarations from 'cpython.list' */
-
-/* Module declarations from 'libc.string' */
-
-/* Module declarations from 'libc.stdio' */
-
-/* Module declarations from 'cpython.object' */
-
-/* Module declarations from 'cpython.sequence' */
-
-/* Module declarations from 'cpython.mapping' */
-
-/* Module declarations from 'cpython.iterator' */
-
-/* Module declarations from '__builtin__' */
-
-/* Module declarations from 'cpython.type' */
-static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;
-
-/* Module declarations from 'cpython.number' */
-
-/* Module declarations from 'cpython.int' */
-
-/* Module declarations from '__builtin__' */
-
-/* Module declarations from 'cpython.bool' */
-static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;
-
-/* Module declarations from 'cpython.long' */
-
-/* Module declarations from 'cpython.float' */
-
-/* Module declarations from '__builtin__' */
-
-/* Module declarations from 'cpython.complex' */
-static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;
-
-/* Module declarations from 'cpython.string' */
-
-/* Module declarations from 'cpython.unicode' */
-
-/* Module declarations from 'cpython.dict' */
-
-/* Module declarations from 'cpython.instance' */
-
-/* Module declarations from 'cpython.function' */
-
-/* Module declarations from 'cpython.method' */
-
-/* Module declarations from 'cpython.weakref' */
-
-/* Module declarations from 'cpython.getargs' */
-
-/* Module declarations from 'cpython.pythread' */
-
-/* Module declarations from 'cpython.pystate' */
-
-/* Module declarations from 'cpython.cobject' */
-
-/* Module declarations from 'cpython.oldbuffer' */
-
-/* Module declarations from 'cpython.set' */
-
-/* Module declarations from 'cpython.buffer' */
-
-/* Module declarations from 'cpython.bytes' */
-
-/* Module declarations from 'cpython.pycapsule' */
-
-/* Module declarations from 'cpython' */
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_FastRLock = 0;
-static PyTypeObject *__pyx_ptype_4h5py_8_objects__Registry = 0;
-static CYTHON_INLINE int __pyx_f_4h5py_8_objects_lock_lock(struct __pyx_obj_4h5py_8_objects_FastRLock *, long, int); /*proto*/
-static int __pyx_f_4h5py_8_objects__acquire_lock(struct __pyx_obj_4h5py_8_objects_FastRLock *, long, int); /*proto*/
-static CYTHON_INLINE void __pyx_f_4h5py_8_objects_unlock_lock(struct __pyx_obj_4h5py_8_objects_FastRLock *); /*proto*/
-#define __Pyx_MODULE_NAME "h5py._objects"
-int __pyx_module_is_main_h5py___objects = 0;
-
-/* Implementation of 'h5py._objects' */
-static PyObject *__pyx_builtin_RuntimeError;
-static PyObject *__pyx_builtin_AttributeError;
-static PyObject *__pyx_builtin_NotImplemented;
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_Exception;
-static PyObject *__pyx_builtin_KeyError;
-static int __pyx_pf_4h5py_8_objects_9FastRLock___cinit__(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self); /* proto */
-static void __pyx_pf_4h5py_8_objects_9FastRLock_2__dealloc__(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_4acquire(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self, int __pyx_v_blocking); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_6release(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_8__enter__(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_10__exit__(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_v, CYTHON_UNUSED PyObject *__pyx_v_tb); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_12_is_owned(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_8_objects_9_Registry___cinit__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_9_Registry_2cleanup(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_9_Registry_4__getitem__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
-static int __pyx_pf_4h5py_8_objects_9_Registry_6__setitem__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val); /* proto */
-static int __pyx_pf_4h5py_8_objects_9_Registry_8__delitem__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self, PyObject *__pyx_v_key); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_9_Registry_4lock___get__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_6fileno___get__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_5valid___get__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_8_objects_8ObjectID___cinit__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self, PyObject *__pyx_v_id); /* proto */
-static void __pyx_pf_4h5py_8_objects_8ObjectID_2__dealloc__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_8_objects_8ObjectID_4__nonzero__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_6__copy__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_8__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */
-static Py_hash_t __pyx_pf_4h5py_8_objects_8ObjectID_10__hash__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_12open(PyObject *__pyx_v_cls, PyObject *__pyx_v_id); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_2id___get__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_6locked___get__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_8_objects_8ObjectID_6locked_2__set__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static char __pyx_k_1[] = "cannot release un-acquired lock";
-static char __pyx_k_4[] = ".";
-static char __pyx_k_7[] = "Objects of class %s cannot be hashed";
-static char __pyx_k_9[] = "\n    Implements ObjectID base class and global object registry.\n\n    It used to be that we could store the HDF5 identifier in an ObjectID\n    and simply close it when the object was deallocated.  However, since\n    HDF5 1.8.5 they have started recycling object identifiers, which\n    breaks this system.\n\n    We now use a global registry of object identifiers.  This is implemented\n    via a dictionary which maps an integer representation of the identifie [...]
-static char __pyx_k__t[] = "t";
-static char __pyx_k__v[] = "v";
-static char __pyx_k__id[] = "id";
-static char __pyx_k__tb[] = "tb";
-static char __pyx_k__pop[] = "pop";
-static char __pyx_k__ref[] = "ref";
-static char __pyx_k__lock[] = "lock";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__valid[] = "valid";
-static char __pyx_k__weakref[] = "weakref";
-static char __pyx_k__KeyError[] = "KeyError";
-static char __pyx_k__KeyedRef[] = "KeyedRef";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____hash__[] = "__hash__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____name__[] = "__name__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__blocking[] = "blocking";
-static char __pyx_k__registry[] = "registry";
-static char __pyx_k__Exception[] = "Exception";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k____class__[] = "__class__";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__RuntimeError[] = "RuntimeError";
-static char __pyx_k__AttributeError[] = "AttributeError";
-static char __pyx_k__NotImplemented[] = "NotImplemented";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_7;
-static PyObject *__pyx_n_s__AttributeError;
-static PyObject *__pyx_n_s__Exception;
-static PyObject *__pyx_n_s__KeyError;
-static PyObject *__pyx_n_s__KeyedRef;
-static PyObject *__pyx_n_s__NotImplemented;
-static PyObject *__pyx_n_s__RuntimeError;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s____class__;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____hash__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____name__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s__blocking;
-static PyObject *__pyx_n_s__id;
-static PyObject *__pyx_n_s__lock;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__pop;
-static PyObject *__pyx_n_s__ref;
-static PyObject *__pyx_n_s__registry;
-static PyObject *__pyx_n_s__t;
-static PyObject *__pyx_n_s__tb;
-static PyObject *__pyx_n_s__v;
-static PyObject *__pyx_n_s__valid;
-static PyObject *__pyx_n_s__weakref;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_3;
-static PyObject *__pyx_k_tuple_5;
-static PyObject *__pyx_k_tuple_6;
-static PyObject *__pyx_k_tuple_8;
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_8_objects_9FastRLock_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_8_objects_9FastRLock_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
-  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
-  __pyx_r = __pyx_pf_4h5py_8_objects_9FastRLock___cinit__(((struct __pyx_obj_4h5py_8_objects_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":62
- *     cdef bint _is_locked        # whether the real lock is acquired
- * 
- *     def __cinit__(self):             # <<<<<<<<<<<<<<
- *         self._owner = -1
- *         self._count = 0
- */
-
-static int __pyx_pf_4h5py_8_objects_9FastRLock___cinit__(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "h5py/_objects.pyx":63
- * 
- *     def __cinit__(self):
- *         self._owner = -1             # <<<<<<<<<<<<<<
- *         self._count = 0
- *         self._is_locked = False
- */
-  __pyx_v_self->_owner = -1;
-
-  /* "h5py/_objects.pyx":64
- *     def __cinit__(self):
- *         self._owner = -1
- *         self._count = 0             # <<<<<<<<<<<<<<
- *         self._is_locked = False
- *         self._pending_requests = 0
- */
-  __pyx_v_self->_count = 0;
-
-  /* "h5py/_objects.pyx":65
- *         self._owner = -1
- *         self._count = 0
- *         self._is_locked = False             # <<<<<<<<<<<<<<
- *         self._pending_requests = 0
- *         self._real_lock = pythread.PyThread_allocate_lock()
- */
-  __pyx_v_self->_is_locked = 0;
-
-  /* "h5py/_objects.pyx":66
- *         self._count = 0
- *         self._is_locked = False
- *         self._pending_requests = 0             # <<<<<<<<<<<<<<
- *         self._real_lock = pythread.PyThread_allocate_lock()
- *         if self._real_lock is NULL:
- */
-  __pyx_v_self->_pending_requests = 0;
-
-  /* "h5py/_objects.pyx":67
- *         self._is_locked = False
- *         self._pending_requests = 0
- *         self._real_lock = pythread.PyThread_allocate_lock()             # <<<<<<<<<<<<<<
- *         if self._real_lock is NULL:
- *             PyErr_NoMemory()
- */
-  __pyx_v_self->_real_lock = PyThread_allocate_lock();
-
-  /* "h5py/_objects.pyx":68
- *         self._pending_requests = 0
- *         self._real_lock = pythread.PyThread_allocate_lock()
- *         if self._real_lock is NULL:             # <<<<<<<<<<<<<<
- *             PyErr_NoMemory()
- * 
- */
-  __pyx_t_1 = (__pyx_v_self->_real_lock == NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":69
- *         self._real_lock = pythread.PyThread_allocate_lock()
- *         if self._real_lock is NULL:
- *             PyErr_NoMemory()             # <<<<<<<<<<<<<<
- * 
- *     def __dealloc__(self):
- */
-    __pyx_t_2 = PyErr_NoMemory(); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._objects.FastRLock.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static void __pyx_pw_4h5py_8_objects_9FastRLock_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
-static void __pyx_pw_4h5py_8_objects_9FastRLock_3__dealloc__(PyObject *__pyx_v_self) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
-  __pyx_pf_4h5py_8_objects_9FastRLock_2__dealloc__(((struct __pyx_obj_4h5py_8_objects_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-}
-
-/* "h5py/_objects.pyx":71
- *             PyErr_NoMemory()
- * 
- *     def __dealloc__(self):             # <<<<<<<<<<<<<<
- *         if self._real_lock is not NULL:
- *             pythread.PyThread_free_lock(self._real_lock)
- */
-
-static void __pyx_pf_4h5py_8_objects_9FastRLock_2__dealloc__(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self) {
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  __Pyx_RefNannySetupContext("__dealloc__", 0);
-
-  /* "h5py/_objects.pyx":72
- * 
- *     def __dealloc__(self):
- *         if self._real_lock is not NULL:             # <<<<<<<<<<<<<<
- *             pythread.PyThread_free_lock(self._real_lock)
- *             self._real_lock = NULL
- */
-  __pyx_t_1 = (__pyx_v_self->_real_lock != NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":73
- *     def __dealloc__(self):
- *         if self._real_lock is not NULL:
- *             pythread.PyThread_free_lock(self._real_lock)             # <<<<<<<<<<<<<<
- *             self._real_lock = NULL
- * 
- */
-    PyThread_free_lock(__pyx_v_self->_real_lock);
-
-    /* "h5py/_objects.pyx":74
- *         if self._real_lock is not NULL:
- *             pythread.PyThread_free_lock(self._real_lock)
- *             self._real_lock = NULL             # <<<<<<<<<<<<<<
- * 
- *     def acquire(self, bint blocking=True):
- */
-    __pyx_v_self->_real_lock = NULL;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __Pyx_RefNannyFinishContext();
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_5acquire(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_5acquire(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_v_blocking;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("acquire (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__blocking,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__blocking);
-          if (value) { values[0] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "acquire") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    if (values[0]) {
-      __pyx_v_blocking = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_blocking == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-
-      /* "h5py/_objects.pyx":76
- *             self._real_lock = NULL
- * 
- *     def acquire(self, bint blocking=True):             # <<<<<<<<<<<<<<
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), blocking)
- * 
- */
-      __pyx_v_blocking = ((int)1);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("acquire", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py._objects.FastRLock.acquire", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_8_objects_9FastRLock_4acquire(((struct __pyx_obj_4h5py_8_objects_FastRLock *)__pyx_v_self), __pyx_v_blocking);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_4acquire(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self, int __pyx_v_blocking) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("acquire", 0);
-
-  /* "h5py/_objects.pyx":77
- * 
- *     def acquire(self, bint blocking=True):
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), blocking)             # <<<<<<<<<<<<<<
- * 
- *     def release(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_4h5py_8_objects_lock_lock(__pyx_v_self, PyThread_get_thread_ident(), __pyx_v_blocking)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._objects.FastRLock.acquire", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_7release(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_7release(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("release (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_9FastRLock_6release(((struct __pyx_obj_4h5py_8_objects_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":79
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), blocking)
- * 
- *     def release(self):             # <<<<<<<<<<<<<<
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_6release(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("release", 0);
-
-  /* "h5py/_objects.pyx":80
- * 
- *     def release(self):
- *         if self._owner != pythread.PyThread_get_thread_ident():             # <<<<<<<<<<<<<<
- *             raise RuntimeError("cannot release un-acquired lock")
- *         unlock_lock(self)
- */
-  __pyx_t_1 = (__pyx_v_self->_owner != PyThread_get_thread_ident());
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":81
- *     def release(self):
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")             # <<<<<<<<<<<<<<
- *         unlock_lock(self)
- * 
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":82
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")
- *         unlock_lock(self)             # <<<<<<<<<<<<<<
- * 
- *     # compatibility with threading.RLock
- */
-  __pyx_f_4h5py_8_objects_unlock_lock(__pyx_v_self);
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._objects.FastRLock.release", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_9__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_9__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_9FastRLock_8__enter__(((struct __pyx_obj_4h5py_8_objects_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":86
- *     # compatibility with threading.RLock
- * 
- *     def __enter__(self):             # <<<<<<<<<<<<<<
- *         # self.acquire()
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), True)
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_8__enter__(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__enter__", 0);
-
-  /* "h5py/_objects.pyx":88
- *     def __enter__(self):
- *         # self.acquire()
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), True)             # <<<<<<<<<<<<<<
- * 
- *     def __exit__(self, t, v, tb):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_4h5py_8_objects_lock_lock(__pyx_v_self, PyThread_get_thread_ident(), 1)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._objects.FastRLock.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_11__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_11__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  CYTHON_UNUSED PyObject *__pyx_v_t = 0;
-  CYTHON_UNUSED PyObject *__pyx_v_v = 0;
-  CYTHON_UNUSED PyObject *__pyx_v_tb = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__t,&__pyx_n_s__v,&__pyx_n_s__tb,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__t)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__v)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tb)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__exit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_t = values[0];
-    __pyx_v_v = values[1];
-    __pyx_v_tb = values[2];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py._objects.FastRLock.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_8_objects_9FastRLock_10__exit__(((struct __pyx_obj_4h5py_8_objects_FastRLock *)__pyx_v_self), __pyx_v_t, __pyx_v_v, __pyx_v_tb);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":90
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), True)
- * 
- *     def __exit__(self, t, v, tb):             # <<<<<<<<<<<<<<
- *         # self.release()
- *         if self._owner != pythread.PyThread_get_thread_ident():
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_10__exit__(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_v, CYTHON_UNUSED PyObject *__pyx_v_tb) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__exit__", 0);
-
-  /* "h5py/_objects.pyx":92
- *     def __exit__(self, t, v, tb):
- *         # self.release()
- *         if self._owner != pythread.PyThread_get_thread_ident():             # <<<<<<<<<<<<<<
- *             raise RuntimeError("cannot release un-acquired lock")
- *         unlock_lock(self)
- */
-  __pyx_t_1 = (__pyx_v_self->_owner != PyThread_get_thread_ident());
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":93
- *         # self.release()
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")             # <<<<<<<<<<<<<<
- *         unlock_lock(self)
- * 
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":94
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")
- *         unlock_lock(self)             # <<<<<<<<<<<<<<
- * 
- *     def _is_owned(self):
- */
-  __pyx_f_4h5py_8_objects_unlock_lock(__pyx_v_self);
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._objects.FastRLock.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_13_is_owned(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_9FastRLock_13_is_owned(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_is_owned (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_9FastRLock_12_is_owned(((struct __pyx_obj_4h5py_8_objects_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":96
- *         unlock_lock(self)
- * 
- *     def _is_owned(self):             # <<<<<<<<<<<<<<
- *         return self._owner == pythread.PyThread_get_thread_ident()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_9FastRLock_12_is_owned(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_is_owned", 0);
-
-  /* "h5py/_objects.pyx":97
- * 
- *     def _is_owned(self):
- *         return self._owner == pythread.PyThread_get_thread_ident()             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->_owner == PyThread_get_thread_ident())); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._objects.FastRLock._is_owned", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":100
- * 
- * 
- * cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) nogil:             # <<<<<<<<<<<<<<
- *     # Note that this function *must* hold the GIL when being called.
- *     # We just use 'nogil' in the signature to make sure that no Python
- */
-
-static CYTHON_INLINE int __pyx_f_4h5py_8_objects_lock_lock(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_lock, long __pyx_v_current_thread, int __pyx_v_blocking) {
-  int __pyx_r;
-  int __pyx_t_1;
-  int __pyx_t_2;
-
-  /* "h5py/_objects.pyx":105
- *     # code execution slips in that might free the GIL
- * 
- *     if lock._count:             # <<<<<<<<<<<<<<
- *         # locked! - by myself?
- *         if current_thread == lock._owner:
- */
-  if (__pyx_v_lock->_count) {
-
-    /* "h5py/_objects.pyx":107
- *     if lock._count:
- *         # locked! - by myself?
- *         if current_thread == lock._owner:             # <<<<<<<<<<<<<<
- *             lock._count += 1
- *             return 1
- */
-    __pyx_t_1 = (__pyx_v_current_thread == __pyx_v_lock->_owner);
-    if (__pyx_t_1) {
-
-      /* "h5py/_objects.pyx":108
- *         # locked! - by myself?
- *         if current_thread == lock._owner:
- *             lock._count += 1             # <<<<<<<<<<<<<<
- *             return 1
- *     elif not lock._pending_requests:
- */
-      __pyx_v_lock->_count = (__pyx_v_lock->_count + 1);
-
-      /* "h5py/_objects.pyx":109
- *         if current_thread == lock._owner:
- *             lock._count += 1
- *             return 1             # <<<<<<<<<<<<<<
- *     elif not lock._pending_requests:
- *         # not locked, not requested - go!
- */
-      __pyx_r = 1;
-      goto __pyx_L0;
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_objects.pyx":110
- *             lock._count += 1
- *             return 1
- *     elif not lock._pending_requests:             # <<<<<<<<<<<<<<
- *         # not locked, not requested - go!
- *         lock._owner = current_thread
- */
-  __pyx_t_1 = (!__pyx_v_lock->_pending_requests);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":112
- *     elif not lock._pending_requests:
- *         # not locked, not requested - go!
- *         lock._owner = current_thread             # <<<<<<<<<<<<<<
- *         lock._count = 1
- *         return 1
- */
-    __pyx_v_lock->_owner = __pyx_v_current_thread;
-
-    /* "h5py/_objects.pyx":113
- *         # not locked, not requested - go!
- *         lock._owner = current_thread
- *         lock._count = 1             # <<<<<<<<<<<<<<
- *         return 1
- *     # need to get the real lock
- */
-    __pyx_v_lock->_count = 1;
-
-    /* "h5py/_objects.pyx":114
- *         lock._owner = current_thread
- *         lock._count = 1
- *         return 1             # <<<<<<<<<<<<<<
- *     # need to get the real lock
- *     return _acquire_lock(
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":118
- *     return _acquire_lock(
- *         lock, current_thread,
- *         pythread.WAIT_LOCK if blocking else pythread.NOWAIT_LOCK)             # <<<<<<<<<<<<<<
- * 
- * cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil:
- */
-  if (__pyx_v_blocking) {
-    __pyx_t_2 = WAIT_LOCK;
-  } else {
-    __pyx_t_2 = NOWAIT_LOCK;
-  }
-  __pyx_r = __pyx_f_4h5py_8_objects__acquire_lock(__pyx_v_lock, __pyx_v_current_thread, __pyx_t_2);
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":120
- *         pythread.WAIT_LOCK if blocking else pythread.NOWAIT_LOCK)
- * 
- * cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil:             # <<<<<<<<<<<<<<
- *     # Note that this function *must* hold the GIL when being called.
- *     # We just use 'nogil' in the signature to make sure that no Python
- */
-
-static int __pyx_f_4h5py_8_objects__acquire_lock(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_lock, long __pyx_v_current_thread, int __pyx_v_wait) {
-  int __pyx_v_locked;
-  int __pyx_r;
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-
-  /* "h5py/_objects.pyx":125
- *     # code execution slips in that might free the GIL
- * 
- *     if not lock._is_locked and not lock._pending_requests:             # <<<<<<<<<<<<<<
- *         # someone owns it but didn't acquire the real lock - do that
- *         # now and tell the owner to release it when done. Note that we
- */
-  __pyx_t_1 = (!__pyx_v_lock->_is_locked);
-  if (__pyx_t_1) {
-    __pyx_t_2 = (!__pyx_v_lock->_pending_requests);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_1;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/_objects.pyx":130
- *         # do not release the GIL here as we must absolutely be the one
- *         # who acquires the lock now.
- *         if not pythread.PyThread_acquire_lock(lock._real_lock, wait):             # <<<<<<<<<<<<<<
- *             return 0
- *         #assert not lock._is_locked
- */
-    __pyx_t_3 = (!PyThread_acquire_lock(__pyx_v_lock->_real_lock, __pyx_v_wait));
-    if (__pyx_t_3) {
-
-      /* "h5py/_objects.pyx":131
- *         # who acquires the lock now.
- *         if not pythread.PyThread_acquire_lock(lock._real_lock, wait):
- *             return 0             # <<<<<<<<<<<<<<
- *         #assert not lock._is_locked
- *         lock._is_locked = True
- */
-      __pyx_r = 0;
-      goto __pyx_L0;
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-
-    /* "h5py/_objects.pyx":133
- *             return 0
- *         #assert not lock._is_locked
- *         lock._is_locked = True             # <<<<<<<<<<<<<<
- *     lock._pending_requests += 1
- *     with nogil:
- */
-    __pyx_v_lock->_is_locked = 1;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":134
- *         #assert not lock._is_locked
- *         lock._is_locked = True
- *     lock._pending_requests += 1             # <<<<<<<<<<<<<<
- *     with nogil:
- *         # wait for the lock owning thread to release it
- */
-  __pyx_v_lock->_pending_requests = (__pyx_v_lock->_pending_requests + 1);
-
-  /* "h5py/_objects.pyx":135
- *         lock._is_locked = True
- *     lock._pending_requests += 1
- *     with nogil:             # <<<<<<<<<<<<<<
- *         # wait for the lock owning thread to release it
- *         locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)
- */
-  {
-      #ifdef WITH_THREAD
-      PyThreadState *_save = NULL;
-      #endif
-      Py_UNBLOCK_THREADS
-      /*try:*/ {
-
-        /* "h5py/_objects.pyx":137
- *     with nogil:
- *         # wait for the lock owning thread to release it
- *         locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)             # <<<<<<<<<<<<<<
- *     lock._pending_requests -= 1
- *     #assert not lock._is_locked
- */
-        __pyx_v_locked = PyThread_acquire_lock(__pyx_v_lock->_real_lock, __pyx_v_wait);
-      }
-
-      /* "h5py/_objects.pyx":135
- *         lock._is_locked = True
- *     lock._pending_requests += 1
- *     with nogil:             # <<<<<<<<<<<<<<
- *         # wait for the lock owning thread to release it
- *         locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)
- */
-      /*finally:*/ {
-        Py_BLOCK_THREADS
-      }
-  }
-
-  /* "h5py/_objects.pyx":138
- *         # wait for the lock owning thread to release it
- *         locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)
- *     lock._pending_requests -= 1             # <<<<<<<<<<<<<<
- *     #assert not lock._is_locked
- *     #assert lock._count == 0
- */
-  __pyx_v_lock->_pending_requests = (__pyx_v_lock->_pending_requests - 1);
-
-  /* "h5py/_objects.pyx":141
- *     #assert not lock._is_locked
- *     #assert lock._count == 0
- *     if not locked:             # <<<<<<<<<<<<<<
- *         return 0
- *     lock._is_locked = True
- */
-  __pyx_t_3 = (!__pyx_v_locked);
-  if (__pyx_t_3) {
-
-    /* "h5py/_objects.pyx":142
- *     #assert lock._count == 0
- *     if not locked:
- *         return 0             # <<<<<<<<<<<<<<
- *     lock._is_locked = True
- *     lock._owner = current_thread
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L8;
-  }
-  __pyx_L8:;
-
-  /* "h5py/_objects.pyx":143
- *     if not locked:
- *         return 0
- *     lock._is_locked = True             # <<<<<<<<<<<<<<
- *     lock._owner = current_thread
- *     lock._count = 1
- */
-  __pyx_v_lock->_is_locked = 1;
-
-  /* "h5py/_objects.pyx":144
- *         return 0
- *     lock._is_locked = True
- *     lock._owner = current_thread             # <<<<<<<<<<<<<<
- *     lock._count = 1
- *     return 1
- */
-  __pyx_v_lock->_owner = __pyx_v_current_thread;
-
-  /* "h5py/_objects.pyx":145
- *     lock._is_locked = True
- *     lock._owner = current_thread
- *     lock._count = 1             # <<<<<<<<<<<<<<
- *     return 1
- * 
- */
-  __pyx_v_lock->_count = 1;
-
-  /* "h5py/_objects.pyx":146
- *     lock._owner = current_thread
- *     lock._count = 1
- *     return 1             # <<<<<<<<<<<<<<
- * 
- * cdef inline void unlock_lock(FastRLock lock) nogil:
- */
-  __pyx_r = 1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":148
- *     return 1
- * 
- * cdef inline void unlock_lock(FastRLock lock) nogil:             # <<<<<<<<<<<<<<
- *     # Note that this function *must* hold the GIL when being called.
- *     # We just use 'nogil' in the signature to make sure that no Python
- */
-
-static CYTHON_INLINE void __pyx_f_4h5py_8_objects_unlock_lock(struct __pyx_obj_4h5py_8_objects_FastRLock *__pyx_v_lock) {
-  int __pyx_t_1;
-
-  /* "h5py/_objects.pyx":155
- *     #assert lock._owner == pythread.PyThread_get_thread_ident()
- *     #assert lock._count > 0
- *     lock._count -= 1             # <<<<<<<<<<<<<<
- *     if lock._count == 0:
- *         lock._owner = -1
- */
-  __pyx_v_lock->_count = (__pyx_v_lock->_count - 1);
-
-  /* "h5py/_objects.pyx":156
- *     #assert lock._count > 0
- *     lock._count -= 1
- *     if lock._count == 0:             # <<<<<<<<<<<<<<
- *         lock._owner = -1
- *         if lock._is_locked:
- */
-  __pyx_t_1 = (__pyx_v_lock->_count == 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":157
- *     lock._count -= 1
- *     if lock._count == 0:
- *         lock._owner = -1             # <<<<<<<<<<<<<<
- *         if lock._is_locked:
- *             pythread.PyThread_release_lock(lock._real_lock)
- */
-    __pyx_v_lock->_owner = -1;
-
-    /* "h5py/_objects.pyx":158
- *     if lock._count == 0:
- *         lock._owner = -1
- *         if lock._is_locked:             # <<<<<<<<<<<<<<
- *             pythread.PyThread_release_lock(lock._real_lock)
- *             lock._is_locked = False
- */
-    if (__pyx_v_lock->_is_locked) {
-
-      /* "h5py/_objects.pyx":159
- *         lock._owner = -1
- *         if lock._is_locked:
- *             pythread.PyThread_release_lock(lock._real_lock)             # <<<<<<<<<<<<<<
- *             lock._is_locked = False
- * ## end of http://code.activestate.com/recipes/577336/ }}}
- */
-      PyThread_release_lock(__pyx_v_lock->_real_lock);
-
-      /* "h5py/_objects.pyx":160
- *         if lock._is_locked:
- *             pythread.PyThread_release_lock(lock._real_lock)
- *             lock._is_locked = False             # <<<<<<<<<<<<<<
- * ## end of http://code.activestate.com/recipes/577336/ }}}
- * 
- */
-      __pyx_v_lock->_is_locked = 0;
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_8_objects_9_Registry_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_8_objects_9_Registry_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
-  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
-  __pyx_r = __pyx_pf_4h5py_8_objects_9_Registry___cinit__(((struct __pyx_obj_4h5py_8_objects__Registry *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":169
- *     cdef readonly FastRLock lock
- * 
- *     def __cinit__(self):             # <<<<<<<<<<<<<<
- *         self._data = {}
- *         self.lock = FastRLock()
- */
-
-static int __pyx_pf_4h5py_8_objects_9_Registry___cinit__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "h5py/_objects.pyx":170
- * 
- *     def __cinit__(self):
- *         self._data = {}             # <<<<<<<<<<<<<<
- *         self.lock = FastRLock()
- * 
- */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __Pyx_GOTREF(__pyx_v_self->_data);
-  __Pyx_DECREF(__pyx_v_self->_data);
-  __pyx_v_self->_data = ((PyObject *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/_objects.pyx":171
- *     def __cinit__(self):
- *         self._data = {}
- *         self.lock = FastRLock()             # <<<<<<<<<<<<<<
- * 
- *     __hash__ = None # Avoid Py3 warning
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects_FastRLock)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_self->lock);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->lock));
-  __pyx_v_self->lock = ((struct __pyx_obj_4h5py_8_objects_FastRLock *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._objects._Registry.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_9_Registry_3cleanup(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_8_objects_9_Registry_2cleanup[] = "Manage invalid identifiers";
-static PyObject *__pyx_pw_4h5py_8_objects_9_Registry_3cleanup(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("cleanup (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_9_Registry_2cleanup(((struct __pyx_obj_4h5py_8_objects__Registry *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":175
- *     __hash__ = None # Avoid Py3 warning
- * 
- *     def cleanup(self):             # <<<<<<<<<<<<<<
- *         "Manage invalid identifiers"
- *         deadlist = []
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_9_Registry_2cleanup(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self) {
-  PyObject *__pyx_v_deadlist = NULL;
-  PyObject *__pyx_v_key = NULL;
-  PyObject *__pyx_v_val = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  Py_ssize_t __pyx_t_2;
-  PyObject *(*__pyx_t_3)(PyObject *);
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_t_5;
-  int __pyx_t_6;
-  int __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cleanup", 0);
-
-  /* "h5py/_objects.pyx":177
- *     def cleanup(self):
- *         "Manage invalid identifiers"
- *         deadlist = []             # <<<<<<<<<<<<<<
- *         for key in self._data:
- *             val = self._data[key]
- */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_deadlist = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/_objects.pyx":178
- *         "Manage invalid identifiers"
- *         deadlist = []
- *         for key in self._data:             # <<<<<<<<<<<<<<
- *             val = self._data[key]
- *             val = val()
- */
-  if (PyList_CheckExact(__pyx_v_self->_data) || PyTuple_CheckExact(__pyx_v_self->_data)) {
-    __pyx_t_1 = __pyx_v_self->_data; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
-    __pyx_t_3 = NULL;
-  } else {
-    __pyx_t_2 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_self->_data); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_3 = Py_TYPE(__pyx_t_1)->tp_iternext;
-  }
-  for (;;) {
-    if (!__pyx_t_3 && PyList_CheckExact(__pyx_t_1)) {
-      if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
-      #if CYTHON_COMPILING_IN_CPYTHON
-      __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #else
-      __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #endif
-    } else if (!__pyx_t_3 && PyTuple_CheckExact(__pyx_t_1)) {
-      if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
-      #if CYTHON_COMPILING_IN_CPYTHON
-      __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #else
-      __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #endif
-    } else {
-      __pyx_t_4 = __pyx_t_3(__pyx_t_1);
-      if (unlikely(!__pyx_t_4)) {
-        if (PyErr_Occurred()) {
-          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
-          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        }
-        break;
-      }
-      __Pyx_GOTREF(__pyx_t_4);
-    }
-    __Pyx_XDECREF(__pyx_v_key);
-    __pyx_v_key = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/_objects.pyx":179
- *         deadlist = []
- *         for key in self._data:
- *             val = self._data[key]             # <<<<<<<<<<<<<<
- *             val = val()
- *             if val is None:
- */
-    __pyx_t_4 = PyObject_GetItem(__pyx_v_self->_data, __pyx_v_key); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_XDECREF(__pyx_v_val);
-    __pyx_v_val = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/_objects.pyx":180
- *         for key in self._data:
- *             val = self._data[key]
- *             val = val()             # <<<<<<<<<<<<<<
- *             if val is None:
- *                 deadlist.append(key)
- */
-    __pyx_t_4 = PyObject_Call(__pyx_v_val, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_v_val);
-    __pyx_v_val = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/_objects.pyx":181
- *             val = self._data[key]
- *             val = val()
- *             if val is None:             # <<<<<<<<<<<<<<
- *                 deadlist.append(key)
- *                 continue
- */
-    __pyx_t_5 = (__pyx_v_val == Py_None);
-    if (__pyx_t_5) {
-
-      /* "h5py/_objects.pyx":182
- *             val = val()
- *             if val is None:
- *                 deadlist.append(key)             # <<<<<<<<<<<<<<
- *                 continue
- *             if not val.valid:
- */
-      __pyx_t_6 = PyList_Append(__pyx_v_deadlist, __pyx_v_key); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-      /* "h5py/_objects.pyx":183
- *             if val is None:
- *                 deadlist.append(key)
- *                 continue             # <<<<<<<<<<<<<<
- *             if not val.valid:
- *                 deadlist.append(key)
- */
-      goto __pyx_L3_continue;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-
-    /* "h5py/_objects.pyx":184
- *                 deadlist.append(key)
- *                 continue
- *             if not val.valid:             # <<<<<<<<<<<<<<
- *                 deadlist.append(key)
- *         for key in deadlist:
- */
-    __pyx_t_4 = PyObject_GetAttr(__pyx_v_val, __pyx_n_s__valid); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_7 = (!__pyx_t_5);
-    if (__pyx_t_7) {
-
-      /* "h5py/_objects.pyx":185
- *                 continue
- *             if not val.valid:
- *                 deadlist.append(key)             # <<<<<<<<<<<<<<
- *         for key in deadlist:
- *             del self._data[key]
- */
-      __pyx_t_6 = PyList_Append(__pyx_v_deadlist, __pyx_v_key); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    __pyx_L3_continue:;
-  }
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/_objects.pyx":186
- *             if not val.valid:
- *                 deadlist.append(key)
- *         for key in deadlist:             # <<<<<<<<<<<<<<
- *             del self._data[key]
- * 
- */
-  __pyx_t_1 = ((PyObject *)__pyx_v_deadlist); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
-  for (;;) {
-    if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
-    #if CYTHON_COMPILING_IN_CPYTHON
-    __pyx_t_4 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_4); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    #else
-    __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    #endif
-    __Pyx_XDECREF(__pyx_v_key);
-    __pyx_v_key = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/_objects.pyx":187
- *                 deadlist.append(key)
- *         for key in deadlist:
- *             del self._data[key]             # <<<<<<<<<<<<<<
- * 
- *     def __getitem__(self, key):
- */
-    if (unlikely(!__pyx_v_key)) { __Pyx_RaiseUnboundLocalError("key"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
-    if (PyObject_DelItem(__pyx_v_self->_data, __pyx_v_key) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py._objects._Registry.cleanup", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_deadlist);
-  __Pyx_XDECREF(__pyx_v_key);
-  __Pyx_XDECREF(__pyx_v_val);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_9_Registry_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_9_Registry_5__getitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__getitem__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_9_Registry_4__getitem__(((struct __pyx_obj_4h5py_8_objects__Registry *)__pyx_v_self), ((PyObject *)__pyx_v_key));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":189
- *             del self._data[key]
- * 
- *     def __getitem__(self, key):             # <<<<<<<<<<<<<<
- *         o = self._data[key]()
- *         if o is None:
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_9_Registry_4__getitem__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self, PyObject *__pyx_v_key) {
-  PyObject *__pyx_v_o = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__getitem__", 0);
-
-  /* "h5py/_objects.pyx":190
- * 
- *     def __getitem__(self, key):
- *         o = self._data[key]()             # <<<<<<<<<<<<<<
- *         if o is None:
- *             # This would occur if we had open objects and closed their
- */
-  __pyx_t_1 = PyObject_GetItem(__pyx_v_self->_data, __pyx_v_key); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_v_o = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  /* "h5py/_objects.pyx":191
- *     def __getitem__(self, key):
- *         o = self._data[key]()
- *         if o is None:             # <<<<<<<<<<<<<<
- *             # This would occur if we had open objects and closed their
- *             # file, causing the objects identifiers to be reclaimed.
- */
-  __pyx_t_3 = (__pyx_v_o == Py_None);
-  if (__pyx_t_3) {
-
-    /* "h5py/_objects.pyx":197
- *             # other identifier, for that matter), so in practice this
- *             # condition never obtains.
- *             del self._data[key]             # <<<<<<<<<<<<<<
- *             # We need to raise a KeyError:
- *             o = self._data[key]()
- */
-    if (PyObject_DelItem(__pyx_v_self->_data, __pyx_v_key) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-    /* "h5py/_objects.pyx":199
- *             del self._data[key]
- *             # We need to raise a KeyError:
- *             o = self._data[key]()             # <<<<<<<<<<<<<<
- *         return o
- * 
- */
-    __pyx_t_2 = PyObject_GetItem(__pyx_v_self->_data, __pyx_v_key); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_v_o);
-    __pyx_v_o = __pyx_t_1;
-    __pyx_t_1 = 0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":200
- *             # We need to raise a KeyError:
- *             o = self._data[key]()
- *         return o             # <<<<<<<<<<<<<<
- * 
- *     def __setitem__(self, key, val):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_o);
-  __pyx_r = __pyx_v_o;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._objects._Registry.__getitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_o);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_8_objects_9_Registry_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val); /*proto*/
-static int __pyx_pw_4h5py_8_objects_9_Registry_7__setitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__setitem__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_9_Registry_6__setitem__(((struct __pyx_obj_4h5py_8_objects__Registry *)__pyx_v_self), ((PyObject *)__pyx_v_key), ((PyObject *)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":202
- *         return o
- * 
- *     def __setitem__(self, key, val):             # <<<<<<<<<<<<<<
- *         # this method should only be called by ObjectID.open
- *         self._data[key] = ref(val)
- */
-
-static int __pyx_pf_4h5py_8_objects_9_Registry_6__setitem__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self, PyObject *__pyx_v_key, PyObject *__pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__setitem__", 0);
-
-  /* "h5py/_objects.pyx":204
- *     def __setitem__(self, key, val):
- *         # this method should only be called by ObjectID.open
- *         self._data[key] = ref(val)             # <<<<<<<<<<<<<<
- * 
- *     def __delitem__(self, key):
- */
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__ref); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(__pyx_v_val);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_val);
-  __Pyx_GIVEREF(__pyx_v_val);
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  if (PyObject_SetItem(__pyx_v_self->_data, __pyx_v_key, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py._objects._Registry.__setitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_8_objects_9_Registry_9__delitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key); /*proto*/
-static int __pyx_pw_4h5py_8_objects_9_Registry_9__delitem__(PyObject *__pyx_v_self, PyObject *__pyx_v_key) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__delitem__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_9_Registry_8__delitem__(((struct __pyx_obj_4h5py_8_objects__Registry *)__pyx_v_self), ((PyObject *)__pyx_v_key));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":206
- *         self._data[key] = ref(val)
- * 
- *     def __delitem__(self, key):             # <<<<<<<<<<<<<<
- *         # we need to synchronize removal of the id from the
- *         # registry with decreasing the HDF5 reference count:
- */
-
-static int __pyx_pf_4h5py_8_objects_9_Registry_8__delitem__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self, PyObject *__pyx_v_key) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  hid_t __pyx_t_4;
-  H5I_type_t __pyx_t_5;
-  int __pyx_t_6;
-  int __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__delitem__", 0);
-
-  /* "h5py/_objects.pyx":209
- *         # we need to synchronize removal of the id from the
- *         # registry with decreasing the HDF5 reference count:
- *         self._data.pop(key,None)             # <<<<<<<<<<<<<<
- * 
- *         if H5Iget_type(key) >= 0: # if not, object was explicitly closed
- */
-  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self->_data, __pyx_n_s__pop); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(__pyx_v_key);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_key);
-  __Pyx_GIVEREF(__pyx_v_key);
-  __Pyx_INCREF(Py_None);
-  PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/_objects.pyx":211
- *         self._data.pop(key,None)
- * 
- *         if H5Iget_type(key) >= 0: # if not, object was explicitly closed             # <<<<<<<<<<<<<<
- *             H5Idec_ref(key)
- * 
- */
-  __pyx_t_4 = __Pyx_PyInt_from_py_hid_t(__pyx_v_key); if (unlikely((__pyx_t_4 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Iget_type(__pyx_t_4); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_6 = (__pyx_t_5 >= 0);
-  if (__pyx_t_6) {
-
-    /* "h5py/_objects.pyx":212
- * 
- *         if H5Iget_type(key) >= 0: # if not, object was explicitly closed
- *             H5Idec_ref(key)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_t_4 = __Pyx_PyInt_from_py_hid_t(__pyx_v_key); if (unlikely((__pyx_t_4 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_7 = __pyx_f_4h5py_4defs_H5Idec_ref(__pyx_t_4); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py._objects._Registry.__delitem__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_9_Registry_4lock_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_9_Registry_4lock_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_9_Registry_4lock___get__(((struct __pyx_obj_4h5py_8_objects__Registry *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":167
- * 
- *     cdef object _data
- *     cdef readonly FastRLock lock             # <<<<<<<<<<<<<<
- * 
- *     def __cinit__(self):
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_9_Registry_4lock___get__(struct __pyx_obj_4h5py_8_objects__Registry *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self->lock));
-  __pyx_r = ((PyObject *)__pyx_v_self->lock);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_6fileno_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_6fileno_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_6fileno___get__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":226
- * 
- *     property fileno:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             cdef H5G_stat_t stat
- *             H5Gget_objinfo(self.id, '.', 0, &stat)
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_6fileno___get__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self) {
-  H5G_stat_t __pyx_v_stat;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/_objects.pyx":228
- *         def __get__(self):
- *             cdef H5G_stat_t stat
- *             H5Gget_objinfo(self.id, '.', 0, &stat)             # <<<<<<<<<<<<<<
- *             return (stat.fileno[0], stat.fileno[1])
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objinfo(__pyx_v_self->id, __pyx_k_4, 0, (&__pyx_v_stat)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/_objects.pyx":229
- *             cdef H5G_stat_t stat
- *             H5Gget_objinfo(self.id, '.', 0, &stat)
- *             return (stat.fileno[0], stat.fileno[1])             # <<<<<<<<<<<<<<
- * 
- *     property valid:
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_stat.fileno[0])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyLong_FromUnsignedLong((__pyx_v_stat.fileno[1])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_4);
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.fileno.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_5valid_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_5valid_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_5valid___get__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":232
- * 
- *     property valid:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             if not self.id:
- *                 return False
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_5valid___get__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self) {
-  PyObject *__pyx_v_res = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  H5I_type_t __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/_objects.pyx":233
- *     property valid:
- *         def __get__(self):
- *             if not self.id:             # <<<<<<<<<<<<<<
- *                 return False
- *             res = H5Iget_type(self.id) > 0
- */
-  __pyx_t_1 = (!__pyx_v_self->id);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":234
- *         def __get__(self):
- *             if not self.id:
- *                 return False             # <<<<<<<<<<<<<<
- *             res = H5Iget_type(self.id) > 0
- *             if not res:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_r = __pyx_t_2;
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":235
- *             if not self.id:
- *                 return False
- *             res = H5Iget_type(self.id) > 0             # <<<<<<<<<<<<<<
- *             if not res:
- *                 self.id = 0
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Iget_type(__pyx_v_self->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong((__pyx_t_3 > 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_v_res = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  /* "h5py/_objects.pyx":236
- *                 return False
- *             res = H5Iget_type(self.id) > 0
- *             if not res:             # <<<<<<<<<<<<<<
- *                 self.id = 0
- *             return res
- */
-  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_res); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_4 = (!__pyx_t_1);
-  if (__pyx_t_4) {
-
-    /* "h5py/_objects.pyx":237
- *             res = H5Iget_type(self.id) > 0
- *             if not res:
- *                 self.id = 0             # <<<<<<<<<<<<<<
- *             return res
- * 
- */
-    __pyx_v_self->id = 0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/_objects.pyx":238
- *             if not res:
- *                 self.id = 0
- *             return res             # <<<<<<<<<<<<<<
- * 
- *     def __cinit__(self, id):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_res);
-  __pyx_r = __pyx_v_res;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.valid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_res);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_8_objects_8ObjectID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_8_objects_8ObjectID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_id = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__id,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_id = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py._objects.ObjectID.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID___cinit__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self), __pyx_v_id);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":240
- *             return res
- * 
- *     def __cinit__(self, id):             # <<<<<<<<<<<<<<
- *         self.id = id
- *         self.locked = 0
- */
-
-static int __pyx_pf_4h5py_8_objects_8ObjectID___cinit__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self, PyObject *__pyx_v_id) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "h5py/_objects.pyx":241
- * 
- *     def __cinit__(self, id):
- *         self.id = id             # <<<<<<<<<<<<<<
- *         self.locked = 0
- *         with registry.lock:
- */
-  __pyx_t_1 = __Pyx_PyInt_from_py_hid_t(__pyx_v_id); if (unlikely((__pyx_t_1 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_self->id = __pyx_t_1;
-
-  /* "h5py/_objects.pyx":242
- *     def __cinit__(self, id):
- *         self.id = id
- *         self.locked = 0             # <<<<<<<<<<<<<<
- *         with registry.lock:
- *             registry[id] = self
- */
-  __pyx_v_self->locked = 0;
-
-  /* "h5py/_objects.pyx":243
- *         self.id = id
- *         self.locked = 0
- *         with registry.lock:             # <<<<<<<<<<<<<<
- *             registry[id] = self
- * 
- */
-  /*with:*/ {
-    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s____exit__); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_5 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_8);
-        /*try:*/ {
-
-          /* "h5py/_objects.pyx":244
- *         self.locked = 0
- *         with registry.lock:
- *             registry[id] = self             # <<<<<<<<<<<<<<
- * 
- *     def __dealloc__(self):
- */
-          __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__registry); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_3);
-          if (PyObject_SetItem(__pyx_t_3, __pyx_v_id, ((PyObject *)__pyx_v_self)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        }
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-        /* "h5py/_objects.pyx":243
- *         self.id = id
- *         self.locked = 0
- *         with registry.lock:             # <<<<<<<<<<<<<<
- *             registry[id] = self
- * 
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py._objects.ObjectID.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_3);
-          __Pyx_GOTREF(__pyx_t_5);
-          __Pyx_GOTREF(__pyx_t_2);
-          __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_9);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __Pyx_INCREF(__pyx_t_5);
-          PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_5);
-          __Pyx_GIVEREF(__pyx_t_5);
-          __Pyx_INCREF(__pyx_t_2);
-          PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_2);
-          __Pyx_GIVEREF(__pyx_t_2);
-          __pyx_t_11 = PyObject_Call(__pyx_t_4, __pyx_t_9, NULL);
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_10);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_GIVEREF(__pyx_t_5);
-            __Pyx_GIVEREF(__pyx_t_2);
-            __Pyx_ErrRestore(__pyx_t_3, __pyx_t_5, __pyx_t_2);
-            __pyx_t_3 = 0; __pyx_t_5 = 0; __pyx_t_2 = 0; 
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L17;
-          }
-          __pyx_L17:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_XGIVEREF(__pyx_t_8);
-        __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_XGIVEREF(__pyx_t_8);
-        __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      if (__pyx_t_4) {
-        __pyx_t_8 = PyObject_Call(__pyx_t_4, __pyx_k_tuple_5, NULL);
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_8);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_8);
-        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-    }
-    goto __pyx_L18;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    goto __pyx_L1_error;
-    __pyx_L18:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static void __pyx_pw_4h5py_8_objects_8ObjectID_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
-static void __pyx_pw_4h5py_8_objects_8ObjectID_3__dealloc__(PyObject *__pyx_v_self) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
-  __pyx_pf_4h5py_8_objects_8ObjectID_2__dealloc__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-}
-
-/* "h5py/_objects.pyx":246
- *             registry[id] = self
- * 
- *     def __dealloc__(self):             # <<<<<<<<<<<<<<
- *         if not self.locked:
- *             try:
- */
-
-static void __pyx_pf_4h5py_8_objects_8ObjectID_2__dealloc__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self) {
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  PyObject *__pyx_t_13 = NULL;
-  int __pyx_t_14;
-  int __pyx_t_15;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__dealloc__", 0);
-
-  /* "h5py/_objects.pyx":247
- * 
- *     def __dealloc__(self):
- *         if not self.locked:             # <<<<<<<<<<<<<<
- *             try:
- *                 with registry.lock:
- */
-  __pyx_t_1 = (!__pyx_v_self->locked);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":248
- *     def __dealloc__(self):
- *         if not self.locked:
- *             try:             # <<<<<<<<<<<<<<
- *                 with registry.lock:
- *                     del registry[self.id]
- */
-    {
-      __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
-      __Pyx_XGOTREF(__pyx_t_2);
-      __Pyx_XGOTREF(__pyx_t_3);
-      __Pyx_XGOTREF(__pyx_t_4);
-      /*try:*/ {
-
-        /* "h5py/_objects.pyx":249
- *         if not self.locked:
- *             try:
- *                 with registry.lock:             # <<<<<<<<<<<<<<
- *                     del registry[self.id]
- *             except AttributeError:
- */
-        /*with:*/ {
-          __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__registry); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__lock); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-          __Pyx_GOTREF(__pyx_t_6);
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __pyx_t_7 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s____exit__); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-          __Pyx_GOTREF(__pyx_t_7);
-          __pyx_t_5 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s____enter__); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L12_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          __pyx_t_8 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L12_error;}
-          __Pyx_GOTREF(__pyx_t_8);
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-          /*try:*/ {
-            {
-              __Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
-              __Pyx_XGOTREF(__pyx_t_9);
-              __Pyx_XGOTREF(__pyx_t_10);
-              __Pyx_XGOTREF(__pyx_t_11);
-              /*try:*/ {
-
-                /* "h5py/_objects.pyx":250
- *             try:
- *                 with registry.lock:
- *                     del registry[self.id]             # <<<<<<<<<<<<<<
- *             except AttributeError:
- *                 # library being torn down, registry is None
- */
-                __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__registry); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L18_error;}
-                __Pyx_GOTREF(__pyx_t_6);
-                if (__Pyx_DelItemInt(__pyx_t_6, __pyx_v_self->id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L18_error;}
-                __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-              }
-              __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-              __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-              __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-              goto __pyx_L25_try_end;
-              __pyx_L18_error:;
-              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-              __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-              /* "h5py/_objects.pyx":249
- *         if not self.locked:
- *             try:
- *                 with registry.lock:             # <<<<<<<<<<<<<<
- *                     del registry[self.id]
- *             except AttributeError:
- */
-              /*except:*/ {
-                __Pyx_AddTraceback("h5py._objects.ObjectID.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-                if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_8, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L20_except_error;}
-                __Pyx_GOTREF(__pyx_t_6);
-                __Pyx_GOTREF(__pyx_t_8);
-                __Pyx_GOTREF(__pyx_t_5);
-                __pyx_t_12 = PyTuple_New(3); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L20_except_error;}
-                __Pyx_GOTREF(__pyx_t_12);
-                __Pyx_INCREF(__pyx_t_6);
-                PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_6);
-                __Pyx_GIVEREF(__pyx_t_6);
-                __Pyx_INCREF(__pyx_t_8);
-                PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_8);
-                __Pyx_GIVEREF(__pyx_t_8);
-                __Pyx_INCREF(__pyx_t_5);
-                PyTuple_SET_ITEM(__pyx_t_12, 2, __pyx_t_5);
-                __Pyx_GIVEREF(__pyx_t_5);
-                __pyx_t_13 = PyObject_Call(__pyx_t_7, __pyx_t_12, NULL);
-                __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-                if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L20_except_error;}
-                __Pyx_GOTREF(__pyx_t_13);
-                __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_13);
-                __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
-                if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L20_except_error;}
-                __pyx_t_14 = (!__pyx_t_1);
-                if (__pyx_t_14) {
-                  __Pyx_GIVEREF(__pyx_t_6);
-                  __Pyx_GIVEREF(__pyx_t_8);
-                  __Pyx_GIVEREF(__pyx_t_5);
-                  __Pyx_ErrRestore(__pyx_t_6, __pyx_t_8, __pyx_t_5);
-                  __pyx_t_6 = 0; __pyx_t_8 = 0; __pyx_t_5 = 0; 
-                  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L20_except_error;}
-                  goto __pyx_L28;
-                }
-                __pyx_L28:;
-                __Pyx_DECREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0;
-                __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-                __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-                goto __pyx_L19_exception_handled;
-              }
-              __pyx_L20_except_error:;
-              __Pyx_XGIVEREF(__pyx_t_9);
-              __Pyx_XGIVEREF(__pyx_t_10);
-              __Pyx_XGIVEREF(__pyx_t_11);
-              __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
-              goto __pyx_L4_error;
-              __pyx_L19_exception_handled:;
-              __Pyx_XGIVEREF(__pyx_t_9);
-              __Pyx_XGIVEREF(__pyx_t_10);
-              __Pyx_XGIVEREF(__pyx_t_11);
-              __Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
-              __pyx_L25_try_end:;
-            }
-          }
-          /*finally:*/ {
-            if (__pyx_t_7) {
-              __pyx_t_11 = PyObject_Call(__pyx_t_7, __pyx_k_tuple_6, NULL);
-              __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-              if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-              __Pyx_GOTREF(__pyx_t_11);
-              __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-              if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-            }
-          }
-          goto __pyx_L29;
-          __pyx_L12_error:;
-          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-          goto __pyx_L4_error;
-          __pyx_L29:;
-        }
-      }
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      goto __pyx_L11_try_end;
-      __pyx_L4_error:;
-      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-      /* "h5py/_objects.pyx":251
- *                 with registry.lock:
- *                     del registry[self.id]
- *             except AttributeError:             # <<<<<<<<<<<<<<
- *                 # library being torn down, registry is None
- *                 pass
- */
-      __pyx_t_15 = PyErr_ExceptionMatches(__pyx_builtin_AttributeError);
-      if (__pyx_t_15) {
-        PyErr_Restore(0,0,0);
-        goto __pyx_L5_exception_handled;
-      }
-      __Pyx_XGIVEREF(__pyx_t_2);
-      __Pyx_XGIVEREF(__pyx_t_3);
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-      goto __pyx_L1_error;
-      __pyx_L5_exception_handled:;
-      __Pyx_XGIVEREF(__pyx_t_2);
-      __Pyx_XGIVEREF(__pyx_t_3);
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-      __pyx_L11_try_end:;
-    }
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_12);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.__dealloc__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_8_objects_8ObjectID_5__nonzero__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_4h5py_8_objects_8ObjectID_5__nonzero__(PyObject *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__nonzero__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_4__nonzero__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":255
- *                 pass
- * 
- *     def __nonzero__(self):             # <<<<<<<<<<<<<<
- *         return self.valid
- * 
- */
-
-static int __pyx_pf_4h5py_8_objects_8ObjectID_4__nonzero__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__nonzero__", 0);
-
-  /* "h5py/_objects.pyx":256
- * 
- *     def __nonzero__(self):
- *         return self.valid             # <<<<<<<<<<<<<<
- * 
- *     def __copy__(self):
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __Pyx_PyInt_AsInt(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_r = __pyx_t_2;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.__nonzero__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_7__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_7__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_6__copy__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":258
- *         return self.valid
- * 
- *     def __copy__(self):             # <<<<<<<<<<<<<<
- *         cdef ObjectID cpy
- *         cpy = type(self)(self.id)
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_6__copy__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_cpy = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__copy__", 0);
-
-  /* "h5py/_objects.pyx":260
- *     def __copy__(self):
- *         cdef ObjectID cpy
- *         cpy = type(self)(self.id)             # <<<<<<<<<<<<<<
- *         return cpy
- * 
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_v_self->id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_8_objects_ObjectID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_cpy = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/_objects.pyx":261
- *         cdef ObjectID cpy
- *         cpy = type(self)(self.id)
- *         return cpy             # <<<<<<<<<<<<<<
- * 
- *     def __richcmp__(self, object other, int how):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_cpy));
-  __pyx_r = ((PyObject *)__pyx_v_cpy);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_cpy);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_9__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_9__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_8__richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":263
- *         return cpy
- * 
- *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
- *         """ Default comparison mechanism for HDF5 objects (equal/not-equal)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_8__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  int __pyx_v_equal;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_hash_t __pyx_t_8;
-  Py_hash_t __pyx_t_9;
-  int __pyx_t_10;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__richcmp__", 0);
-
-  /* "h5py/_objects.pyx":271
- *         3. Objects which hash the same are equal
- *         """
- *         cdef bint equal = 0             # <<<<<<<<<<<<<<
- * 
- *         if how != 2 and how != 3:
- */
-  __pyx_v_equal = 0;
-
-  /* "h5py/_objects.pyx":273
- *         cdef bint equal = 0
- * 
- *         if how != 2 and how != 3:             # <<<<<<<<<<<<<<
- *             return NotImplemented
- * 
- */
-  switch (__pyx_v_how) {
-    case 2:
-    case 3:
-    __pyx_t_1 = 0;
-    break;
-    default:
-    __pyx_t_1 = 1;
-    break;
-  }
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":274
- * 
- *         if how != 2 and how != 3:
- *             return NotImplemented             # <<<<<<<<<<<<<<
- * 
- *         if isinstance(other, ObjectID):
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(__pyx_builtin_NotImplemented);
-    __pyx_r = __pyx_builtin_NotImplemented;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":276
- *             return NotImplemented
- * 
- *         if isinstance(other, ObjectID):             # <<<<<<<<<<<<<<
- *             if self.id == other.id:
- *                 equal = 1
- */
-  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, ((PyObject*)__pyx_ptype_4h5py_8_objects_ObjectID)); 
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":277
- * 
- *         if isinstance(other, ObjectID):
- *             if self.id == other.id:             # <<<<<<<<<<<<<<
- *                 equal = 1
- *             else:
- */
-    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_v_other, __pyx_n_s__id); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    if (__pyx_t_1) {
-
-      /* "h5py/_objects.pyx":278
- *         if isinstance(other, ObjectID):
- *             if self.id == other.id:
- *                 equal = 1             # <<<<<<<<<<<<<<
- *             else:
- *                 try:
- */
-      __pyx_v_equal = 1;
-      goto __pyx_L5;
-    }
-    /*else*/ {
-
-      /* "h5py/_objects.pyx":280
- *                 equal = 1
- *             else:
- *                 try:             # <<<<<<<<<<<<<<
- *                     equal = hash(self) == hash(other)
- *                 except TypeError:
- */
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/_objects.pyx":281
- *             else:
- *                 try:
- *                     equal = hash(self) == hash(other)             # <<<<<<<<<<<<<<
- *                 except TypeError:
- *                     pass
- */
-          __pyx_t_8 = PyObject_Hash(__pyx_v_self); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
-          __pyx_t_9 = PyObject_Hash(__pyx_v_other); if (unlikely(__pyx_t_9 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
-          __pyx_v_equal = (__pyx_t_8 == __pyx_t_9);
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L13_try_end;
-        __pyx_L6_error:;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-        /* "h5py/_objects.pyx":282
- *                 try:
- *                     equal = hash(self) == hash(other)
- *                 except TypeError:             # <<<<<<<<<<<<<<
- *                     pass
- * 
- */
-        __pyx_t_10 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
-        if (__pyx_t_10) {
-          PyErr_Restore(0,0,0);
-          goto __pyx_L7_exception_handled;
-        }
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L7_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L13_try_end:;
-      }
-    }
-    __pyx_L5:;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/_objects.pyx":285
- *                     pass
- * 
- *         if how == 2:             # <<<<<<<<<<<<<<
- *             return equal
- *         return not equal
- */
-  __pyx_t_1 = (__pyx_v_how == 2);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":286
- * 
- *         if how == 2:
- *             return equal             # <<<<<<<<<<<<<<
- *         return not equal
- * 
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_equal); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 286; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_r = __pyx_t_4;
-    __pyx_t_4 = 0;
-    goto __pyx_L0;
-    goto __pyx_L14;
-  }
-  __pyx_L14:;
-
-  /* "h5py/_objects.pyx":287
- *         if how == 2:
- *             return equal
- *         return not equal             # <<<<<<<<<<<<<<
- * 
- *     def __hash__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_4 = __Pyx_PyBool_FromLong((!__pyx_v_equal)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_r = __pyx_t_4;
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static Py_hash_t __pyx_pw_4h5py_8_objects_8ObjectID_11__hash__(PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_4h5py_8_objects_8ObjectID_10__hash__[] = " Default hashing mechanism for HDF5 objects\n\n        Default hashing strategy:\n        1. Try to hash based on the object's fileno and objno records\n        2. If (1) succeeds, cache the resulting value\n        3. If (1) fails, raise TypeError\n        ";
-#if CYTHON_COMPILING_IN_CPYTHON
-struct wrapperbase __pyx_wrapperbase_4h5py_8_objects_8ObjectID_10__hash__;
-#endif
-static Py_hash_t __pyx_pw_4h5py_8_objects_8ObjectID_11__hash__(PyObject *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_10__hash__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":289
- *         return not equal
- * 
- *     def __hash__(self):             # <<<<<<<<<<<<<<
- *         """ Default hashing mechanism for HDF5 objects
- * 
- */
-
-static Py_hash_t __pyx_pf_4h5py_8_objects_8ObjectID_10__hash__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self) {
-  H5G_stat_t __pyx_v_stat;
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  herr_t __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  Py_hash_t __pyx_t_11;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__hash__", 0);
-
-  /* "h5py/_objects.pyx":299
- *         cdef H5G_stat_t stat
- * 
- *         if self._hash is None:             # <<<<<<<<<<<<<<
- *             try:
- *                 H5Gget_objinfo(self.id, '.', 0, &stat)
- */
-  __pyx_t_1 = (__pyx_v_self->_hash == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":300
- * 
- *         if self._hash is None:
- *             try:             # <<<<<<<<<<<<<<
- *                 H5Gget_objinfo(self.id, '.', 0, &stat)
- *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
- */
-    {
-      __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
-      __Pyx_XGOTREF(__pyx_t_2);
-      __Pyx_XGOTREF(__pyx_t_3);
-      __Pyx_XGOTREF(__pyx_t_4);
-      /*try:*/ {
-
-        /* "h5py/_objects.pyx":301
- *         if self._hash is None:
- *             try:
- *                 H5Gget_objinfo(self.id, '.', 0, &stat)             # <<<<<<<<<<<<<<
- *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
- *             except Exception:
- */
-        __pyx_t_5 = __pyx_f_4h5py_4defs_H5Gget_objinfo(__pyx_v_self->id, __pyx_k_4, 0, (&__pyx_v_stat)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-
-        /* "h5py/_objects.pyx":302
- *             try:
- *                 H5Gget_objinfo(self.id, '.', 0, &stat)
- *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))             # <<<<<<<<<<<<<<
- *             except Exception:
- *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
- */
-        __pyx_t_6 = PyLong_FromUnsignedLong((__pyx_v_stat.fileno[0])); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_6);
-        __pyx_t_7 = PyLong_FromUnsignedLong((__pyx_v_stat.fileno[1])); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_8 = PyLong_FromUnsignedLong((__pyx_v_stat.objno[0])); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_8);
-        __pyx_t_9 = PyLong_FromUnsignedLong((__pyx_v_stat.objno[1])); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_9);
-        __pyx_t_10 = PyTuple_New(4); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_10);
-        PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6);
-        __Pyx_GIVEREF(__pyx_t_6);
-        PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_7);
-        __Pyx_GIVEREF(__pyx_t_7);
-        PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_8);
-        __Pyx_GIVEREF(__pyx_t_8);
-        PyTuple_SET_ITEM(__pyx_t_10, 3, __pyx_t_9);
-        __Pyx_GIVEREF(__pyx_t_9);
-        __pyx_t_6 = 0;
-        __pyx_t_7 = 0;
-        __pyx_t_8 = 0;
-        __pyx_t_9 = 0;
-        __pyx_t_11 = PyObject_Hash(((PyObject *)__pyx_t_10)); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-        __pyx_t_10 = __Pyx_PyInt_FromHash_t(__pyx_t_11); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_10);
-        __Pyx_GIVEREF(__pyx_t_10);
-        __Pyx_GOTREF(__pyx_v_self->_hash);
-        __Pyx_DECREF(__pyx_v_self->_hash);
-        __pyx_v_self->_hash = __pyx_t_10;
-        __pyx_t_10 = 0;
-      }
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      goto __pyx_L11_try_end;
-      __pyx_L4_error:;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-      /* "h5py/_objects.pyx":303
- *                 H5Gget_objinfo(self.id, '.', 0, &stat)
- *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
- *             except Exception:             # <<<<<<<<<<<<<<
- *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
- * 
- */
-      __pyx_t_12 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
-      if (__pyx_t_12) {
-        __Pyx_AddTraceback("h5py._objects.ObjectID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-        if (__Pyx_GetException(&__pyx_t_10, &__pyx_t_9, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(__pyx_t_10);
-        __Pyx_GOTREF(__pyx_t_9);
-        __Pyx_GOTREF(__pyx_t_8);
-
-        /* "h5py/_objects.pyx":304
- *                 self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
- *             except Exception:
- *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)             # <<<<<<<<<<<<<<
- * 
- *         return self._hash
- */
-        __pyx_t_7 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s____class__); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_6 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s____name__); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(__pyx_t_6);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_7), __pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(((PyObject *)__pyx_t_7));
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(__pyx_t_6);
-        PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_7));
-        __Pyx_GIVEREF(((PyObject *)__pyx_t_7));
-        __pyx_t_7 = 0;
-        __pyx_t_7 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-        __Pyx_Raise(__pyx_t_7, 0, 0, 0);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-        goto __pyx_L5_exception_handled;
-      }
-      __pyx_L6_except_error:;
-      __Pyx_XGIVEREF(__pyx_t_2);
-      __Pyx_XGIVEREF(__pyx_t_3);
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-      goto __pyx_L1_error;
-      __pyx_L5_exception_handled:;
-      __Pyx_XGIVEREF(__pyx_t_2);
-      __Pyx_XGIVEREF(__pyx_t_3);
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-      __pyx_L11_try_end:;
-    }
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":306
- *                 raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
- * 
- *         return self._hash             # <<<<<<<<<<<<<<
- * 
- *     @classmethod
- */
-  __pyx_t_11 = __Pyx_PyInt_AsHash_t(__pyx_v_self->_hash); if (unlikely((__pyx_t_11 == (Py_hash_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_11;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_13open(PyObject *__pyx_v_cls, PyObject *__pyx_v_id); /*proto*/
-static char __pyx_doc_4h5py_8_objects_8ObjectID_12open[] = " Return a representation of an HDF5 identifier ";
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_13open(PyObject *__pyx_v_cls, PyObject *__pyx_v_id) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("open (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_12open(((PyObject*)__pyx_v_cls), ((PyObject *)__pyx_v_id));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":309
- * 
- *     @classmethod
- *     def open(cls, id):             # <<<<<<<<<<<<<<
- *         """ Return a representation of an HDF5 identifier """
- *         with registry.lock:
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_12open(PyObject *__pyx_v_cls, PyObject *__pyx_v_id) {
-  PyObject *__pyx_v_res = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  int __pyx_t_11;
-  PyObject *__pyx_t_12 = NULL;
-  PyObject *__pyx_t_13 = NULL;
-  int __pyx_t_14;
-  int __pyx_t_15;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("open", 0);
-
-  /* "h5py/_objects.pyx":311
- *     def open(cls, id):
- *         """ Return a representation of an HDF5 identifier """
- *         with registry.lock:             # <<<<<<<<<<<<<<
- *             try:
- *                 res = registry[id]
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__registry); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__lock); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s____enter__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/_objects.pyx":312
- *         """ Return a representation of an HDF5 identifier """
- *         with registry.lock:
- *             try:             # <<<<<<<<<<<<<<
- *                 res = registry[id]
- *             except KeyError:
- */
-          {
-            __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
-            __Pyx_XGOTREF(__pyx_t_8);
-            __Pyx_XGOTREF(__pyx_t_9);
-            __Pyx_XGOTREF(__pyx_t_10);
-            /*try:*/ {
-
-              /* "h5py/_objects.pyx":313
- *         with registry.lock:
- *             try:
- *                 res = registry[id]             # <<<<<<<<<<<<<<
- *             except KeyError:
- *                 res = cls(id)
- */
-              __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L15_error;}
-              __Pyx_GOTREF(__pyx_t_2);
-              __pyx_t_4 = PyObject_GetItem(__pyx_t_2, __pyx_v_id); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L15_error;}
-              __Pyx_GOTREF(__pyx_t_4);
-              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-              __pyx_v_res = __pyx_t_4;
-              __pyx_t_4 = 0;
-            }
-            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-            goto __pyx_L22_try_end;
-            __pyx_L15_error:;
-            __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-            /* "h5py/_objects.pyx":314
- *             try:
- *                 res = registry[id]
- *             except KeyError:             # <<<<<<<<<<<<<<
- *                 res = cls(id)
- *             return res
- */
-            __pyx_t_11 = PyErr_ExceptionMatches(__pyx_builtin_KeyError);
-            if (__pyx_t_11) {
-              __Pyx_AddTraceback("h5py._objects.ObjectID.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-              if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_2, &__pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
-              __Pyx_GOTREF(__pyx_t_4);
-              __Pyx_GOTREF(__pyx_t_2);
-              __Pyx_GOTREF(__pyx_t_1);
-
-              /* "h5py/_objects.pyx":315
- *                 res = registry[id]
- *             except KeyError:
- *                 res = cls(id)             # <<<<<<<<<<<<<<
- *             return res
- * 
- */
-              __pyx_t_12 = PyTuple_New(1); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
-              __Pyx_GOTREF(__pyx_t_12);
-              __Pyx_INCREF(__pyx_v_id);
-              PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_v_id);
-              __Pyx_GIVEREF(__pyx_v_id);
-              __pyx_t_13 = PyObject_Call(((PyObject *)__pyx_v_cls), ((PyObject *)__pyx_t_12), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
-              __Pyx_GOTREF(__pyx_t_13);
-              __Pyx_DECREF(((PyObject *)__pyx_t_12)); __pyx_t_12 = 0;
-              __Pyx_XDECREF(__pyx_v_res);
-              __pyx_v_res = __pyx_t_13;
-              __pyx_t_13 = 0;
-              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-              __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-              goto __pyx_L16_exception_handled;
-            }
-            __pyx_L17_except_error:;
-            __Pyx_XGIVEREF(__pyx_t_8);
-            __Pyx_XGIVEREF(__pyx_t_9);
-            __Pyx_XGIVEREF(__pyx_t_10);
-            __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
-            goto __pyx_L7_error;
-            __pyx_L16_exception_handled:;
-            __Pyx_XGIVEREF(__pyx_t_8);
-            __Pyx_XGIVEREF(__pyx_t_9);
-            __Pyx_XGIVEREF(__pyx_t_10);
-            __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10);
-            __pyx_L22_try_end:;
-          }
-
-          /* "h5py/_objects.pyx":316
- *             except KeyError:
- *                 res = cls(id)
- *             return res             # <<<<<<<<<<<<<<
- * 
- * 
- */
-          __Pyx_XDECREF(__pyx_r);
-          __Pyx_INCREF(__pyx_v_res);
-          __pyx_r = __pyx_v_res;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
-        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/_objects.pyx":311
- *     def open(cls, id):
- *         """ Return a representation of an HDF5 identifier """
- *         with registry.lock:             # <<<<<<<<<<<<<<
- *             try:
- *                 res = registry[id]
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py._objects.ObjectID.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_2, &__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_2);
-          __Pyx_GOTREF(__pyx_t_4);
-          __pyx_t_13 = PyTuple_New(3); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_13);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_2);
-          PyTuple_SET_ITEM(__pyx_t_13, 1, __pyx_t_2);
-          __Pyx_GIVEREF(__pyx_t_2);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_13, 2, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __pyx_t_10 = PyObject_Call(__pyx_t_3, __pyx_t_13, NULL);
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_10);
-          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-          if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_15 = (!__pyx_t_14);
-          if (__pyx_t_15) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_2);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_2, __pyx_t_4);
-            __pyx_t_1 = 0; __pyx_t_2 = 0; __pyx_t_4 = 0; 
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L27;
-          }
-          __pyx_L27:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_3) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_8, NULL);
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_15 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L28;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L1_error;
-    __pyx_L28:;
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_12);
-  __Pyx_XDECREF(__pyx_t_13);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_res);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_2id_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_2id_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_2id___get__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pxd":15
- * 
- *     cdef object __weakref__
- *     cdef readonly hid_t id             # <<<<<<<<<<<<<<
- *     cdef public int locked
- *     cdef object _hash
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_2id___get__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_v_self->id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.id.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_6locked_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_8_objects_8ObjectID_6locked_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_6locked___get__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pxd":16
- *     cdef object __weakref__
- *     cdef readonly hid_t id
- *     cdef public int locked             # <<<<<<<<<<<<<<
- *     cdef object _hash
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_8_objects_8ObjectID_6locked___get__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->locked); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py._objects.ObjectID.locked.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_8_objects_8ObjectID_6locked_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_4h5py_8_objects_8ObjectID_6locked_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_8_objects_8ObjectID_6locked_2__set__(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static int __pyx_pf_4h5py_8_objects_8ObjectID_6locked_2__set__(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_self, PyObject *__pyx_v_value) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__set__", 0);
-  __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_v_value); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_self->locked = __pyx_t_1;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._objects.ObjectID.locked.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_objects.pyx":319
- * 
- * 
- * cdef hid_t pdefault(ObjectID pid):             # <<<<<<<<<<<<<<
- * 
- *     if pid is None:
- */
-
-static hid_t __pyx_f_4h5py_8_objects_pdefault(struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_pid) {
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  __Pyx_RefNannySetupContext("pdefault", 0);
-
-  /* "h5py/_objects.pyx":321
- * cdef hid_t pdefault(ObjectID pid):
- * 
- *     if pid is None:             # <<<<<<<<<<<<<<
- *         return <hid_t>H5P_DEFAULT
- *     return pid.id
- */
-  __pyx_t_1 = (((PyObject *)__pyx_v_pid) == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/_objects.pyx":322
- * 
- *     if pid is None:
- *         return <hid_t>H5P_DEFAULT             # <<<<<<<<<<<<<<
- *     return pid.id
- */
-    __pyx_r = ((hid_t)H5P_DEFAULT);
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_objects.pyx":323
- *     if pid is None:
- *         return <hid_t>H5P_DEFAULT
- *     return pid.id             # <<<<<<<<<<<<<<
- */
-  __pyx_r = __pyx_v_pid->id;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_8_objects_ObjectID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)o);
-  p->__weakref__ = 0;
-  p->_hash = Py_None; Py_INCREF(Py_None);
-  if (__pyx_pw_4h5py_8_objects_8ObjectID_1__cinit__(o, a, k) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_8_objects_ObjectID(PyObject *o) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *p = (struct __pyx_obj_4h5py_8_objects_ObjectID *)o;
-  PyObject_GC_UnTrack(o);
-  {
-    PyObject *etype, *eval, *etb;
-    PyErr_Fetch(&etype, &eval, &etb);
-    ++Py_REFCNT(o);
-    __pyx_pw_4h5py_8_objects_8ObjectID_3__dealloc__(o);
-    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
-    --Py_REFCNT(o);
-    PyErr_Restore(etype, eval, etb);
-  }
-  if (p->__weakref__) PyObject_ClearWeakRefs(o);
-  Py_CLEAR(p->_hash);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_8_objects_ObjectID(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *p = (struct __pyx_obj_4h5py_8_objects_ObjectID *)o;
-  if (p->_hash) {
-    e = (*v)(p->_hash, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_8_objects_ObjectID(PyObject *o) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *p = (struct __pyx_obj_4h5py_8_objects_ObjectID *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->_hash);
-  p->_hash = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_8_objects_8ObjectID_fileno(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_8_objects_8ObjectID_6fileno_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_8_objects_8ObjectID_valid(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_8_objects_8ObjectID_5valid_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_8_objects_8ObjectID_id(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_8_objects_8ObjectID_2id_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_8_objects_8ObjectID_locked(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_8_objects_8ObjectID_6locked_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_8_objects_8ObjectID_locked(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_8_objects_8ObjectID_6locked_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyMethodDef __pyx_methods_4h5py_8_objects_ObjectID[] = {
-  {__Pyx_NAMESTR("__copy__"), (PyCFunction)__pyx_pw_4h5py_8_objects_8ObjectID_7__copy__, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_8_objects_8ObjectID_13open, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_8_objects_8ObjectID_12open)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_8_objects_ObjectID[] = {
-  {(char *)"fileno", __pyx_getprop_4h5py_8_objects_8ObjectID_fileno, 0, 0, 0},
-  {(char *)"valid", __pyx_getprop_4h5py_8_objects_8ObjectID_valid, 0, 0, 0},
-  {(char *)"id", __pyx_getprop_4h5py_8_objects_8ObjectID_id, 0, 0, 0},
-  {(char *)"locked", __pyx_getprop_4h5py_8_objects_8ObjectID_locked, __pyx_setprop_4h5py_8_objects_8ObjectID_locked, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_ObjectID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  __pyx_pw_4h5py_8_objects_8ObjectID_5__nonzero__, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_ObjectID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_ObjectID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_ObjectID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_8_objects_ObjectID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py._objects.ObjectID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_8_objects_ObjectID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_ObjectID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_ObjectID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_ObjectID, /*tp_as_mapping*/
-  __pyx_pw_4h5py_8_objects_8ObjectID_11__hash__, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_ObjectID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents an HDF5 identifier.\n\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_8_objects_ObjectID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_8_objects_ObjectID, /*tp_clear*/
-  __pyx_pw_4h5py_8_objects_8ObjectID_9__richcmp__, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_8_objects_ObjectID, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_8_objects_ObjectID, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_8_objects_ObjectID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_8_objects_FastRLock(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  if (__pyx_pw_4h5py_8_objects_9FastRLock_1__cinit__(o, __pyx_empty_tuple, NULL) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_8_objects_FastRLock(PyObject *o) {
-  {
-    PyObject *etype, *eval, *etb;
-    PyErr_Fetch(&etype, &eval, &etb);
-    ++Py_REFCNT(o);
-    __pyx_pw_4h5py_8_objects_9FastRLock_3__dealloc__(o);
-    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
-    --Py_REFCNT(o);
-    PyErr_Restore(etype, eval, etb);
-  }
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_8_objects_FastRLock[] = {
-  {__Pyx_NAMESTR("acquire"), (PyCFunction)__pyx_pw_4h5py_8_objects_9FastRLock_5acquire, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("release"), (PyCFunction)__pyx_pw_4h5py_8_objects_9FastRLock_7release, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("__enter__"), (PyCFunction)__pyx_pw_4h5py_8_objects_9FastRLock_9__enter__, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("__exit__"), (PyCFunction)__pyx_pw_4h5py_8_objects_9FastRLock_11__exit__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("_is_owned"), (PyCFunction)__pyx_pw_4h5py_8_objects_9FastRLock_13_is_owned, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_FastRLock = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_FastRLock = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_FastRLock = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_FastRLock = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_8_objects_FastRLock = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py._objects.FastRLock"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_8_objects_FastRLock), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_8_objects_FastRLock, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_FastRLock, /*tp_as_number*/
-  &__pyx_tp_as_sequence_FastRLock, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_FastRLock, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_FastRLock, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  __Pyx_DOCSTR("Fast, re-entrant locking.\n\n    Under uncongested conditions, the lock is never acquired but only\n    counted.  Only when a second thread comes in and notices that the\n    lock is needed, it acquires the lock and notifies the first thread\n    to release it when it's done.  This is all made possible by the\n    wonderful GIL.\n    "), /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_8_objects_FastRLock, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_8_objects_FastRLock, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_8_objects__Registry(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_8_objects__Registry *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_8_objects__Registry *)o);
-  p->_data = Py_None; Py_INCREF(Py_None);
-  p->lock = ((struct __pyx_obj_4h5py_8_objects_FastRLock *)Py_None); Py_INCREF(Py_None);
-  if (__pyx_pw_4h5py_8_objects_9_Registry_1__cinit__(o, __pyx_empty_tuple, NULL) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_8_objects__Registry(PyObject *o) {
-  struct __pyx_obj_4h5py_8_objects__Registry *p = (struct __pyx_obj_4h5py_8_objects__Registry *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->_data);
-  Py_CLEAR(p->lock);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_8_objects__Registry(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_8_objects__Registry *p = (struct __pyx_obj_4h5py_8_objects__Registry *)o;
-  if (p->_data) {
-    e = (*v)(p->_data, a); if (e) return e;
-  }
-  if (p->lock) {
-    e = (*v)(((PyObject*)p->lock), a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_8_objects__Registry(PyObject *o) {
-  struct __pyx_obj_4h5py_8_objects__Registry *p = (struct __pyx_obj_4h5py_8_objects__Registry *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->_data);
-  p->_data = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->lock);
-  p->lock = ((struct __pyx_obj_4h5py_8_objects_FastRLock *)Py_None); Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-static PyObject *__pyx_sq_item_4h5py_8_objects__Registry(PyObject *o, Py_ssize_t i) {
-  PyObject *r;
-  PyObject *x = PyInt_FromSsize_t(i); if(!x) return 0;
-  r = Py_TYPE(o)->tp_as_mapping->mp_subscript(o, x);
-  Py_DECREF(x);
-  return r;
-}
-
-static int __pyx_mp_ass_subscript_4h5py_8_objects__Registry(PyObject *o, PyObject *i, PyObject *v) {
-  if (v) {
-    return __pyx_pw_4h5py_8_objects_9_Registry_7__setitem__(o, i, v);
-  }
-  else {
-    return __pyx_pw_4h5py_8_objects_9_Registry_9__delitem__(o, i);
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_8_objects_9_Registry_lock(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_8_objects_9_Registry_4lock_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_8_objects__Registry[] = {
-  {__Pyx_NAMESTR("cleanup"), (PyCFunction)__pyx_pw_4h5py_8_objects_9_Registry_3cleanup, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_8_objects_9_Registry_2cleanup)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_8_objects__Registry[] = {
-  {(char *)"lock", __pyx_getprop_4h5py_8_objects_9_Registry_lock, 0, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__Registry = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__Registry = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  __pyx_sq_item_4h5py_8_objects__Registry, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__Registry = {
-  0, /*mp_length*/
-  __pyx_pw_4h5py_8_objects_9_Registry_5__getitem__, /*mp_subscript*/
-  __pyx_mp_ass_subscript_4h5py_8_objects__Registry, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__Registry = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_8_objects__Registry = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py._objects._Registry"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_8_objects__Registry), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_8_objects__Registry, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__Registry, /*tp_as_number*/
-  &__pyx_tp_as_sequence__Registry, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__Registry, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__Registry, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  0, /*tp_doc*/
-  __pyx_tp_traverse_4h5py_8_objects__Registry, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_8_objects__Registry, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_8_objects__Registry, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_8_objects__Registry, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_8_objects__Registry, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("_objects"),
-    __Pyx_DOCSTR(__pyx_k_9), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0},
-  {&__pyx_n_s__AttributeError, __pyx_k__AttributeError, sizeof(__pyx_k__AttributeError), 0, 0, 1, 1},
-  {&__pyx_n_s__Exception, __pyx_k__Exception, sizeof(__pyx_k__Exception), 0, 0, 1, 1},
-  {&__pyx_n_s__KeyError, __pyx_k__KeyError, sizeof(__pyx_k__KeyError), 0, 0, 1, 1},
-  {&__pyx_n_s__KeyedRef, __pyx_k__KeyedRef, sizeof(__pyx_k__KeyedRef), 0, 0, 1, 1},
-  {&__pyx_n_s__NotImplemented, __pyx_k__NotImplemented, sizeof(__pyx_k__NotImplemented), 0, 0, 1, 1},
-  {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s____class__, __pyx_k____class__, sizeof(__pyx_k____class__), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____hash__, __pyx_k____hash__, sizeof(__pyx_k____hash__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____name__, __pyx_k____name__, sizeof(__pyx_k____name__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s__blocking, __pyx_k__blocking, sizeof(__pyx_k__blocking), 0, 0, 1, 1},
-  {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
-  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__pop, __pyx_k__pop, sizeof(__pyx_k__pop), 0, 0, 1, 1},
-  {&__pyx_n_s__ref, __pyx_k__ref, sizeof(__pyx_k__ref), 0, 0, 1, 1},
-  {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1},
-  {&__pyx_n_s__t, __pyx_k__t, sizeof(__pyx_k__t), 0, 0, 1, 1},
-  {&__pyx_n_s__tb, __pyx_k__tb, sizeof(__pyx_k__tb), 0, 0, 1, 1},
-  {&__pyx_n_s__v, __pyx_k__v, sizeof(__pyx_k__v), 0, 0, 1, 1},
-  {&__pyx_n_s__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 0, 0, 1, 1},
-  {&__pyx_n_s__weakref, __pyx_k__weakref, sizeof(__pyx_k__weakref), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_AttributeError = __Pyx_GetName(__pyx_b, __pyx_n_s__AttributeError); if (!__pyx_builtin_AttributeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_NotImplemented = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_Exception = __Pyx_GetName(__pyx_b, __pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_KeyError = __Pyx_GetName(__pyx_b, __pyx_n_s__KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/_objects.pyx":81
- *     def release(self):
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")             # <<<<<<<<<<<<<<
- *         unlock_lock(self)
- * 
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-
-  /* "h5py/_objects.pyx":93
- *         # self.release()
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")             # <<<<<<<<<<<<<<
- *         unlock_lock(self)
- * 
- */
-  __pyx_k_tuple_3 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_3);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-
-  /* "h5py/_objects.pyx":243
- *         self.id = id
- *         self.locked = 0
- *         with registry.lock:             # <<<<<<<<<<<<<<
- *             registry[id] = self
- * 
- */
-  __pyx_k_tuple_5 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_5);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_5));
-
-  /* "h5py/_objects.pyx":249
- *         if not self.locked:
- *             try:
- *                 with registry.lock:             # <<<<<<<<<<<<<<
- *                     del registry[self.id]
- *             except AttributeError:
- */
-  __pyx_k_tuple_6 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_6);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
-
-  /* "h5py/_objects.pyx":311
- *     def open(cls, id):
- *         """ Return a representation of an HDF5 identifier """
- *         with registry.lock:             # <<<<<<<<<<<<<<
- *             try:
- *                 res = registry[id]
- */
-  __pyx_k_tuple_8 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_8);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC init_objects(void); /*proto*/
-PyMODINIT_FUNC init_objects(void)
-#else
-PyMODINIT_FUNC PyInit__objects(void); /*proto*/
-PyMODINIT_FUNC PyInit__objects(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit__objects(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("_objects"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_9), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py._objects")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py._objects", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py___objects) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("pdefault", (void (*)(void))__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_4h5py_8_objects_ObjectID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_CPYTHON
-  {
-    PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_8_objects_ObjectID, "__hash__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
-      __pyx_wrapperbase_4h5py_8_objects_8ObjectID_10__hash__ = *((PyWrapperDescrObject *)wrapper)->d_base;
-      __pyx_wrapperbase_4h5py_8_objects_8ObjectID_10__hash__.doc = __pyx_doc_4h5py_8_objects_8ObjectID_10__hash__;
-      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_8_objects_8ObjectID_10__hash__;
-    }
-  }
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "ObjectID", (PyObject *)&__pyx_type_4h5py_8_objects_ObjectID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_8_objects_ObjectID.tp_weaklistoffset == 0) __pyx_type_4h5py_8_objects_ObjectID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_8_objects_ObjectID, __weakref__);
-  __pyx_ptype_4h5py_8_objects_ObjectID = &__pyx_type_4h5py_8_objects_ObjectID;
-  if (PyType_Ready(&__pyx_type_4h5py_8_objects_FastRLock) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "FastRLock", (PyObject *)&__pyx_type_4h5py_8_objects_FastRLock) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_8_objects_FastRLock = &__pyx_type_4h5py_8_objects_FastRLock;
-  if (PyType_Ready(&__pyx_type_4h5py_8_objects__Registry) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_Registry", (PyObject *)&__pyx_type_4h5py_8_objects__Registry) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_8_objects__Registry = &__pyx_type_4h5py_8_objects__Registry;
-  /*--- Type import code ---*/
-  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type", 
-  #if CYTHON_COMPILING_IN_PYPY
-  sizeof(PyTypeObject),
-  #else
-  sizeof(PyHeapTypeObject),
-  #endif
-  0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[3]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[4]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objinfo", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/_objects.pyx":41
- * from defs cimport *
- * 
- * from weakref import KeyedRef, ref             # <<<<<<<<<<<<<<
- * 
- * ## {{{ http://code.activestate.com/recipes/577336/ (r3)
- */
-  __pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s__KeyedRef));
-  PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_n_s__KeyedRef));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__KeyedRef));
-  __Pyx_INCREF(((PyObject *)__pyx_n_s__ref));
-  PyList_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_n_s__ref));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ref));
-  __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__weakref), ((PyObject *)__pyx_t_2), -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__KeyedRef);
-  if (__pyx_t_2 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__KeyedRef);
-    if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__KeyedRef, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__ref);
-  if (__pyx_t_2 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__ref);
-    if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ref, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/_objects.pyx":173
- *         self.lock = FastRLock()
- * 
- *     __hash__ = None # Avoid Py3 warning             # <<<<<<<<<<<<<<
- * 
- *     def cleanup(self):
- */
-  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_8_objects__Registry->tp_dict, __pyx_n_s____hash__, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  PyType_Modified(__pyx_ptype_4h5py_8_objects__Registry);
-
-  /* "h5py/_objects.pyx":215
- * 
- * 
- * registry = _Registry()             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects__Registry)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__registry, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/_objects.pyx":309
- * 
- *     @classmethod
- *     def open(cls, id):             # <<<<<<<<<<<<<<
- *         """ Return a representation of an HDF5 identifier """
- *         with registry.lock:
- */
-  __pyx_t_3 = __Pyx_GetName((PyObject *)__pyx_ptype_4h5py_8_objects_ObjectID, __pyx_n_s__open); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_2 = __Pyx_Method_ClassMethod(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  if (PyDict_SetItem((PyObject *)__pyx_ptype_4h5py_8_objects_ObjectID->tp_dict, __pyx_n_s__open, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  PyType_Modified(__pyx_ptype_4h5py_8_objects_ObjectID);
-
-  /* "h5py/_objects.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py._objects", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py._objects");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
-    PyObject *kwdict,
-    const char* function_name,
-    int kw_allowed)
-{
-    PyObject* key = 0;
-    Py_ssize_t pos = 0;
-#if CPYTHON_COMPILING_IN_PYPY
-    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
-        goto invalid_keyword;
-    return 1;
-#else
-    while (PyDict_Next(kwdict, &pos, &key, 0)) {
-        #if PY_MAJOR_VERSION < 3
-        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
-        #endif
-            if (unlikely(!PyUnicode_Check(key)))
-                goto invalid_keyword_type;
-    }
-    if ((!kw_allowed) && unlikely(key))
-        goto invalid_keyword;
-    return 1;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    return 0;
-#endif
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-    return 0;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
-    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hid_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hid_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hid_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hid_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hid_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hid_t)-1;
-    }
-}
-
-static PyObject* __Pyx_Method_ClassMethod(PyObject *method) {
-#if CYTHON_COMPILING_IN_PYPY
-    if (PyObject_TypeCheck(method, &PyWrapperDescr_Type)) { /* cdef classes */
-        return PyClassMethod_New(method);
-    }
-#else
-    static PyTypeObject *methoddescr_type = NULL;
-    if (methoddescr_type == NULL) {
-       PyObject *meth = __Pyx_GetAttrString((PyObject*)&PyList_Type, "append");
-       if (!meth) return NULL;
-       methoddescr_type = Py_TYPE(meth);
-       Py_DECREF(meth);
-    }
-    if (PyObject_TypeCheck(method, methoddescr_type)) { /* cdef classes */
-        PyMethodDescrObject *descr = (PyMethodDescrObject *)method;
-        #if PY_VERSION_HEX < 0x03020000
-        PyTypeObject *d_type = descr->d_type;
-        #else
-        PyTypeObject *d_type = descr->d_common.d_type;
-        #endif
-        return PyDescr_NewClassMethod(d_type, descr->d_method);
-    }
-#endif
-    else if (PyMethod_Check(method)) { /* python classes */
-        return PyClassMethod_New(PyMethod_GET_FUNCTION(method));
-    }
-    else if (PyCFunction_Check(method)) {
-        return PyClassMethod_New(method);
-    }
-#ifdef __Pyx_CyFunction_USED
-    else if (PyObject_TypeCheck(method, __pyx_CyFunctionType)) {
-        return PyClassMethod_New(method);
-    }
-#endif
-    PyErr_Format(PyExc_TypeError,
-                 "Class-level classmethod() can only be called on "
-                 "a method_descriptor or instance method.");
-    return NULL;
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/_objects.pxd b/h5py/_objects.pxd
index 3e19c84..ed7407e 100644
--- a/h5py/_objects.pxd
+++ b/h5py/_objects.pxd
@@ -13,7 +13,7 @@ cdef class ObjectID:
 
     cdef object __weakref__
     cdef readonly hid_t id
-    cdef public int locked
+    cdef public int locked              # Cannot be closed, explicitly or auto
     cdef object _hash
 
 # Convenience functions
diff --git a/h5py/_objects.pyx b/h5py/_objects.pyx
index 6134173..6c42d43 100644
--- a/h5py/_objects.pyx
+++ b/h5py/_objects.pyx
@@ -8,211 +8,139 @@
 #           and contributor agreement.
 
 """
-    Implements ObjectID base class and global object registry.
-
-    It used to be that we could store the HDF5 identifier in an ObjectID
-    and simply close it when the object was deallocated.  However, since
-    HDF5 1.8.5 they have started recycling object identifiers, which
-    breaks this system.
-
-    We now use a global registry of object identifiers.  This is implemented
-    via a dictionary which maps an integer representation of the identifier
-    to a weak reference of an ObjectID.  There is only one ObjectID instance
-    in the universe for each integer identifier.  When the HDF5 reference
-    count for a identifier reaches zero, HDF5 closes the object and reclaims
-    the identifier. When this occurs, the identifier and weak reference must
-    be deleted from the registry. If an ObjectID is deallocated, it is deleted
-    from the registry and the HDF5 reference count is decreased, HDF5 closes
-    and reclaims the identifier for future use.
-
-    All interactions with the registry must be synchronized for thread safety.
-    You must acquire "registry.lock" before interacting with the registry. The
-    registry is not internally synchronized, in the interest of performance: we
-    don't want the same thread attempting to acquire the lock multiple times
-    during a single operation, if we can avoid it.
-
-    All ObjectIDs and subclasses thereof should be opened with the "open"
-    classmethod factory function, such that an existing ObjectID instance can
-    be returned from the registry when appropriate.
+    Implements ObjectID base class.
 """
 
+include "_locks.pxi"
 from defs cimport *
 
-from weakref import KeyedRef, ref
+DEF USE_LOCKING = True
+DEF DEBUG_ID = False
 
-## {{{ http://code.activestate.com/recipes/577336/ (r3)
-from cpython cimport pythread
-from cpython.exc cimport PyErr_NoMemory
+# --- Locking code ------------------------------------------------------------
+#
+# Most of the functions and methods in h5py spend all their time in the Cython
+# code for h5py, and hold the GIL until they exit.  However, in some cases,
+# particularly when calling native-Python functions from the stdlib or
+# elsewhere, the GIL can be released mid-function and another thread can
+# call into the API at the same time.
+#
+# This is bad news, especially for the object identifier registry.
+#
+# We serialize all access to the low-level API with a single recursive lock.
+# Only one thread at a time can call any low-level routine.
+#
+# Note that this doesn't affect other applications like PyTables which are
+# interacting with HDF5.  In the case of the identifier registry, this means
+# that it's possible for an identifier to go stale and for PyTables to reuse
+# it before we've had a chance to set obj.id = 0.  For this reason, h5py is
+# advertised for EITHER multithreaded use OR use alongside PyTables/NetCDF4,
+# but not both at the same time.
+
+IF USE_LOCKING:
+    cdef FastRLock _phil = FastRLock()
+ELSE:
+    cdef BogoLock _phil = BogoLock()
+
+# Python alias for access from other modules
+phil = _phil
+
+def with_phil(func):
+    """ Locking decorator """
 
-cdef class FastRLock:
-    """Fast, re-entrant locking.
+    import functools
 
-    Under uncongested conditions, the lock is never acquired but only
-    counted.  Only when a second thread comes in and notices that the
-    lock is needed, it acquires the lock and notifies the first thread
-    to release it when it's done.  This is all made possible by the
-    wonderful GIL.
+    def wrapper(*args, **kwds):
+        with _phil:
+            return func(*args, **kwds)
+
+    functools.update_wrapper(wrapper, func, ('__name__', '__doc__'))
+    return wrapper
+
+# --- End locking code --------------------------------------------------------
+
+
+# --- Registry code ----------------------------------------------------------
+#
+# With HDF5 1.8, when an identifier is closed its value may be immediately
+# re-used for a new object.  This leads to odd behavior when an ObjectID
+# with an old identifier is left hanging around... for example, a GroupID
+# belonging to a closed file could suddenly "mutate" into one from a
+# different file.
+#
+# There are two ways such "zombie" identifiers can arise.  The first is if
+# an identifier is explicitly closed via obj._close().  For this case we
+# set obj.id = 0.  The second is that certain actions in HDF5 can *remotely*
+# invalidate identifiers.  For example, closing a file opened with
+# H5F_CLOSE_STRONG will also close open groups, etc.
+#
+# When such a "nonlocal" event occurs, we have to examine all live ObjectID
+# instances, and manually set obj.id = 0.  That's what the function
+# nonlocal_close() does.  We maintain an inventory of all live ObjectID
+# instances in the registry dict.  Then, when a nonlocal event occurs,
+# nonlocal_close() walks through the inventory and sets the stale identifiers
+# to 0.  It must be explictly called; currently, this happens in FileID.close()
+# as well as the high-level File.close().
+#
+# The entire low-level API is now explicitly locked, so only one thread at at
+# time is taking actions that may create or invalidate identifiers. See the
+# "locking code" section above.
+#
+# See also __cinit__ and __dealloc__ for class ObjectID.
+
+import weakref
+import warnings
+
+# Will map id(obj) -> weakref(obj), where obj is an ObjectID instance.
+# Objects are added only via ObjectID.__cinit__, and removed only by
+# ObjectID.__dealloc__.
+cdef dict registry = {}
+
+ at with_phil
+def print_reg():
+    import h5py
+    refs = registry.values()
+    objs = [r() for r in refs]
+
+    none = len([x for x in objs if x is None])
+    files = len([x for x in objs if isinstance(x, h5py.h5f.FileID)])
+    groups = len([x for x in objs if isinstance(x, h5py.h5g.GroupID)])
+
+    print "REGISTRY: %d | %d None | %d FileID | %d GroupID" % (len(objs), none, files, groups)
+
+
+ at with_phil
+def nonlocal_close():
+    """ Find dead ObjectIDs and set their integer identifiers to 0.
     """
-    cdef pythread.PyThread_type_lock _real_lock
-    cdef long _owner            # ID of thread owning the lock
-    cdef int _count             # re-entry count
-    cdef int _pending_requests  # number of pending requests for real lock
-    cdef bint _is_locked        # whether the real lock is acquired
-
-    def __cinit__(self):
-        self._owner = -1
-        self._count = 0
-        self._is_locked = False
-        self._pending_requests = 0
-        self._real_lock = pythread.PyThread_allocate_lock()
-        if self._real_lock is NULL:
-            PyErr_NoMemory()
+    cdef ObjectID obj
 
-    def __dealloc__(self):
-        if self._real_lock is not NULL:
-            pythread.PyThread_free_lock(self._real_lock)
-            self._real_lock = NULL
-
-    def acquire(self, bint blocking=True):
-        return lock_lock(self, pythread.PyThread_get_thread_ident(), blocking)
-
-    def release(self):
-        if self._owner != pythread.PyThread_get_thread_ident():
-            raise RuntimeError("cannot release un-acquired lock")
-        unlock_lock(self)
-
-    # compatibility with threading.RLock
-
-    def __enter__(self):
-        # self.acquire()
-        return lock_lock(self, pythread.PyThread_get_thread_ident(), True)
-
-    def __exit__(self, t, v, tb):
-        # self.release()
-        if self._owner != pythread.PyThread_get_thread_ident():
-            raise RuntimeError("cannot release un-acquired lock")
-        unlock_lock(self)
-
-    def _is_owned(self):
-        return self._owner == pythread.PyThread_get_thread_ident()
-
-
-cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) nogil:
-    # Note that this function *must* hold the GIL when being called.
-    # We just use 'nogil' in the signature to make sure that no Python
-    # code execution slips in that might free the GIL
-
-    if lock._count:
-        # locked! - by myself?
-        if current_thread == lock._owner:
-            lock._count += 1
-            return 1
-    elif not lock._pending_requests:
-        # not locked, not requested - go!
-        lock._owner = current_thread
-        lock._count = 1
-        return 1
-    # need to get the real lock
-    return _acquire_lock(
-        lock, current_thread,
-        pythread.WAIT_LOCK if blocking else pythread.NOWAIT_LOCK)
-
-cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil:
-    # Note that this function *must* hold the GIL when being called.
-    # We just use 'nogil' in the signature to make sure that no Python
-    # code execution slips in that might free the GIL
-
-    if not lock._is_locked and not lock._pending_requests:
-        # someone owns it but didn't acquire the real lock - do that
-        # now and tell the owner to release it when done. Note that we
-        # do not release the GIL here as we must absolutely be the one
-        # who acquires the lock now.
-        if not pythread.PyThread_acquire_lock(lock._real_lock, wait):
-            return 0
-        #assert not lock._is_locked
-        lock._is_locked = True
-    lock._pending_requests += 1
-    with nogil:
-        # wait for the lock owning thread to release it
-        locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)
-    lock._pending_requests -= 1
-    #assert not lock._is_locked
-    #assert lock._count == 0
-    if not locked:
-        return 0
-    lock._is_locked = True
-    lock._owner = current_thread
-    lock._count = 1
-    return 1
-
-cdef inline void unlock_lock(FastRLock lock) nogil:
-    # Note that this function *must* hold the GIL when being called.
-    # We just use 'nogil' in the signature to make sure that no Python
-    # code execution slips in that might free the GIL
-
-    #assert lock._owner == pythread.PyThread_get_thread_ident()
-    #assert lock._count > 0
-    lock._count -= 1
-    if lock._count == 0:
-        lock._owner = -1
-        if lock._is_locked:
-            pythread.PyThread_release_lock(lock._real_lock)
-            lock._is_locked = False
-## end of http://code.activestate.com/recipes/577336/ }}}
-
-
-cdef class _Registry:
-
-    cdef object _data
-    cdef readonly FastRLock lock
-
-    def __cinit__(self):
-        self._data = {}
-        self.lock = FastRLock()
-
-    __hash__ = None # Avoid Py3 warning
-
-    def cleanup(self):
-        "Manage invalid identifiers"
-        deadlist = []
-        for key in self._data:
-            val = self._data[key]
-            val = val()
-            if val is None:
-                deadlist.append(key)
-                continue
-            if not val.valid:
-                deadlist.append(key)
-        for key in deadlist:
-            del self._data[key]
-
-    def __getitem__(self, key):
-        o = self._data[key]()
-        if o is None:
-            # This would occur if we had open objects and closed their
-            # file, causing the objects identifiers to be reclaimed.
-            # Now we clean up the registry when we close a file (or any
-            # other identifier, for that matter), so in practice this
-            # condition never obtains.
-            del self._data[key]
-            # We need to raise a KeyError:
-            o = self._data[key]()
-        return o
-
-    def __setitem__(self, key, val):
-        # this method should only be called by ObjectID.open
-        self._data[key] = ref(val)
-
-    def __delitem__(self, key):
-        # we need to synchronize removal of the id from the
-        # registry with decreasing the HDF5 reference count:
-        self._data.pop(key,None)
-
-        if H5Iget_type(key) >= 0: # if not, object was explicitly closed
-            H5Idec_ref(key) 
-
-
-registry = _Registry()
+    for python_id, ref in registry.items():
+
+        obj = ref()
+
+        # Object somehow died without being removed from the registry.
+        # I think this is impossible, but let's make sure.
+        if obj is None:
+            warnings.warn("Found murdered identifier %d of kind %s HDF5 id %d" % 
+                             (python_id, type(obj), obj.id), RuntimeWarning)
+            del registry[python_id]
+            continue
+
+        # Locked objects are immortal, as they generally are provided by
+        # the HDF5 library itself (property list classes, etc.).
+        if obj.locked:
+            continue
+
+        # Invalid object; set obj.id = 0 so it doesn't become a zombie
+        if not H5Iis_valid(obj.id):
+            IF DEBUG_ID:
+                print("NONLOCAL - invalidating %d of kind %s HDF5 id %d" %
+                        (python_id, type(obj), obj.id) )
+            obj.id = 0
+            continue
+
+# --- End registry code -------------------------------------------------------
 
 
 cdef class ObjectID:
@@ -225,40 +153,76 @@ cdef class ObjectID:
     property fileno:
         def __get__(self):
             cdef H5G_stat_t stat
-            H5Gget_objinfo(self.id, '.', 0, &stat)
-            return (stat.fileno[0], stat.fileno[1])
+            with _phil:
+                H5Gget_objinfo(self.id, '.', 0, &stat)
+                return (stat.fileno[0], stat.fileno[1])
+
 
     property valid:
         def __get__(self):
-            if not self.id:
+
+            # Locked objects are always valid, regardless of obj.id
+            if self.locked:
+                return True
+
+            # Former zombie object
+            if self.id == 0:
                 return False
-            res = H5Iget_type(self.id) > 0
-            if not res:
-                self.id = 0
-            return res
 
-    def __cinit__(self, id):
-        self.id = id
-        self.locked = 0
-        with registry.lock:
-            registry[id] = self
+            # Ask HDF5.  Note that H5Iis_valid only works for "user"
+            # identifiers, hence the above checks.
+            with _phil:
+                return H5Iis_valid(self.id)
+
+
+    def __cinit__(self, id_):
+        with _phil:
+            self.id = id_
+            self.locked = 0
+            IF DEBUG_ID:
+                print("CINIT - registering %d of kind %s HDF5 id %d" % (id(self), type(self), id_))
+            registry[id(self)] = weakref.ref(self)
+
 
     def __dealloc__(self):
-        if not self.locked:
+        with _phil:
+            IF DEBUG_ID:
+                print("DEALLOC - unregistering %d of kind %s HDF5 id %d" % (id(self), type(self), self.id))
+            try:
+                # There's no reason to expect it, but in principle H5Idec_ref
+                # could raise an exception.
+                if self.valid and (not self.locked):
+                    H5Idec_ref(self.id)
+            finally:
+                del registry[id(self)] 
+
+
+    def _close(self):
+        """ Manually close this object. """
+
+        with _phil:
+            IF DEBUG_ID:
+                print("CLOSE - %d of kind %s HDF5 id %d" % (id(self), type(self), self.id))
             try:
-                with registry.lock:
-                    del registry[self.id]
-            except AttributeError:
-                # library being torn down, registry is None
-                pass
+                # There's no reason to expect it, but in principle H5Idec_ref
+                # could raise an exception.
+                if self.valid and (not self.locked):
+                    H5Idec_ref(self.id)
+            finally:
+                self.id = 0
+
 
     def __nonzero__(self):
         return self.valid
 
+
     def __copy__(self):
         cdef ObjectID cpy
-        cpy = type(self)(self.id)
-        return cpy
+        with _phil:
+            cpy = type(self)(self.id)
+            H5Iinc_ref(cpy.id)
+            return cpy
+
 
     def __richcmp__(self, object other, int how):
         """ Default comparison mechanism for HDF5 objects (equal/not-equal)
@@ -270,21 +234,23 @@ cdef class ObjectID:
         """
         cdef bint equal = 0
 
-        if how != 2 and how != 3:
-            return NotImplemented
+        with _phil:
+            if how != 2 and how != 3:
+                return NotImplemented
 
-        if isinstance(other, ObjectID):
-            if self.id == other.id:
-                equal = 1
-            else:
-                try:
-                    equal = hash(self) == hash(other)
-                except TypeError:
-                    pass
+            if isinstance(other, ObjectID):
+                if self.id == other.id:
+                    equal = 1
+                else:
+                    try:
+                        equal = hash(self) == hash(other)
+                    except TypeError:
+                        pass
+
+            if how == 2:
+                return equal
+            return not equal
 
-        if how == 2:
-            return equal
-        return not equal
 
     def __hash__(self):
         """ Default hashing mechanism for HDF5 objects
@@ -295,25 +261,16 @@ cdef class ObjectID:
         3. If (1) fails, raise TypeError
         """
         cdef H5G_stat_t stat
+        
+        with _phil:
+            if self._hash is None:
+                try:
+                    H5Gget_objinfo(self.id, '.', 0, &stat)
+                    self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
+                except Exception:
+                    raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
 
-        if self._hash is None:
-            try:
-                H5Gget_objinfo(self.id, '.', 0, &stat)
-                self._hash = hash((stat.fileno[0], stat.fileno[1], stat.objno[0], stat.objno[1]))
-            except Exception:
-                raise TypeError("Objects of class %s cannot be hashed" % self.__class__.__name__)
-
-        return self._hash
-
-    @classmethod
-    def open(cls, id):
-        """ Return a representation of an HDF5 identifier """
-        with registry.lock:
-            try:
-                res = registry[id]
-            except KeyError:
-                res = cls(id)
-            return res
+            return self._hash
 
 
 cdef hid_t pdefault(ObjectID pid):
diff --git a/h5py/_proxy.c b/h5py/_proxy.c
deleted file mode 100644
index bbb6728..0000000
--- a/h5py/_proxy.c
+++ /dev/null
@@ -1,4484 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py___proxy
-#define __PYX_HAVE_API__h5py___proxy
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "_proxy.pyx",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_t_4h5py_6_proxy_h5py_scatter_t;
-typedef struct __pyx_t_4h5py_6_proxy_h5py_scatter_t __pyx_t_4h5py_6_proxy_h5py_scatter_t;
-
-/* "h5py/_proxy.pyx":16
- * """
- * 
- * cdef enum copy_dir:             # <<<<<<<<<<<<<<
- *     H5PY_SCATTER = 0,
- *     H5PY_GATHER
- */
-enum __pyx_t_4h5py_6_proxy_copy_dir {
-  __pyx_e_4h5py_6_proxy_H5PY_SCATTER = 0,
-  __pyx_e_4h5py_6_proxy_H5PY_GATHER
-};
-
-/* "h5py/_proxy.pyx":239
- * # Scatter/gather routines
- * 
- * ctypedef struct h5py_scatter_t:             # <<<<<<<<<<<<<<
- *     size_t i
- *     size_t elsize
- */
-struct __pyx_t_4h5py_6_proxy_h5py_scatter_t {
-  size_t i;
-  size_t elsize;
-  void *buf;
-};
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static CYTHON_INLINE int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) {
-    int result = PySequence_Contains(seq, item);
-    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
-}
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static int __Pyx_Print(PyObject*, PyObject *, int); /*proto*/
-#if CYTHON_COMPILING_IN_PYPY || PY_MAJOR_VERSION >= 3
-static PyObject* __pyx_print = 0;
-static PyObject* __pyx_print_kwargs = 0;
-#endif
-
-static int __Pyx_PrintOne(PyObject* stream, PyObject *o); /*proto*/
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static void __Pyx_WriteUnraisable(const char *name, int clineno,
-                                  int lineno, const char *filename); /*proto*/
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static hid_t (*__pyx_f_4h5py_4defs_H5Dget_space)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Dget_type)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Dread)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Dwrite)(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Dvlen_reclaim)(hid_t, hid_t, hid_t, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Diterate)(void *, hid_t, hid_t, H5D_operator_t, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Screate_simple)(int, hsize_t *, hsize_t *); /*proto*/
-static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_npoints)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/
-static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/
-static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/
-static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/
-static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/
-static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Aread)(hid_t, hid_t, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Awrite)(hid_t, hid_t, void *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/
-
-/* Module declarations from 'h5py._proxy' */
-static herr_t __pyx_f_4h5py_6_proxy_H5PY_H5Dread(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/
-static herr_t __pyx_f_4h5py_6_proxy_H5PY_H5Dwrite(hid_t, hid_t, hid_t, hid_t, hid_t, void *); /*proto*/
-static hid_t __pyx_f_4h5py_6_proxy_make_reduced_type(hid_t, hid_t); /*proto*/
-static void *__pyx_f_4h5py_6_proxy_create_buffer(size_t, size_t, size_t); /*proto*/
-static herr_t __pyx_f_4h5py_6_proxy_h5py_scatter_cb(void *, hid_t, unsigned int, hsize_t *, void *); /*proto*/
-static herr_t __pyx_f_4h5py_6_proxy_h5py_gather_cb(void *, hid_t, unsigned int, hsize_t *, void *); /*proto*/
-static herr_t __pyx_f_4h5py_6_proxy_h5py_copy(hid_t, hid_t, void *, void *, enum __pyx_t_4h5py_6_proxy_copy_dir); /*proto*/
-static htri_t __pyx_f_4h5py_6_proxy_needs_bkg_buffer(hid_t, hid_t); /*proto*/
-static htri_t __pyx_f_4h5py_6_proxy_needs_proxy(hid_t); /*proto*/
-#define __Pyx_MODULE_NAME "h5py._proxy"
-int __pyx_module_is_main_h5py___proxy = 0;
-
-/* Implementation of 'h5py._proxy' */
-static PyObject *__pyx_builtin_xrange;
-static PyObject *__pyx_builtin_MemoryError;
-static PyObject *__pyx_builtin_RuntimeError;
-static char __pyx_k_1[] = "Failed to allocate conversion buffer";
-static char __pyx_k_3[] = "Illegal direction";
-static char __pyx_k_5[] = "Failed to find converter for %s -> %s";
-static char __pyx_k_6[] = "\n    Proxy functions for read/write, to work around the HDF5 bogus type issue.\n";
-static char __pyx_k__range[] = "range";
-static char __pyx_k__xrange[] = "xrange";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__MemoryError[] = "MemoryError";
-static char __pyx_k__RuntimeError[] = "RuntimeError";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_3;
-static PyObject *__pyx_kp_s_5;
-static PyObject *__pyx_n_s__MemoryError;
-static PyObject *__pyx_n_s__RuntimeError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s__range;
-static PyObject *__pyx_n_s__xrange;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_4;
-
-/* "h5py/_proxy.pyx":20
- *     H5PY_GATHER
- * 
- * cdef herr_t attr_rw(hid_t attr, hid_t mtype, void *progbuf, int read) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef htri_t need_bkg
- */
-
-static herr_t __pyx_f_4h5py_6_proxy_attr_rw(hid_t __pyx_v_attr, hid_t __pyx_v_mtype, void *__pyx_v_progbuf, int __pyx_v_read) {
-  htri_t __pyx_v_need_bkg;
-  hid_t __pyx_v_atype;
-  hid_t __pyx_v_aspace;
-  hsize_t __pyx_v_npoints;
-  size_t __pyx_v_msize;
-  size_t __pyx_v_asize;
-  void *__pyx_v_conv_buf;
-  void *__pyx_v_back_buf;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  htri_t __pyx_t_2;
-  htri_t __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_t_5;
-  herr_t __pyx_t_6;
-  size_t __pyx_t_7;
-  hssize_t __pyx_t_8;
-  void *__pyx_t_9;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("attr_rw", 0);
-
-  /* "h5py/_proxy.pyx":23
- * 
- *     cdef htri_t need_bkg
- *     cdef hid_t atype = -1             # <<<<<<<<<<<<<<
- *     cdef hid_t aspace = -1
- *     cdef hsize_t npoints
- */
-  __pyx_v_atype = -1;
-
-  /* "h5py/_proxy.pyx":24
- *     cdef htri_t need_bkg
- *     cdef hid_t atype = -1
- *     cdef hid_t aspace = -1             # <<<<<<<<<<<<<<
- *     cdef hsize_t npoints
- * 
- */
-  __pyx_v_aspace = -1;
-
-  /* "h5py/_proxy.pyx":28
- * 
- *     cdef size_t msize, asize
- *     cdef void* conv_buf = NULL             # <<<<<<<<<<<<<<
- *     cdef void* back_buf = NULL
- * 
- */
-  __pyx_v_conv_buf = NULL;
-
-  /* "h5py/_proxy.pyx":29
- *     cdef size_t msize, asize
- *     cdef void* conv_buf = NULL
- *     cdef void* back_buf = NULL             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_v_back_buf = NULL;
-
-  /* "h5py/_proxy.pyx":31
- *     cdef void* back_buf = NULL
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         atype = H5Aget_type(attr)
- * 
- */
-  /*try:*/ {
-
-    /* "h5py/_proxy.pyx":32
- * 
- *     try:
- *         atype = H5Aget_type(attr)             # <<<<<<<<<<<<<<
- * 
- *         if not (needs_proxy(atype) or needs_proxy(mtype)):
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_type(__pyx_v_attr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_atype = __pyx_t_1;
-
-    /* "h5py/_proxy.pyx":34
- *         atype = H5Aget_type(attr)
- * 
- *         if not (needs_proxy(atype) or needs_proxy(mtype)):             # <<<<<<<<<<<<<<
- *             if read:
- *                 H5Aread(attr, mtype, progbuf)
- */
-    __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_atype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (!__pyx_t_2) {
-      __pyx_t_3 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_mtype); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_t_4 = __pyx_t_3;
-    } else {
-      __pyx_t_4 = __pyx_t_2;
-    }
-    __pyx_t_5 = (!__pyx_t_4);
-    if (__pyx_t_5) {
-
-      /* "h5py/_proxy.pyx":35
- * 
- *         if not (needs_proxy(atype) or needs_proxy(mtype)):
- *             if read:             # <<<<<<<<<<<<<<
- *                 H5Aread(attr, mtype, progbuf)
- *             else:
- */
-      if (__pyx_v_read) {
-
-        /* "h5py/_proxy.pyx":36
- *         if not (needs_proxy(atype) or needs_proxy(mtype)):
- *             if read:
- *                 H5Aread(attr, mtype, progbuf)             # <<<<<<<<<<<<<<
- *             else:
- *                 H5Awrite(attr, mtype, progbuf)
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Aread(__pyx_v_attr, __pyx_v_mtype, __pyx_v_progbuf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        goto __pyx_L7;
-      }
-      /*else*/ {
-
-        /* "h5py/_proxy.pyx":38
- *                 H5Aread(attr, mtype, progbuf)
- *             else:
- *                 H5Awrite(attr, mtype, progbuf)             # <<<<<<<<<<<<<<
- * 
- *         else:
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Awrite(__pyx_v_attr, __pyx_v_mtype, __pyx_v_progbuf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      }
-      __pyx_L7:;
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/_proxy.pyx":42
- *         else:
- * 
- *             asize = H5Tget_size(atype)             # <<<<<<<<<<<<<<
- *             msize = H5Tget_size(mtype)
- *             aspace = H5Aget_space(attr)
- */
-      __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_atype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_asize = __pyx_t_7;
-
-      /* "h5py/_proxy.pyx":43
- * 
- *             asize = H5Tget_size(atype)
- *             msize = H5Tget_size(mtype)             # <<<<<<<<<<<<<<
- *             aspace = H5Aget_space(attr)
- *             npoints = H5Sget_select_npoints(aspace)
- */
-      __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_mtype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_msize = __pyx_t_7;
-
-      /* "h5py/_proxy.pyx":44
- *             asize = H5Tget_size(atype)
- *             msize = H5Tget_size(mtype)
- *             aspace = H5Aget_space(attr)             # <<<<<<<<<<<<<<
- *             npoints = H5Sget_select_npoints(aspace)
- * 
- */
-      __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_space(__pyx_v_attr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_aspace = __pyx_t_1;
-
-      /* "h5py/_proxy.pyx":45
- *             msize = H5Tget_size(mtype)
- *             aspace = H5Aget_space(attr)
- *             npoints = H5Sget_select_npoints(aspace)             # <<<<<<<<<<<<<<
- * 
- *             conv_buf = create_buffer(asize, msize, npoints)
- */
-      __pyx_t_8 = __pyx_f_4h5py_4defs_H5Sget_select_npoints(__pyx_v_aspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_npoints = __pyx_t_8;
-
-      /* "h5py/_proxy.pyx":47
- *             npoints = H5Sget_select_npoints(aspace)
- * 
- *             conv_buf = create_buffer(asize, msize, npoints)             # <<<<<<<<<<<<<<
- * 
- *             if read:
- */
-      __pyx_t_9 = __pyx_f_4h5py_6_proxy_create_buffer(__pyx_v_asize, __pyx_v_msize, __pyx_v_npoints); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_conv_buf = __pyx_t_9;
-
-      /* "h5py/_proxy.pyx":49
- *             conv_buf = create_buffer(asize, msize, npoints)
- * 
- *             if read:             # <<<<<<<<<<<<<<
- *                 need_bkg = needs_bkg_buffer(atype, mtype)
- *             else:
- */
-      if (__pyx_v_read) {
-
-        /* "h5py/_proxy.pyx":50
- * 
- *             if read:
- *                 need_bkg = needs_bkg_buffer(atype, mtype)             # <<<<<<<<<<<<<<
- *             else:
- *                 need_bkg = needs_bkg_buffer(mtype, atype)
- */
-        __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_bkg_buffer(__pyx_v_atype, __pyx_v_mtype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_need_bkg = __pyx_t_2;
-        goto __pyx_L8;
-      }
-      /*else*/ {
-
-        /* "h5py/_proxy.pyx":52
- *                 need_bkg = needs_bkg_buffer(atype, mtype)
- *             else:
- *                 need_bkg = needs_bkg_buffer(mtype, atype)             # <<<<<<<<<<<<<<
- *             if need_bkg:
- *                 back_buf = malloc(msize*npoints)
- */
-        __pyx_t_2 = __pyx_f_4h5py_6_proxy_needs_bkg_buffer(__pyx_v_mtype, __pyx_v_atype); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_need_bkg = __pyx_t_2;
-      }
-      __pyx_L8:;
-
-      /* "h5py/_proxy.pyx":53
- *             else:
- *                 need_bkg = needs_bkg_buffer(mtype, atype)
- *             if need_bkg:             # <<<<<<<<<<<<<<
- *                 back_buf = malloc(msize*npoints)
- *                 memcpy(back_buf, progbuf, msize*npoints)
- */
-      if (__pyx_v_need_bkg) {
-
-        /* "h5py/_proxy.pyx":54
- *                 need_bkg = needs_bkg_buffer(mtype, atype)
- *             if need_bkg:
- *                 back_buf = malloc(msize*npoints)             # <<<<<<<<<<<<<<
- *                 memcpy(back_buf, progbuf, msize*npoints)
- * 
- */
-        __pyx_v_back_buf = malloc((__pyx_v_msize * __pyx_v_npoints));
-
-        /* "h5py/_proxy.pyx":55
- *             if need_bkg:
- *                 back_buf = malloc(msize*npoints)
- *                 memcpy(back_buf, progbuf, msize*npoints)             # <<<<<<<<<<<<<<
- * 
- *             if read:
- */
-        memcpy(__pyx_v_back_buf, __pyx_v_progbuf, (__pyx_v_msize * __pyx_v_npoints));
-        goto __pyx_L9;
-      }
-      __pyx_L9:;
-
-      /* "h5py/_proxy.pyx":57
- *                 memcpy(back_buf, progbuf, msize*npoints)
- * 
- *             if read:             # <<<<<<<<<<<<<<
- *                 H5Aread(attr, atype, conv_buf)
- *                 H5Tconvert(atype, mtype, npoints, conv_buf, back_buf, H5P_DEFAULT)
- */
-      if (__pyx_v_read) {
-
-        /* "h5py/_proxy.pyx":58
- * 
- *             if read:
- *                 H5Aread(attr, atype, conv_buf)             # <<<<<<<<<<<<<<
- *                 H5Tconvert(atype, mtype, npoints, conv_buf, back_buf, H5P_DEFAULT)
- *                 memcpy(progbuf, conv_buf, msize*npoints)
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Aread(__pyx_v_attr, __pyx_v_atype, __pyx_v_conv_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":59
- *             if read:
- *                 H5Aread(attr, atype, conv_buf)
- *                 H5Tconvert(atype, mtype, npoints, conv_buf, back_buf, H5P_DEFAULT)             # <<<<<<<<<<<<<<
- *                 memcpy(progbuf, conv_buf, msize*npoints)
- *             else:
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_atype, __pyx_v_mtype, __pyx_v_npoints, __pyx_v_conv_buf, __pyx_v_back_buf, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":60
- *                 H5Aread(attr, atype, conv_buf)
- *                 H5Tconvert(atype, mtype, npoints, conv_buf, back_buf, H5P_DEFAULT)
- *                 memcpy(progbuf, conv_buf, msize*npoints)             # <<<<<<<<<<<<<<
- *             else:
- *                 memcpy(conv_buf, progbuf, msize*npoints)
- */
-        memcpy(__pyx_v_progbuf, __pyx_v_conv_buf, (__pyx_v_msize * __pyx_v_npoints));
-        goto __pyx_L10;
-      }
-      /*else*/ {
-
-        /* "h5py/_proxy.pyx":62
- *                 memcpy(progbuf, conv_buf, msize*npoints)
- *             else:
- *                 memcpy(conv_buf, progbuf, msize*npoints)             # <<<<<<<<<<<<<<
- *                 H5Tconvert(mtype, atype, npoints, conv_buf, back_buf, H5P_DEFAULT)
- *                 H5Awrite(attr, atype, conv_buf)
- */
-        memcpy(__pyx_v_conv_buf, __pyx_v_progbuf, (__pyx_v_msize * __pyx_v_npoints));
-
-        /* "h5py/_proxy.pyx":63
- *             else:
- *                 memcpy(conv_buf, progbuf, msize*npoints)
- *                 H5Tconvert(mtype, atype, npoints, conv_buf, back_buf, H5P_DEFAULT)             # <<<<<<<<<<<<<<
- *                 H5Awrite(attr, atype, conv_buf)
- *                 H5Dvlen_reclaim(atype, aspace, H5P_DEFAULT, conv_buf)
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_mtype, __pyx_v_atype, __pyx_v_npoints, __pyx_v_conv_buf, __pyx_v_back_buf, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":64
- *                 memcpy(conv_buf, progbuf, msize*npoints)
- *                 H5Tconvert(mtype, atype, npoints, conv_buf, back_buf, H5P_DEFAULT)
- *                 H5Awrite(attr, atype, conv_buf)             # <<<<<<<<<<<<<<
- *                 H5Dvlen_reclaim(atype, aspace, H5P_DEFAULT, conv_buf)
- * 
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Awrite(__pyx_v_attr, __pyx_v_atype, __pyx_v_conv_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":65
- *                 H5Tconvert(mtype, atype, npoints, conv_buf, back_buf, H5P_DEFAULT)
- *                 H5Awrite(attr, atype, conv_buf)
- *                 H5Dvlen_reclaim(atype, aspace, H5P_DEFAULT, conv_buf)             # <<<<<<<<<<<<<<
- * 
- *     finally:
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Dvlen_reclaim(__pyx_v_atype, __pyx_v_aspace, H5P_DEFAULT, __pyx_v_conv_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      }
-      __pyx_L10:;
-    }
-    __pyx_L6:;
-  }
-
-  /* "h5py/_proxy.pyx":68
- * 
- *     finally:
- *         free(conv_buf)             # <<<<<<<<<<<<<<
- *         free(back_buf)
- *         if atype > 0:
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    free(__pyx_v_conv_buf);
-
-    /* "h5py/_proxy.pyx":69
- *     finally:
- *         free(conv_buf)
- *         free(back_buf)             # <<<<<<<<<<<<<<
- *         if atype > 0:
- *             H5Tclose(atype)
- */
-    free(__pyx_v_back_buf);
-
-    /* "h5py/_proxy.pyx":70
- *         free(conv_buf)
- *         free(back_buf)
- *         if atype > 0:             # <<<<<<<<<<<<<<
- *             H5Tclose(atype)
- *         if aspace > 0:
- */
-    __pyx_t_5 = (__pyx_v_atype > 0);
-    if (__pyx_t_5) {
-
-      /* "h5py/_proxy.pyx":71
- *         free(back_buf)
- *         if atype > 0:
- *             H5Tclose(atype)             # <<<<<<<<<<<<<<
- *         if aspace > 0:
- *             H5Sclose(aspace)
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_atype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L11_error;}
-      goto __pyx_L12;
-    }
-    __pyx_L12:;
-
-    /* "h5py/_proxy.pyx":72
- *         if atype > 0:
- *             H5Tclose(atype)
- *         if aspace > 0:             # <<<<<<<<<<<<<<
- *             H5Sclose(aspace)
- * 
- */
-    __pyx_t_5 = (__pyx_v_aspace > 0);
-    if (__pyx_t_5) {
-
-      /* "h5py/_proxy.pyx":73
- *             H5Tclose(atype)
- *         if aspace > 0:
- *             H5Sclose(aspace)             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_aspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L11_error;}
-      goto __pyx_L13;
-    }
-    __pyx_L13:;
-    goto __pyx_L14;
-    __pyx_L11_error:;
-    if (__pyx_why == 4) {
-      Py_XDECREF(__pyx_exc_type);
-      Py_XDECREF(__pyx_exc_value);
-      Py_XDECREF(__pyx_exc_tb);
-    }
-    goto __pyx_L1_error;
-    __pyx_L14:;
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/_proxy.pyx":75
- *             H5Sclose(aspace)
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._proxy.attr_rw", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":80
- * # Proxy functions to safely release the GIL around read/write operations
- * 
- * cdef herr_t H5PY_H5Dread(hid_t dset, hid_t mtype, hid_t mspace,             # <<<<<<<<<<<<<<
- *                         hid_t fspace, hid_t dxpl, void* buf) except -1:
- *     cdef herr_t retval
- */
-
-static herr_t __pyx_f_4h5py_6_proxy_H5PY_H5Dread(hid_t __pyx_v_dset, hid_t __pyx_v_mtype, hid_t __pyx_v_mspace, hid_t __pyx_v_fspace, hid_t __pyx_v_dxpl, void *__pyx_v_buf) {
-  herr_t __pyx_v_retval;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5PY_H5Dread", 0);
-
-  /* "h5py/_proxy.pyx":84
- *     cdef herr_t retval
- *     #with nogil:
- *     retval = H5Dread(dset, mtype, mspace, fspace, dxpl, buf)             # <<<<<<<<<<<<<<
- *     if retval < 0:
- *         return -1
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dread(__pyx_v_dset, __pyx_v_mtype, __pyx_v_mspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_retval = __pyx_t_1;
-
-  /* "h5py/_proxy.pyx":85
- *     #with nogil:
- *     retval = H5Dread(dset, mtype, mspace, fspace, dxpl, buf)
- *     if retval < 0:             # <<<<<<<<<<<<<<
- *         return -1
- *     return retval
- */
-  __pyx_t_2 = (__pyx_v_retval < 0);
-  if (__pyx_t_2) {
-
-    /* "h5py/_proxy.pyx":86
- *     retval = H5Dread(dset, mtype, mspace, fspace, dxpl, buf)
- *     if retval < 0:
- *         return -1             # <<<<<<<<<<<<<<
- *     return retval
- * 
- */
-    __pyx_r = -1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_proxy.pyx":87
- *     if retval < 0:
- *         return -1
- *     return retval             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5PY_H5Dwrite(hid_t dset, hid_t mtype, hid_t mspace,
- */
-  __pyx_r = __pyx_v_retval;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._proxy.H5PY_H5Dread", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":89
- *     return retval
- * 
- * cdef herr_t H5PY_H5Dwrite(hid_t dset, hid_t mtype, hid_t mspace,             # <<<<<<<<<<<<<<
- *                         hid_t fspace, hid_t dxpl, void* buf) except -1:
- *     cdef herr_t retval
- */
-
-static herr_t __pyx_f_4h5py_6_proxy_H5PY_H5Dwrite(hid_t __pyx_v_dset, hid_t __pyx_v_mtype, hid_t __pyx_v_mspace, hid_t __pyx_v_fspace, hid_t __pyx_v_dxpl, void *__pyx_v_buf) {
-  herr_t __pyx_v_retval;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5PY_H5Dwrite", 0);
-
-  /* "h5py/_proxy.pyx":93
- *     cdef herr_t retval
- *     #with nogil:
- *     retval = H5Dwrite(dset, mtype, mspace, fspace, dxpl, buf)             # <<<<<<<<<<<<<<
- *     if retval < 0:
- *         return -1
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dwrite(__pyx_v_dset, __pyx_v_mtype, __pyx_v_mspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_retval = __pyx_t_1;
-
-  /* "h5py/_proxy.pyx":94
- *     #with nogil:
- *     retval = H5Dwrite(dset, mtype, mspace, fspace, dxpl, buf)
- *     if retval < 0:             # <<<<<<<<<<<<<<
- *         return -1
- *     return retval
- */
-  __pyx_t_2 = (__pyx_v_retval < 0);
-  if (__pyx_t_2) {
-
-    /* "h5py/_proxy.pyx":95
- *     retval = H5Dwrite(dset, mtype, mspace, fspace, dxpl, buf)
- *     if retval < 0:
- *         return -1             # <<<<<<<<<<<<<<
- *     return retval
- * 
- */
-    __pyx_r = -1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_proxy.pyx":96
- *     if retval < 0:
- *         return -1
- *     return retval             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_r = __pyx_v_retval;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._proxy.H5PY_H5Dwrite", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":102
- * 
- * 
- * cdef herr_t dset_rw(hid_t dset, hid_t mtype, hid_t mspace, hid_t fspace,             # <<<<<<<<<<<<<<
- *                     hid_t dxpl, void* progbuf, int read) except -1:
- * 
- */
-
-static herr_t __pyx_f_4h5py_6_proxy_dset_rw(hid_t __pyx_v_dset, hid_t __pyx_v_mtype, hid_t __pyx_v_mspace, hid_t __pyx_v_fspace, hid_t __pyx_v_dxpl, void *__pyx_v_progbuf, int __pyx_v_read) {
-  htri_t __pyx_v_need_bkg;
-  hid_t __pyx_v_dstype;
-  hid_t __pyx_v_rawdstype;
-  hid_t __pyx_v_dspace;
-  hid_t __pyx_v_cspace;
-  void *__pyx_v_back_buf;
-  void *__pyx_v_conv_buf;
-  hsize_t __pyx_v_npoints;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  enum H5T_class_t __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  hid_t __pyx_t_5;
-  herr_t __pyx_t_6;
-  htri_t __pyx_t_7;
-  htri_t __pyx_t_8;
-  hssize_t __pyx_t_9;
-  size_t __pyx_t_10;
-  size_t __pyx_t_11;
-  void *__pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("dset_rw", 0);
-
-  /* "h5py/_proxy.pyx":106
- * 
- *     cdef htri_t need_bkg
- *     cdef hid_t dstype = -1      # Dataset datatype             # <<<<<<<<<<<<<<
- *     cdef hid_t rawdstype = -1
- *     cdef hid_t dspace = -1      # Dataset dataspace
- */
-  __pyx_v_dstype = -1;
-
-  /* "h5py/_proxy.pyx":107
- *     cdef htri_t need_bkg
- *     cdef hid_t dstype = -1      # Dataset datatype
- *     cdef hid_t rawdstype = -1             # <<<<<<<<<<<<<<
- *     cdef hid_t dspace = -1      # Dataset dataspace
- *     cdef hid_t cspace = -1      # Temporary contiguous dataspaces
- */
-  __pyx_v_rawdstype = -1;
-
-  /* "h5py/_proxy.pyx":108
- *     cdef hid_t dstype = -1      # Dataset datatype
- *     cdef hid_t rawdstype = -1
- *     cdef hid_t dspace = -1      # Dataset dataspace             # <<<<<<<<<<<<<<
- *     cdef hid_t cspace = -1      # Temporary contiguous dataspaces
- * 
- */
-  __pyx_v_dspace = -1;
-
-  /* "h5py/_proxy.pyx":109
- *     cdef hid_t rawdstype = -1
- *     cdef hid_t dspace = -1      # Dataset dataspace
- *     cdef hid_t cspace = -1      # Temporary contiguous dataspaces             # <<<<<<<<<<<<<<
- * 
- *     cdef void* back_buf = NULL
- */
-  __pyx_v_cspace = -1;
-
-  /* "h5py/_proxy.pyx":111
- *     cdef hid_t cspace = -1      # Temporary contiguous dataspaces
- * 
- *     cdef void* back_buf = NULL             # <<<<<<<<<<<<<<
- *     cdef void* conv_buf = NULL
- *     cdef hsize_t npoints
- */
-  __pyx_v_back_buf = NULL;
-
-  /* "h5py/_proxy.pyx":112
- * 
- *     cdef void* back_buf = NULL
- *     cdef void* conv_buf = NULL             # <<<<<<<<<<<<<<
- *     cdef hsize_t npoints
- * 
- */
-  __pyx_v_conv_buf = NULL;
-
-  /* "h5py/_proxy.pyx":115
- *     cdef hsize_t npoints
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         # Issue 372: when a compound type is involved, using the dataset type
- *         # may result in uninitialized data being sent to H5Tconvert for fields
- */
-  /*try:*/ {
-
-    /* "h5py/_proxy.pyx":121
- *         # to only those fields present in the memory type.  We can't use the
- *         # memory type directly because of course that triggers HDFFV-1063.
- *         if (H5Tget_class(mtype) == H5T_COMPOUND) and (not read):             # <<<<<<<<<<<<<<
- *             rawdstype = H5Dget_type(dset)
- *             dstype = make_reduced_type(mtype, rawdstype)
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_mtype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_t_2 = (__pyx_t_1 == H5T_COMPOUND);
-    if (__pyx_t_2) {
-      __pyx_t_3 = (!__pyx_v_read);
-      __pyx_t_4 = __pyx_t_3;
-    } else {
-      __pyx_t_4 = __pyx_t_2;
-    }
-    if (__pyx_t_4) {
-
-      /* "h5py/_proxy.pyx":122
- *         # memory type directly because of course that triggers HDFFV-1063.
- *         if (H5Tget_class(mtype) == H5T_COMPOUND) and (not read):
- *             rawdstype = H5Dget_type(dset)             # <<<<<<<<<<<<<<
- *             dstype = make_reduced_type(mtype, rawdstype)
- *             H5Tclose(rawdstype)
- */
-      __pyx_t_5 = __pyx_f_4h5py_4defs_H5Dget_type(__pyx_v_dset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_rawdstype = __pyx_t_5;
-
-      /* "h5py/_proxy.pyx":123
- *         if (H5Tget_class(mtype) == H5T_COMPOUND) and (not read):
- *             rawdstype = H5Dget_type(dset)
- *             dstype = make_reduced_type(mtype, rawdstype)             # <<<<<<<<<<<<<<
- *             H5Tclose(rawdstype)
- *         else:
- */
-      __pyx_v_dstype = __pyx_f_4h5py_6_proxy_make_reduced_type(__pyx_v_mtype, __pyx_v_rawdstype);
-
-      /* "h5py/_proxy.pyx":124
- *             rawdstype = H5Dget_type(dset)
- *             dstype = make_reduced_type(mtype, rawdstype)
- *             H5Tclose(rawdstype)             # <<<<<<<<<<<<<<
- *         else:
- *             dstype = H5Dget_type(dset)
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_rawdstype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/_proxy.pyx":126
- *             H5Tclose(rawdstype)
- *         else:
- *             dstype = H5Dget_type(dset)             # <<<<<<<<<<<<<<
- * 
- *         if not (needs_proxy(dstype) or needs_proxy(mtype)):
- */
-      __pyx_t_5 = __pyx_f_4h5py_4defs_H5Dget_type(__pyx_v_dset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_dstype = __pyx_t_5;
-    }
-    __pyx_L6:;
-
-    /* "h5py/_proxy.pyx":128
- *             dstype = H5Dget_type(dset)
- * 
- *         if not (needs_proxy(dstype) or needs_proxy(mtype)):             # <<<<<<<<<<<<<<
- *             if read:
- *                 H5PY_H5Dread(dset, mtype, mspace, fspace, dxpl, progbuf)
- */
-    __pyx_t_7 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_dstype); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (!__pyx_t_7) {
-      __pyx_t_8 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_mtype); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_t_4 = __pyx_t_8;
-    } else {
-      __pyx_t_4 = __pyx_t_7;
-    }
-    __pyx_t_2 = (!__pyx_t_4);
-    if (__pyx_t_2) {
-
-      /* "h5py/_proxy.pyx":129
- * 
- *         if not (needs_proxy(dstype) or needs_proxy(mtype)):
- *             if read:             # <<<<<<<<<<<<<<
- *                 H5PY_H5Dread(dset, mtype, mspace, fspace, dxpl, progbuf)
- *             else:
- */
-      if (__pyx_v_read) {
-
-        /* "h5py/_proxy.pyx":130
- *         if not (needs_proxy(dstype) or needs_proxy(mtype)):
- *             if read:
- *                 H5PY_H5Dread(dset, mtype, mspace, fspace, dxpl, progbuf)             # <<<<<<<<<<<<<<
- *             else:
- *                 H5PY_H5Dwrite(dset, mtype, mspace, fspace, dxpl, progbuf)
- */
-        __pyx_t_6 = __pyx_f_4h5py_6_proxy_H5PY_H5Dread(__pyx_v_dset, __pyx_v_mtype, __pyx_v_mspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_progbuf); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        goto __pyx_L8;
-      }
-      /*else*/ {
-
-        /* "h5py/_proxy.pyx":132
- *                 H5PY_H5Dread(dset, mtype, mspace, fspace, dxpl, progbuf)
- *             else:
- *                 H5PY_H5Dwrite(dset, mtype, mspace, fspace, dxpl, progbuf)             # <<<<<<<<<<<<<<
- *         else:
- * 
- */
-        __pyx_t_6 = __pyx_f_4h5py_6_proxy_H5PY_H5Dwrite(__pyx_v_dset, __pyx_v_mtype, __pyx_v_mspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_progbuf); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      }
-      __pyx_L8:;
-      goto __pyx_L7;
-    }
-    /*else*/ {
-
-      /* "h5py/_proxy.pyx":135
- *         else:
- * 
- *             if mspace == H5S_ALL and fspace != H5S_ALL:             # <<<<<<<<<<<<<<
- *                 mspace = fspace
- *             elif mspace != H5S_ALL and fspace == H5S_ALL:
- */
-      __pyx_t_2 = (__pyx_v_mspace == H5S_ALL);
-      if (__pyx_t_2) {
-        __pyx_t_4 = (__pyx_v_fspace != H5S_ALL);
-        __pyx_t_3 = __pyx_t_4;
-      } else {
-        __pyx_t_3 = __pyx_t_2;
-      }
-      if (__pyx_t_3) {
-
-        /* "h5py/_proxy.pyx":136
- * 
- *             if mspace == H5S_ALL and fspace != H5S_ALL:
- *                 mspace = fspace             # <<<<<<<<<<<<<<
- *             elif mspace != H5S_ALL and fspace == H5S_ALL:
- *                 fspace = mspace
- */
-        __pyx_v_mspace = __pyx_v_fspace;
-        goto __pyx_L9;
-      }
-
-      /* "h5py/_proxy.pyx":137
- *             if mspace == H5S_ALL and fspace != H5S_ALL:
- *                 mspace = fspace
- *             elif mspace != H5S_ALL and fspace == H5S_ALL:             # <<<<<<<<<<<<<<
- *                 fspace = mspace
- *             elif mspace == H5S_ALL and fspace == H5S_ALL:
- */
-      __pyx_t_3 = (__pyx_v_mspace != H5S_ALL);
-      if (__pyx_t_3) {
-        __pyx_t_2 = (__pyx_v_fspace == H5S_ALL);
-        __pyx_t_4 = __pyx_t_2;
-      } else {
-        __pyx_t_4 = __pyx_t_3;
-      }
-      if (__pyx_t_4) {
-
-        /* "h5py/_proxy.pyx":138
- *                 mspace = fspace
- *             elif mspace != H5S_ALL and fspace == H5S_ALL:
- *                 fspace = mspace             # <<<<<<<<<<<<<<
- *             elif mspace == H5S_ALL and fspace == H5S_ALL:
- *                 fspace = mspace = dspace = H5Dget_space(dset)
- */
-        __pyx_v_fspace = __pyx_v_mspace;
-        goto __pyx_L9;
-      }
-
-      /* "h5py/_proxy.pyx":139
- *             elif mspace != H5S_ALL and fspace == H5S_ALL:
- *                 fspace = mspace
- *             elif mspace == H5S_ALL and fspace == H5S_ALL:             # <<<<<<<<<<<<<<
- *                 fspace = mspace = dspace = H5Dget_space(dset)
- * 
- */
-      __pyx_t_4 = (__pyx_v_mspace == H5S_ALL);
-      if (__pyx_t_4) {
-        __pyx_t_3 = (__pyx_v_fspace == H5S_ALL);
-        __pyx_t_2 = __pyx_t_3;
-      } else {
-        __pyx_t_2 = __pyx_t_4;
-      }
-      if (__pyx_t_2) {
-
-        /* "h5py/_proxy.pyx":140
- *                 fspace = mspace
- *             elif mspace == H5S_ALL and fspace == H5S_ALL:
- *                 fspace = mspace = dspace = H5Dget_space(dset)             # <<<<<<<<<<<<<<
- * 
- *             npoints = H5Sget_select_npoints(mspace)
- */
-        __pyx_t_5 = __pyx_f_4h5py_4defs_H5Dget_space(__pyx_v_dset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_fspace = __pyx_t_5;
-        __pyx_v_mspace = __pyx_t_5;
-        __pyx_v_dspace = __pyx_t_5;
-        goto __pyx_L9;
-      }
-      __pyx_L9:;
-
-      /* "h5py/_proxy.pyx":142
- *                 fspace = mspace = dspace = H5Dget_space(dset)
- * 
- *             npoints = H5Sget_select_npoints(mspace)             # <<<<<<<<<<<<<<
- *             cspace = H5Screate_simple(1, &npoints, NULL)
- * 
- */
-      __pyx_t_9 = __pyx_f_4h5py_4defs_H5Sget_select_npoints(__pyx_v_mspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_npoints = __pyx_t_9;
-
-      /* "h5py/_proxy.pyx":143
- * 
- *             npoints = H5Sget_select_npoints(mspace)
- *             cspace = H5Screate_simple(1, &npoints, NULL)             # <<<<<<<<<<<<<<
- * 
- *             conv_buf = create_buffer(H5Tget_size(dstype), H5Tget_size(mtype), npoints)
- */
-      __pyx_t_5 = __pyx_f_4h5py_4defs_H5Screate_simple(1, (&__pyx_v_npoints), NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_cspace = __pyx_t_5;
-
-      /* "h5py/_proxy.pyx":145
- *             cspace = H5Screate_simple(1, &npoints, NULL)
- * 
- *             conv_buf = create_buffer(H5Tget_size(dstype), H5Tget_size(mtype), npoints)             # <<<<<<<<<<<<<<
- * 
- *             # Only create a (contiguous) backing buffer if absolutely
- */
-      __pyx_t_10 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_dstype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_t_11 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_mtype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_t_12 = __pyx_f_4h5py_6_proxy_create_buffer(__pyx_t_10, __pyx_t_11, __pyx_v_npoints); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_conv_buf = __pyx_t_12;
-
-      /* "h5py/_proxy.pyx":149
- *             # Only create a (contiguous) backing buffer if absolutely
- *             # necessary. Note this buffer always has memory type.
- *             if read:             # <<<<<<<<<<<<<<
- *                 need_bkg = needs_bkg_buffer(dstype, mtype)
- *             else:
- */
-      if (__pyx_v_read) {
-
-        /* "h5py/_proxy.pyx":150
- *             # necessary. Note this buffer always has memory type.
- *             if read:
- *                 need_bkg = needs_bkg_buffer(dstype, mtype)             # <<<<<<<<<<<<<<
- *             else:
- *                 need_bkg = needs_bkg_buffer(mtype, dstype)
- */
-        __pyx_t_7 = __pyx_f_4h5py_6_proxy_needs_bkg_buffer(__pyx_v_dstype, __pyx_v_mtype); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_need_bkg = __pyx_t_7;
-        goto __pyx_L10;
-      }
-      /*else*/ {
-
-        /* "h5py/_proxy.pyx":152
- *                 need_bkg = needs_bkg_buffer(dstype, mtype)
- *             else:
- *                 need_bkg = needs_bkg_buffer(mtype, dstype)             # <<<<<<<<<<<<<<
- *             if need_bkg:
- *                 back_buf = create_buffer(H5Tget_size(dstype), H5Tget_size(mtype), npoints)
- */
-        __pyx_t_7 = __pyx_f_4h5py_6_proxy_needs_bkg_buffer(__pyx_v_mtype, __pyx_v_dstype); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_need_bkg = __pyx_t_7;
-      }
-      __pyx_L10:;
-
-      /* "h5py/_proxy.pyx":153
- *             else:
- *                 need_bkg = needs_bkg_buffer(mtype, dstype)
- *             if need_bkg:             # <<<<<<<<<<<<<<
- *                 back_buf = create_buffer(H5Tget_size(dstype), H5Tget_size(mtype), npoints)
- *                 h5py_copy(mtype, mspace, back_buf, progbuf, H5PY_GATHER)
- */
-      if (__pyx_v_need_bkg) {
-
-        /* "h5py/_proxy.pyx":154
- *                 need_bkg = needs_bkg_buffer(mtype, dstype)
- *             if need_bkg:
- *                 back_buf = create_buffer(H5Tget_size(dstype), H5Tget_size(mtype), npoints)             # <<<<<<<<<<<<<<
- *                 h5py_copy(mtype, mspace, back_buf, progbuf, H5PY_GATHER)
- * 
- */
-        __pyx_t_11 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_dstype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_t_10 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_mtype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_t_12 = __pyx_f_4h5py_6_proxy_create_buffer(__pyx_t_11, __pyx_t_10, __pyx_v_npoints); if (unlikely(__pyx_t_12 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __pyx_v_back_buf = __pyx_t_12;
-
-        /* "h5py/_proxy.pyx":155
- *             if need_bkg:
- *                 back_buf = create_buffer(H5Tget_size(dstype), H5Tget_size(mtype), npoints)
- *                 h5py_copy(mtype, mspace, back_buf, progbuf, H5PY_GATHER)             # <<<<<<<<<<<<<<
- * 
- *             if read:
- */
-        __pyx_t_6 = __pyx_f_4h5py_6_proxy_h5py_copy(__pyx_v_mtype, __pyx_v_mspace, __pyx_v_back_buf, __pyx_v_progbuf, __pyx_e_4h5py_6_proxy_H5PY_GATHER); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        goto __pyx_L11;
-      }
-      __pyx_L11:;
-
-      /* "h5py/_proxy.pyx":157
- *                 h5py_copy(mtype, mspace, back_buf, progbuf, H5PY_GATHER)
- * 
- *             if read:             # <<<<<<<<<<<<<<
- *                 H5PY_H5Dread(dset, dstype, cspace, fspace, dxpl, conv_buf)
- *                 H5Tconvert(dstype, mtype, npoints, conv_buf, back_buf, dxpl)
- */
-      if (__pyx_v_read) {
-
-        /* "h5py/_proxy.pyx":158
- * 
- *             if read:
- *                 H5PY_H5Dread(dset, dstype, cspace, fspace, dxpl, conv_buf)             # <<<<<<<<<<<<<<
- *                 H5Tconvert(dstype, mtype, npoints, conv_buf, back_buf, dxpl)
- *                 h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_SCATTER)
- */
-        __pyx_t_6 = __pyx_f_4h5py_6_proxy_H5PY_H5Dread(__pyx_v_dset, __pyx_v_dstype, __pyx_v_cspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_conv_buf); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":159
- *             if read:
- *                 H5PY_H5Dread(dset, dstype, cspace, fspace, dxpl, conv_buf)
- *                 H5Tconvert(dstype, mtype, npoints, conv_buf, back_buf, dxpl)             # <<<<<<<<<<<<<<
- *                 h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_SCATTER)
- *             else:
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_dstype, __pyx_v_mtype, __pyx_v_npoints, __pyx_v_conv_buf, __pyx_v_back_buf, __pyx_v_dxpl); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":160
- *                 H5PY_H5Dread(dset, dstype, cspace, fspace, dxpl, conv_buf)
- *                 H5Tconvert(dstype, mtype, npoints, conv_buf, back_buf, dxpl)
- *                 h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_SCATTER)             # <<<<<<<<<<<<<<
- *             else:
- *                 h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_GATHER)
- */
-        __pyx_t_6 = __pyx_f_4h5py_6_proxy_h5py_copy(__pyx_v_mtype, __pyx_v_mspace, __pyx_v_conv_buf, __pyx_v_progbuf, __pyx_e_4h5py_6_proxy_H5PY_SCATTER); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 160; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        goto __pyx_L12;
-      }
-      /*else*/ {
-
-        /* "h5py/_proxy.pyx":162
- *                 h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_SCATTER)
- *             else:
- *                 h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_GATHER)             # <<<<<<<<<<<<<<
- *                 H5Tconvert(mtype, dstype, npoints, conv_buf, back_buf, dxpl)
- *                 H5PY_H5Dwrite(dset, dstype, cspace, fspace, dxpl, conv_buf)
- */
-        __pyx_t_6 = __pyx_f_4h5py_6_proxy_h5py_copy(__pyx_v_mtype, __pyx_v_mspace, __pyx_v_conv_buf, __pyx_v_progbuf, __pyx_e_4h5py_6_proxy_H5PY_GATHER); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":163
- *             else:
- *                 h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_GATHER)
- *                 H5Tconvert(mtype, dstype, npoints, conv_buf, back_buf, dxpl)             # <<<<<<<<<<<<<<
- *                 H5PY_H5Dwrite(dset, dstype, cspace, fspace, dxpl, conv_buf)
- *                 H5Dvlen_reclaim(dstype, cspace, H5P_DEFAULT, conv_buf)
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_mtype, __pyx_v_dstype, __pyx_v_npoints, __pyx_v_conv_buf, __pyx_v_back_buf, __pyx_v_dxpl); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":164
- *                 h5py_copy(mtype, mspace, conv_buf, progbuf, H5PY_GATHER)
- *                 H5Tconvert(mtype, dstype, npoints, conv_buf, back_buf, dxpl)
- *                 H5PY_H5Dwrite(dset, dstype, cspace, fspace, dxpl, conv_buf)             # <<<<<<<<<<<<<<
- *                 H5Dvlen_reclaim(dstype, cspace, H5P_DEFAULT, conv_buf)
- * 
- */
-        __pyx_t_6 = __pyx_f_4h5py_6_proxy_H5PY_H5Dwrite(__pyx_v_dset, __pyx_v_dstype, __pyx_v_cspace, __pyx_v_fspace, __pyx_v_dxpl, __pyx_v_conv_buf); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-        /* "h5py/_proxy.pyx":165
- *                 H5Tconvert(mtype, dstype, npoints, conv_buf, back_buf, dxpl)
- *                 H5PY_H5Dwrite(dset, dstype, cspace, fspace, dxpl, conv_buf)
- *                 H5Dvlen_reclaim(dstype, cspace, H5P_DEFAULT, conv_buf)             # <<<<<<<<<<<<<<
- * 
- *     finally:
- */
-        __pyx_t_6 = __pyx_f_4h5py_4defs_H5Dvlen_reclaim(__pyx_v_dstype, __pyx_v_cspace, H5P_DEFAULT, __pyx_v_conv_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      }
-      __pyx_L12:;
-    }
-    __pyx_L7:;
-  }
-
-  /* "h5py/_proxy.pyx":168
- * 
- *     finally:
- *         free(back_buf)             # <<<<<<<<<<<<<<
- *         free(conv_buf)
- *         if dstype > 0:
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    free(__pyx_v_back_buf);
-
-    /* "h5py/_proxy.pyx":169
- *     finally:
- *         free(back_buf)
- *         free(conv_buf)             # <<<<<<<<<<<<<<
- *         if dstype > 0:
- *             H5Tclose(dstype)
- */
-    free(__pyx_v_conv_buf);
-
-    /* "h5py/_proxy.pyx":170
- *         free(back_buf)
- *         free(conv_buf)
- *         if dstype > 0:             # <<<<<<<<<<<<<<
- *             H5Tclose(dstype)
- *         if dspace > 0:
- */
-    __pyx_t_2 = (__pyx_v_dstype > 0);
-    if (__pyx_t_2) {
-
-      /* "h5py/_proxy.pyx":171
- *         free(conv_buf)
- *         if dstype > 0:
- *             H5Tclose(dstype)             # <<<<<<<<<<<<<<
- *         if dspace > 0:
- *             H5Sclose(dspace)
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_dstype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
-      goto __pyx_L14;
-    }
-    __pyx_L14:;
-
-    /* "h5py/_proxy.pyx":172
- *         if dstype > 0:
- *             H5Tclose(dstype)
- *         if dspace > 0:             # <<<<<<<<<<<<<<
- *             H5Sclose(dspace)
- *         if cspace > 0:
- */
-    __pyx_t_2 = (__pyx_v_dspace > 0);
-    if (__pyx_t_2) {
-
-      /* "h5py/_proxy.pyx":173
- *             H5Tclose(dstype)
- *         if dspace > 0:
- *             H5Sclose(dspace)             # <<<<<<<<<<<<<<
- *         if cspace > 0:
- *             H5Sclose(cspace)
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_dspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
-      goto __pyx_L15;
-    }
-    __pyx_L15:;
-
-    /* "h5py/_proxy.pyx":174
- *         if dspace > 0:
- *             H5Sclose(dspace)
- *         if cspace > 0:             # <<<<<<<<<<<<<<
- *             H5Sclose(cspace)
- * 
- */
-    __pyx_t_2 = (__pyx_v_cspace > 0);
-    if (__pyx_t_2) {
-
-      /* "h5py/_proxy.pyx":175
- *             H5Sclose(dspace)
- *         if cspace > 0:
- *             H5Sclose(cspace)             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_cspace); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L13_error;}
-      goto __pyx_L16;
-    }
-    __pyx_L16:;
-    goto __pyx_L17;
-    __pyx_L13_error:;
-    if (__pyx_why == 4) {
-      Py_XDECREF(__pyx_exc_type);
-      Py_XDECREF(__pyx_exc_value);
-      Py_XDECREF(__pyx_exc_tb);
-    }
-    goto __pyx_L1_error;
-    __pyx_L17:;
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/_proxy.pyx":177
- *             H5Sclose(cspace)
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._proxy.dset_rw", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":180
- * 
- * 
- * cdef hid_t make_reduced_type(hid_t mtype, hid_t dstype):             # <<<<<<<<<<<<<<
- *     # Go through dstype, pick out the fields which also appear in mtype, and
- *     # return a new compound type with the fields packed together
- */
-
-static hid_t __pyx_f_4h5py_6_proxy_make_reduced_type(hid_t __pyx_v_mtype, hid_t __pyx_v_dstype) {
-  hid_t __pyx_v_newtype;
-  hid_t __pyx_v_temptype;
-  hsize_t __pyx_v_newtype_size;
-  hsize_t __pyx_v_offset;
-  PyObject *__pyx_v_mtype_fields = NULL;
-  int __pyx_v_idx;
-  char *__pyx_v_name;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  char *__pyx_t_4;
-  int __pyx_t_5;
-  int __pyx_t_6;
-  hid_t __pyx_t_7;
-  size_t __pyx_t_8;
-  herr_t __pyx_t_9;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("make_reduced_type", 0);
-
-  /* "h5py/_proxy.pyx":189
- * 
- *     # Make a list of all names in the memory type.
- *     mtype_fields = []             # <<<<<<<<<<<<<<
- *     for idx in xrange(H5Tget_nmembers(mtype)):
- *         mtype_fields.append(H5Tget_member_name(mtype, idx))
- */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_mtype_fields = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/_proxy.pyx":190
- *     # Make a list of all names in the memory type.
- *     mtype_fields = []
- *     for idx in xrange(H5Tget_nmembers(mtype)):             # <<<<<<<<<<<<<<
- *         mtype_fields.append(H5Tget_member_name(mtype, idx))
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tget_nmembers(__pyx_v_mtype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
-    __pyx_v_idx = __pyx_t_3;
-
-    /* "h5py/_proxy.pyx":191
- *     mtype_fields = []
- *     for idx in xrange(H5Tget_nmembers(mtype)):
- *         mtype_fields.append(H5Tget_member_name(mtype, idx))             # <<<<<<<<<<<<<<
- * 
- *     # First pass: add up the sizes of matching fields so we know how large a
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tget_member_name(__pyx_v_mtype, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_1 = PyBytes_FromString(__pyx_t_4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-    __pyx_t_5 = PyList_Append(__pyx_v_mtype_fields, ((PyObject *)__pyx_t_1)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  }
-
-  /* "h5py/_proxy.pyx":195
- *     # First pass: add up the sizes of matching fields so we know how large a
- *     # type to make
- *     newtype_size = 0             # <<<<<<<<<<<<<<
- *     for idx in xrange(H5Tget_nmembers(dstype)):
- *         name = H5Tget_member_name(dstype, idx)
- */
-  __pyx_v_newtype_size = 0;
-
-  /* "h5py/_proxy.pyx":196
- *     # type to make
- *     newtype_size = 0
- *     for idx in xrange(H5Tget_nmembers(dstype)):             # <<<<<<<<<<<<<<
- *         name = H5Tget_member_name(dstype, idx)
- *         if name not in mtype_fields:
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tget_nmembers(__pyx_v_dstype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
-    __pyx_v_idx = __pyx_t_3;
-
-    /* "h5py/_proxy.pyx":197
- *     newtype_size = 0
- *     for idx in xrange(H5Tget_nmembers(dstype)):
- *         name = H5Tget_member_name(dstype, idx)             # <<<<<<<<<<<<<<
- *         if name not in mtype_fields:
- *             continue
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tget_member_name(__pyx_v_dstype, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_name = __pyx_t_4;
-
-    /* "h5py/_proxy.pyx":198
- *     for idx in xrange(H5Tget_nmembers(dstype)):
- *         name = H5Tget_member_name(dstype, idx)
- *         if name not in mtype_fields:             # <<<<<<<<<<<<<<
- *             continue
- *         temptype = H5Tget_member_type(dstype, idx)
- */
-    __pyx_t_1 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-    __pyx_t_6 = (__Pyx_PySequence_Contains(((PyObject *)__pyx_t_1), ((PyObject *)__pyx_v_mtype_fields), Py_NE)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-    if (__pyx_t_6) {
-
-      /* "h5py/_proxy.pyx":199
- *         name = H5Tget_member_name(dstype, idx)
- *         if name not in mtype_fields:
- *             continue             # <<<<<<<<<<<<<<
- *         temptype = H5Tget_member_type(dstype, idx)
- *         newtype_size += H5Tget_size(temptype)
- */
-      goto __pyx_L5_continue;
-      goto __pyx_L7;
-    }
-    __pyx_L7:;
-
-    /* "h5py/_proxy.pyx":200
- *         if name not in mtype_fields:
- *             continue
- *         temptype = H5Tget_member_type(dstype, idx)             # <<<<<<<<<<<<<<
- *         newtype_size += H5Tget_size(temptype)
- *         H5Tclose(temptype)
- */
-    __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tget_member_type(__pyx_v_dstype, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_temptype = __pyx_t_7;
-
-    /* "h5py/_proxy.pyx":201
- *             continue
- *         temptype = H5Tget_member_type(dstype, idx)
- *         newtype_size += H5Tget_size(temptype)             # <<<<<<<<<<<<<<
- *         H5Tclose(temptype)
- * 
- */
-    __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_temptype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_newtype_size = (__pyx_v_newtype_size + __pyx_t_8);
-
-    /* "h5py/_proxy.pyx":202
- *         temptype = H5Tget_member_type(dstype, idx)
- *         newtype_size += H5Tget_size(temptype)
- *         H5Tclose(temptype)             # <<<<<<<<<<<<<<
- * 
- *     newtype = H5Tcreate(H5T_COMPOUND, newtype_size)
- */
-    __pyx_t_9 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_temptype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_L5_continue:;
-  }
-
-  /* "h5py/_proxy.pyx":204
- *         H5Tclose(temptype)
- * 
- *     newtype = H5Tcreate(H5T_COMPOUND, newtype_size)             # <<<<<<<<<<<<<<
- * 
- *     # Second pass: pick out the matching fields and pack them in the new type
- */
-  __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_COMPOUND, __pyx_v_newtype_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_newtype = __pyx_t_7;
-
-  /* "h5py/_proxy.pyx":207
- * 
- *     # Second pass: pick out the matching fields and pack them in the new type
- *     offset = 0             # <<<<<<<<<<<<<<
- *     for idx in xrange(H5Tget_nmembers(dstype)):
- *         name = H5Tget_member_name(dstype, idx)
- */
-  __pyx_v_offset = 0;
-
-  /* "h5py/_proxy.pyx":208
- *     # Second pass: pick out the matching fields and pack them in the new type
- *     offset = 0
- *     for idx in xrange(H5Tget_nmembers(dstype)):             # <<<<<<<<<<<<<<
- *         name = H5Tget_member_name(dstype, idx)
- *         if name not in mtype_fields:
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tget_nmembers(__pyx_v_dstype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
-    __pyx_v_idx = __pyx_t_3;
-
-    /* "h5py/_proxy.pyx":209
- *     offset = 0
- *     for idx in xrange(H5Tget_nmembers(dstype)):
- *         name = H5Tget_member_name(dstype, idx)             # <<<<<<<<<<<<<<
- *         if name not in mtype_fields:
- *             continue
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tget_member_name(__pyx_v_dstype, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_name = __pyx_t_4;
-
-    /* "h5py/_proxy.pyx":210
- *     for idx in xrange(H5Tget_nmembers(dstype)):
- *         name = H5Tget_member_name(dstype, idx)
- *         if name not in mtype_fields:             # <<<<<<<<<<<<<<
- *             continue
- *         temptype = H5Tget_member_type(dstype, idx)
- */
-    __pyx_t_1 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-    __pyx_t_6 = (__Pyx_PySequence_Contains(((PyObject *)__pyx_t_1), ((PyObject *)__pyx_v_mtype_fields), Py_NE)); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-    if (__pyx_t_6) {
-
-      /* "h5py/_proxy.pyx":211
- *         name = H5Tget_member_name(dstype, idx)
- *         if name not in mtype_fields:
- *             continue             # <<<<<<<<<<<<<<
- *         temptype = H5Tget_member_type(dstype, idx)
- *         H5Tinsert(newtype, name, offset, temptype)
- */
-      goto __pyx_L8_continue;
-      goto __pyx_L10;
-    }
-    __pyx_L10:;
-
-    /* "h5py/_proxy.pyx":212
- *         if name not in mtype_fields:
- *             continue
- *         temptype = H5Tget_member_type(dstype, idx)             # <<<<<<<<<<<<<<
- *         H5Tinsert(newtype, name, offset, temptype)
- *         offset += H5Tget_size(temptype)
- */
-    __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tget_member_type(__pyx_v_dstype, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_temptype = __pyx_t_7;
-
-    /* "h5py/_proxy.pyx":213
- *             continue
- *         temptype = H5Tget_member_type(dstype, idx)
- *         H5Tinsert(newtype, name, offset, temptype)             # <<<<<<<<<<<<<<
- *         offset += H5Tget_size(temptype)
- *         H5Tclose(temptype)
- */
-    __pyx_t_9 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_newtype, __pyx_v_name, __pyx_v_offset, __pyx_v_temptype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-    /* "h5py/_proxy.pyx":214
- *         temptype = H5Tget_member_type(dstype, idx)
- *         H5Tinsert(newtype, name, offset, temptype)
- *         offset += H5Tget_size(temptype)             # <<<<<<<<<<<<<<
- *         H5Tclose(temptype)
- * 
- */
-    __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_temptype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_offset = (__pyx_v_offset + __pyx_t_8);
-
-    /* "h5py/_proxy.pyx":215
- *         H5Tinsert(newtype, name, offset, temptype)
- *         offset += H5Tget_size(temptype)
- *         H5Tclose(temptype)             # <<<<<<<<<<<<<<
- * 
- *     return newtype
- */
-    __pyx_t_9 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_temptype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_L8_continue:;
-  }
-
-  /* "h5py/_proxy.pyx":217
- *         H5Tclose(temptype)
- * 
- *     return newtype             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = __pyx_v_newtype;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_WriteUnraisable("h5py._proxy.make_reduced_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_mtype_fields);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":220
- * 
- * 
- * cdef void* create_buffer(size_t ipt_size, size_t opt_size, size_t nl) except NULL:             # <<<<<<<<<<<<<<
- * 
- *     cdef size_t final_size
- */
-
-static void *__pyx_f_4h5py_6_proxy_create_buffer(size_t __pyx_v_ipt_size, size_t __pyx_v_opt_size, size_t __pyx_v_nl) {
-  size_t __pyx_v_final_size;
-  void *__pyx_v_buf;
-  void *__pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create_buffer", 0);
-
-  /* "h5py/_proxy.pyx":225
- *     cdef void* buf
- * 
- *     if ipt_size >= opt_size:             # <<<<<<<<<<<<<<
- *         final_size = ipt_size*nl
- *     else:
- */
-  __pyx_t_1 = (__pyx_v_ipt_size >= __pyx_v_opt_size);
-  if (__pyx_t_1) {
-
-    /* "h5py/_proxy.pyx":226
- * 
- *     if ipt_size >= opt_size:
- *         final_size = ipt_size*nl             # <<<<<<<<<<<<<<
- *     else:
- *         final_size = opt_size*nl
- */
-    __pyx_v_final_size = (__pyx_v_ipt_size * __pyx_v_nl);
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/_proxy.pyx":228
- *         final_size = ipt_size*nl
- *     else:
- *         final_size = opt_size*nl             # <<<<<<<<<<<<<<
- * 
- *     buf = malloc(final_size)
- */
-    __pyx_v_final_size = (__pyx_v_opt_size * __pyx_v_nl);
-  }
-  __pyx_L3:;
-
-  /* "h5py/_proxy.pyx":230
- *         final_size = opt_size*nl
- * 
- *     buf = malloc(final_size)             # <<<<<<<<<<<<<<
- *     if buf == NULL:
- *         raise MemoryError("Failed to allocate conversion buffer")
- */
-  __pyx_v_buf = malloc(__pyx_v_final_size);
-
-  /* "h5py/_proxy.pyx":231
- * 
- *     buf = malloc(final_size)
- *     if buf == NULL:             # <<<<<<<<<<<<<<
- *         raise MemoryError("Failed to allocate conversion buffer")
- * 
- */
-  __pyx_t_1 = (__pyx_v_buf == NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/_proxy.pyx":232
- *     buf = malloc(final_size)
- *     if buf == NULL:
- *         raise MemoryError("Failed to allocate conversion buffer")             # <<<<<<<<<<<<<<
- * 
- *     return buf
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_MemoryError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/_proxy.pyx":234
- *         raise MemoryError("Failed to allocate conversion buffer")
- * 
- *     return buf             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_r = __pyx_v_buf;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py._proxy.create_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":244
- *     void* buf
- * 
- * cdef herr_t h5py_scatter_cb(void* elem, hid_t type_id, unsigned ndim,             # <<<<<<<<<<<<<<
- *                 hsize_t *point, void *operator_data) except -1:
- * 
- */
-
-static herr_t __pyx_f_4h5py_6_proxy_h5py_scatter_cb(void *__pyx_v_elem, CYTHON_UNUSED hid_t __pyx_v_type_id, CYTHON_UNUSED unsigned int __pyx_v_ndim, CYTHON_UNUSED hsize_t *__pyx_v_point, void *__pyx_v_operator_data) {
-  __pyx_t_4h5py_6_proxy_h5py_scatter_t *__pyx_v_info;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  long __pyx_t_1;
-  __Pyx_RefNannySetupContext("h5py_scatter_cb", 0);
-
-  /* "h5py/_proxy.pyx":247
- *                 hsize_t *point, void *operator_data) except -1:
- * 
- *     cdef h5py_scatter_t* info = <h5py_scatter_t*>operator_data             # <<<<<<<<<<<<<<
- * 
- *     memcpy(elem, (<char*>info[0].buf)+((info[0].i)*(info[0].elsize)),
- */
-  __pyx_v_info = ((__pyx_t_4h5py_6_proxy_h5py_scatter_t *)__pyx_v_operator_data);
-
-  /* "h5py/_proxy.pyx":250
- * 
- *     memcpy(elem, (<char*>info[0].buf)+((info[0].i)*(info[0].elsize)),
- *            info[0].elsize)             # <<<<<<<<<<<<<<
- * 
- *     info[0].i += 1
- */
-  memcpy(__pyx_v_elem, (((char *)(__pyx_v_info[0]).buf) + ((__pyx_v_info[0]).i * (__pyx_v_info[0]).elsize)), (__pyx_v_info[0]).elsize);
-
-  /* "h5py/_proxy.pyx":252
- *            info[0].elsize)
- * 
- *     info[0].i += 1             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  __pyx_t_1 = 0;
-  (__pyx_v_info[__pyx_t_1]).i = ((__pyx_v_info[__pyx_t_1]).i + 1);
-
-  /* "h5py/_proxy.pyx":254
- *     info[0].i += 1
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t h5py_gather_cb(void* elem, hid_t type_id, unsigned ndim,
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":256
- *     return 0
- * 
- * cdef herr_t h5py_gather_cb(void* elem, hid_t type_id, unsigned ndim,             # <<<<<<<<<<<<<<
- *                 hsize_t *point, void *operator_data) except -1:
- * 
- */
-
-static herr_t __pyx_f_4h5py_6_proxy_h5py_gather_cb(void *__pyx_v_elem, CYTHON_UNUSED hid_t __pyx_v_type_id, CYTHON_UNUSED unsigned int __pyx_v_ndim, CYTHON_UNUSED hsize_t *__pyx_v_point, void *__pyx_v_operator_data) {
-  __pyx_t_4h5py_6_proxy_h5py_scatter_t *__pyx_v_info;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  long __pyx_t_1;
-  __Pyx_RefNannySetupContext("h5py_gather_cb", 0);
-
-  /* "h5py/_proxy.pyx":259
- *                 hsize_t *point, void *operator_data) except -1:
- * 
- *     cdef h5py_scatter_t* info = <h5py_scatter_t*>operator_data             # <<<<<<<<<<<<<<
- * 
- *     memcpy((<char*>info[0].buf)+((info[0].i)*(info[0].elsize)), elem,
- */
-  __pyx_v_info = ((__pyx_t_4h5py_6_proxy_h5py_scatter_t *)__pyx_v_operator_data);
-
-  /* "h5py/_proxy.pyx":262
- * 
- *     memcpy((<char*>info[0].buf)+((info[0].i)*(info[0].elsize)), elem,
- *             info[0].elsize)             # <<<<<<<<<<<<<<
- * 
- *     info[0].i += 1
- */
-  memcpy((((char *)(__pyx_v_info[0]).buf) + ((__pyx_v_info[0]).i * (__pyx_v_info[0]).elsize)), __pyx_v_elem, (__pyx_v_info[0]).elsize);
-
-  /* "h5py/_proxy.pyx":264
- *             info[0].elsize)
- * 
- *     info[0].i += 1             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  __pyx_t_1 = 0;
-  (__pyx_v_info[__pyx_t_1]).i = ((__pyx_v_info[__pyx_t_1]).i + 1);
-
-  /* "h5py/_proxy.pyx":266
- *     info[0].i += 1
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * # Copy between a contiguous and non-contiguous buffer, with the layout
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":270
- * # Copy between a contiguous and non-contiguous buffer, with the layout
- * # of the latter specified by a dataspace selection.
- * cdef herr_t h5py_copy(hid_t tid, hid_t space, void* contig, void* noncontig,             # <<<<<<<<<<<<<<
- *                  copy_dir op) except -1:
- * 
- */
-
-static herr_t __pyx_f_4h5py_6_proxy_h5py_copy(hid_t __pyx_v_tid, hid_t __pyx_v_space, void *__pyx_v_contig, void *__pyx_v_noncontig, enum __pyx_t_4h5py_6_proxy_copy_dir __pyx_v_op) {
-  __pyx_t_4h5py_6_proxy_h5py_scatter_t __pyx_v_info;
-  hsize_t __pyx_v_elsize;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  size_t __pyx_t_1;
-  int __pyx_t_2;
-  herr_t __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("h5py_copy", 0);
-
-  /* "h5py/_proxy.pyx":276
- *     cdef hsize_t elsize
- * 
- *     elsize = H5Tget_size(tid)             # <<<<<<<<<<<<<<
- * 
- *     info.i = 0
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_elsize = __pyx_t_1;
-
-  /* "h5py/_proxy.pyx":278
- *     elsize = H5Tget_size(tid)
- * 
- *     info.i = 0             # <<<<<<<<<<<<<<
- *     info.elsize = elsize
- *     info.buf = contig
- */
-  __pyx_v_info.i = 0;
-
-  /* "h5py/_proxy.pyx":279
- * 
- *     info.i = 0
- *     info.elsize = elsize             # <<<<<<<<<<<<<<
- *     info.buf = contig
- * 
- */
-  __pyx_v_info.elsize = __pyx_v_elsize;
-
-  /* "h5py/_proxy.pyx":280
- *     info.i = 0
- *     info.elsize = elsize
- *     info.buf = contig             # <<<<<<<<<<<<<<
- * 
- *     if op == H5PY_SCATTER:
- */
-  __pyx_v_info.buf = __pyx_v_contig;
-
-  /* "h5py/_proxy.pyx":282
- *     info.buf = contig
- * 
- *     if op == H5PY_SCATTER:             # <<<<<<<<<<<<<<
- *         H5Diterate(noncontig, tid, space, h5py_scatter_cb, &info)
- *     elif op == H5PY_GATHER:
- */
-  __pyx_t_2 = (__pyx_v_op == __pyx_e_4h5py_6_proxy_H5PY_SCATTER);
-  if (__pyx_t_2) {
-
-    /* "h5py/_proxy.pyx":283
- * 
- *     if op == H5PY_SCATTER:
- *         H5Diterate(noncontig, tid, space, h5py_scatter_cb, &info)             # <<<<<<<<<<<<<<
- *     elif op == H5PY_GATHER:
- *         H5Diterate(noncontig, tid, space, h5py_gather_cb, &info)
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Diterate(__pyx_v_noncontig, __pyx_v_tid, __pyx_v_space, __pyx_f_4h5py_6_proxy_h5py_scatter_cb, (&__pyx_v_info)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_proxy.pyx":284
- *     if op == H5PY_SCATTER:
- *         H5Diterate(noncontig, tid, space, h5py_scatter_cb, &info)
- *     elif op == H5PY_GATHER:             # <<<<<<<<<<<<<<
- *         H5Diterate(noncontig, tid, space, h5py_gather_cb, &info)
- *     else:
- */
-  __pyx_t_2 = (__pyx_v_op == __pyx_e_4h5py_6_proxy_H5PY_GATHER);
-  if (__pyx_t_2) {
-
-    /* "h5py/_proxy.pyx":285
- *         H5Diterate(noncontig, tid, space, h5py_scatter_cb, &info)
- *     elif op == H5PY_GATHER:
- *         H5Diterate(noncontig, tid, space, h5py_gather_cb, &info)             # <<<<<<<<<<<<<<
- *     else:
- *         raise RuntimeError("Illegal direction")
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Diterate(__pyx_v_noncontig, __pyx_v_tid, __pyx_v_space, __pyx_f_4h5py_6_proxy_h5py_gather_cb, (&__pyx_v_info)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/_proxy.pyx":287
- *         H5Diterate(noncontig, tid, space, h5py_gather_cb, &info)
- *     else:
- *         raise RuntimeError("Illegal direction")             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-    __pyx_t_4 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  /* "h5py/_proxy.pyx":289
- *         raise RuntimeError("Illegal direction")
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * # =============================================================================
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py._proxy.h5py_copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":294
- * # VLEN support routines
- * 
- * cdef htri_t needs_bkg_buffer(hid_t src, hid_t dst) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef H5T_cdata_t *info = NULL
- */
-
-static htri_t __pyx_f_4h5py_6_proxy_needs_bkg_buffer(hid_t __pyx_v_src, hid_t __pyx_v_dst) {
-  H5T_cdata_t *__pyx_v_info;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  htri_t __pyx_t_2;
-  int __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  H5T_conv_t __pyx_t_7;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  size_t __pyx_t_11;
-  PyObject *__pyx_t_12 = NULL;
-  char *__pyx_t_13;
-  PyObject *__pyx_t_14 = NULL;
-  PyObject *__pyx_t_15 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("needs_bkg_buffer", 0);
-
-  /* "h5py/_proxy.pyx":296
- * cdef htri_t needs_bkg_buffer(hid_t src, hid_t dst) except -1:
- * 
- *     cdef H5T_cdata_t *info = NULL             # <<<<<<<<<<<<<<
- * 
- *     if H5Tdetect_class(src, H5T_COMPOUND) or H5Tdetect_class(dst, H5T_COMPOUND):
- */
-  __pyx_v_info = NULL;
-
-  /* "h5py/_proxy.pyx":298
- *     cdef H5T_cdata_t *info = NULL
- * 
- *     if H5Tdetect_class(src, H5T_COMPOUND) or H5Tdetect_class(dst, H5T_COMPOUND):             # <<<<<<<<<<<<<<
- *         return 1
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdetect_class(__pyx_v_src, H5T_COMPOUND); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (!__pyx_t_1) {
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tdetect_class(__pyx_v_dst, H5T_COMPOUND); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_1;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/_proxy.pyx":299
- * 
- *     if H5Tdetect_class(src, H5T_COMPOUND) or H5Tdetect_class(dst, H5T_COMPOUND):
- *         return 1             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_proxy.pyx":301
- *         return 1
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         H5Tfind(src, dst, &info)
- *     except:
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
-    __Pyx_XGOTREF(__pyx_t_4);
-    __Pyx_XGOTREF(__pyx_t_5);
-    __Pyx_XGOTREF(__pyx_t_6);
-    /*try:*/ {
-
-      /* "h5py/_proxy.pyx":302
- * 
- *     try:
- *         H5Tfind(src, dst, &info)             # <<<<<<<<<<<<<<
- *     except:
- *         print "Failed to find converter for %s -> %s" % (H5Tget_size(src), H5Tget_tag(dst))
- */
-      __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tfind(__pyx_v_src, __pyx_v_dst, (&__pyx_v_info)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-    }
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-    goto __pyx_L11_try_end;
-    __pyx_L4_error:;
-
-    /* "h5py/_proxy.pyx":303
- *     try:
- *         H5Tfind(src, dst, &info)
- *     except:             # <<<<<<<<<<<<<<
- *         print "Failed to find converter for %s -> %s" % (H5Tget_size(src), H5Tget_tag(dst))
- *         raise
- */
-    /*except:*/ {
-      __Pyx_AddTraceback("h5py._proxy.needs_bkg_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_8);
-      __Pyx_GOTREF(__pyx_t_9);
-      __Pyx_GOTREF(__pyx_t_10);
-
-      /* "h5py/_proxy.pyx":304
- *         H5Tfind(src, dst, &info)
- *     except:
- *         print "Failed to find converter for %s -> %s" % (H5Tget_size(src), H5Tget_tag(dst))             # <<<<<<<<<<<<<<
- *         raise
- * 
- */
-      __pyx_t_11 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_src); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __pyx_t_12 = __Pyx_PyInt_FromSize_t(__pyx_t_11); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_12);
-      __pyx_t_13 = __pyx_f_4h5py_4defs_H5Tget_tag(__pyx_v_dst); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __pyx_t_14 = PyBytes_FromString(__pyx_t_13); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_14));
-      __pyx_t_15 = PyTuple_New(2); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_15);
-      PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_12);
-      __Pyx_GIVEREF(__pyx_t_12);
-      PyTuple_SET_ITEM(__pyx_t_15, 1, ((PyObject *)__pyx_t_14));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_14));
-      __pyx_t_12 = 0;
-      __pyx_t_14 = 0;
-      __pyx_t_14 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), ((PyObject *)__pyx_t_15)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_14));
-      __Pyx_DECREF(((PyObject *)__pyx_t_15)); __pyx_t_15 = 0;
-      if (__Pyx_PrintOne(0, ((PyObject *)__pyx_t_14)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0;
-
-      /* "h5py/_proxy.pyx":305
- *     except:
- *         print "Failed to find converter for %s -> %s" % (H5Tget_size(src), H5Tget_tag(dst))
- *         raise             # <<<<<<<<<<<<<<
- * 
- *     if info[0].need_bkg == H5T_BKG_YES:
- */
-      __Pyx_GIVEREF(__pyx_t_8);
-      __Pyx_GIVEREF(__pyx_t_9);
-      __Pyx_GIVEREF(__pyx_t_10);
-      __Pyx_ErrRestore(__pyx_t_8, __pyx_t_9, __pyx_t_10);
-      __pyx_t_8 = 0; __pyx_t_9 = 0; __pyx_t_10 = 0; 
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-      goto __pyx_L5_exception_handled;
-    }
-    __pyx_L6_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_4);
-    __Pyx_XGIVEREF(__pyx_t_5);
-    __Pyx_XGIVEREF(__pyx_t_6);
-    __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
-    goto __pyx_L1_error;
-    __pyx_L5_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_4);
-    __Pyx_XGIVEREF(__pyx_t_5);
-    __Pyx_XGIVEREF(__pyx_t_6);
-    __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
-    __pyx_L11_try_end:;
-  }
-
-  /* "h5py/_proxy.pyx":307
- *         raise
- * 
- *     if info[0].need_bkg == H5T_BKG_YES:             # <<<<<<<<<<<<<<
- *         return 1
- * 
- */
-  __pyx_t_3 = ((__pyx_v_info[0]).need_bkg == H5T_BKG_YES);
-  if (__pyx_t_3) {
-
-    /* "h5py/_proxy.pyx":308
- * 
- *     if info[0].need_bkg == H5T_BKG_YES:
- *         return 1             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L14;
-  }
-  __pyx_L14:;
-
-  /* "h5py/_proxy.pyx":310
- *         return 1
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * # Determine if the given type requires proxy buffering
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_XDECREF(__pyx_t_12);
-  __Pyx_XDECREF(__pyx_t_14);
-  __Pyx_XDECREF(__pyx_t_15);
-  __Pyx_AddTraceback("h5py._proxy.needs_bkg_buffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/_proxy.pyx":313
- * 
- * # Determine if the given type requires proxy buffering
- * cdef htri_t needs_proxy(hid_t tid) except -1:             # <<<<<<<<<<<<<<
- * 
- *     cdef H5T_class_t cls
- */
-
-static htri_t __pyx_f_4h5py_6_proxy_needs_proxy(hid_t __pyx_v_tid) {
-  enum H5T_class_t __pyx_v_cls;
-  hid_t __pyx_v_supertype;
-  int __pyx_v_i;
-  int __pyx_v_n;
-  htri_t __pyx_v_result;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  enum H5T_class_t __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  htri_t __pyx_t_5;
-  hid_t __pyx_t_6;
-  herr_t __pyx_t_7;
-  int __pyx_t_8;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("needs_proxy", 0);
-
-  /* "h5py/_proxy.pyx":320
- *     cdef htri_t result
- * 
- *     cls = H5Tget_class(tid)             # <<<<<<<<<<<<<<
- * 
- *     if cls == H5T_VLEN or cls == H5T_REFERENCE:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_cls = __pyx_t_1;
-
-  /* "h5py/_proxy.pyx":322
- *     cls = H5Tget_class(tid)
- * 
- *     if cls == H5T_VLEN or cls == H5T_REFERENCE:             # <<<<<<<<<<<<<<
- *         return 1
- * 
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_VLEN);
-  if (!__pyx_t_2) {
-    __pyx_t_3 = (__pyx_v_cls == H5T_REFERENCE);
-    __pyx_t_4 = __pyx_t_3;
-  } else {
-    __pyx_t_4 = __pyx_t_2;
-  }
-  if (__pyx_t_4) {
-
-    /* "h5py/_proxy.pyx":323
- * 
- *     if cls == H5T_VLEN or cls == H5T_REFERENCE:
- *         return 1             # <<<<<<<<<<<<<<
- * 
- *     elif cls == H5T_STRING:
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_proxy.pyx":325
- *         return 1
- * 
- *     elif cls == H5T_STRING:             # <<<<<<<<<<<<<<
- *         return H5Tis_variable_str(tid)
- * 
- */
-  __pyx_t_4 = (__pyx_v_cls == H5T_STRING);
-  if (__pyx_t_4) {
-
-    /* "h5py/_proxy.pyx":326
- * 
- *     elif cls == H5T_STRING:
- *         return H5Tis_variable_str(tid)             # <<<<<<<<<<<<<<
- * 
- *     elif cls == H5T_ARRAY:
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 326; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_r = __pyx_t_5;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_proxy.pyx":328
- *         return H5Tis_variable_str(tid)
- * 
- *     elif cls == H5T_ARRAY:             # <<<<<<<<<<<<<<
- * 
- *         supertype = H5Tget_super(tid)
- */
-  __pyx_t_4 = (__pyx_v_cls == H5T_ARRAY);
-  if (__pyx_t_4) {
-
-    /* "h5py/_proxy.pyx":330
- *     elif cls == H5T_ARRAY:
- * 
- *         supertype = H5Tget_super(tid)             # <<<<<<<<<<<<<<
- *         try:
- *             return needs_proxy(supertype)
- */
-    __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tget_super(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_supertype = __pyx_t_6;
-
-    /* "h5py/_proxy.pyx":331
- * 
- *         supertype = H5Tget_super(tid)
- *         try:             # <<<<<<<<<<<<<<
- *             return needs_proxy(supertype)
- *         finally:
- */
-    /*try:*/ {
-
-      /* "h5py/_proxy.pyx":332
- *         supertype = H5Tget_super(tid)
- *         try:
- *             return needs_proxy(supertype)             # <<<<<<<<<<<<<<
- *         finally:
- *             H5Tclose(supertype)
- */
-      __pyx_t_5 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_supertype); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __pyx_r = __pyx_t_5;
-      goto __pyx_L4;
-    }
-
-    /* "h5py/_proxy.pyx":334
- *             return needs_proxy(supertype)
- *         finally:
- *             H5Tclose(supertype)             # <<<<<<<<<<<<<<
- * 
- *     elif cls == H5T_COMPOUND:
- */
-    /*finally:*/ {
-      int __pyx_why;
-      PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-      int __pyx_exc_lineno;
-      __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-      __pyx_why = 3; goto __pyx_L6;
-      __pyx_L5: {
-        __pyx_why = 4;
-        __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-        __pyx_exc_lineno = __pyx_lineno;
-        goto __pyx_L6;
-      }
-      __pyx_L6:;
-      __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_supertype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-      goto __pyx_L8;
-      __pyx_L7_error:;
-      if (__pyx_why == 4) {
-        Py_XDECREF(__pyx_exc_type);
-        Py_XDECREF(__pyx_exc_value);
-        Py_XDECREF(__pyx_exc_tb);
-      }
-      goto __pyx_L1_error;
-      __pyx_L8:;
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-        case 4: {
-          __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-          __pyx_lineno = __pyx_exc_lineno;
-          __pyx_exc_type = 0;
-          __pyx_exc_value = 0;
-          __pyx_exc_tb = 0;
-          goto __pyx_L1_error;
-        }
-      }
-    }
-    goto __pyx_L3;
-  }
-
-  /* "h5py/_proxy.pyx":336
- *             H5Tclose(supertype)
- * 
- *     elif cls == H5T_COMPOUND:             # <<<<<<<<<<<<<<
- * 
- *         n = H5Tget_nmembers(tid)
- */
-  __pyx_t_4 = (__pyx_v_cls == H5T_COMPOUND);
-  if (__pyx_t_4) {
-
-    /* "h5py/_proxy.pyx":338
- *     elif cls == H5T_COMPOUND:
- * 
- *         n = H5Tget_nmembers(tid)             # <<<<<<<<<<<<<<
- *         for i from 0<=i<n:
- *             supertype = H5Tget_member_type(tid, i)
- */
-    __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tget_nmembers(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_n = __pyx_t_8;
-
-    /* "h5py/_proxy.pyx":339
- * 
- *         n = H5Tget_nmembers(tid)
- *         for i from 0<=i<n:             # <<<<<<<<<<<<<<
- *             supertype = H5Tget_member_type(tid, i)
- *             try:
- */
-    __pyx_t_8 = __pyx_v_n;
-    for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_8; __pyx_v_i++) {
-
-      /* "h5py/_proxy.pyx":340
- *         n = H5Tget_nmembers(tid)
- *         for i from 0<=i<n:
- *             supertype = H5Tget_member_type(tid, i)             # <<<<<<<<<<<<<<
- *             try:
- *                 result = needs_proxy(supertype)
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tget_member_type(__pyx_v_tid, __pyx_v_i); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_v_supertype = __pyx_t_6;
-
-      /* "h5py/_proxy.pyx":341
- *         for i from 0<=i<n:
- *             supertype = H5Tget_member_type(tid, i)
- *             try:             # <<<<<<<<<<<<<<
- *                 result = needs_proxy(supertype)
- *                 if result > 0:
- */
-      /*try:*/ {
-
-        /* "h5py/_proxy.pyx":342
- *             supertype = H5Tget_member_type(tid, i)
- *             try:
- *                 result = needs_proxy(supertype)             # <<<<<<<<<<<<<<
- *                 if result > 0:
- *                     return 1
- */
-        __pyx_t_5 = __pyx_f_4h5py_6_proxy_needs_proxy(__pyx_v_supertype); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L14;}
-        __pyx_v_result = __pyx_t_5;
-
-        /* "h5py/_proxy.pyx":343
- *             try:
- *                 result = needs_proxy(supertype)
- *                 if result > 0:             # <<<<<<<<<<<<<<
- *                     return 1
- *             finally:
- */
-        __pyx_t_4 = (__pyx_v_result > 0);
-        if (__pyx_t_4) {
-
-          /* "h5py/_proxy.pyx":344
- *                 result = needs_proxy(supertype)
- *                 if result > 0:
- *                     return 1             # <<<<<<<<<<<<<<
- *             finally:
- *                 H5Tclose(supertype)
- */
-          __pyx_r = 1;
-          goto __pyx_L13;
-          goto __pyx_L16;
-        }
-        __pyx_L16:;
-      }
-
-      /* "h5py/_proxy.pyx":346
- *                     return 1
- *             finally:
- *                 H5Tclose(supertype)             # <<<<<<<<<<<<<<
- *         return 0
- * 
- */
-      /*finally:*/ {
-        int __pyx_why;
-        PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-        int __pyx_exc_lineno;
-        __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-        __pyx_why = 0; goto __pyx_L15;
-        __pyx_L13: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-        __pyx_why = 3; goto __pyx_L15;
-        __pyx_L14: {
-          __pyx_why = 4;
-          __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-          __pyx_exc_lineno = __pyx_lineno;
-          goto __pyx_L15;
-        }
-        __pyx_L15:;
-        __pyx_t_7 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_supertype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L17_error;}
-        goto __pyx_L18;
-        __pyx_L17_error:;
-        if (__pyx_why == 4) {
-          Py_XDECREF(__pyx_exc_type);
-          Py_XDECREF(__pyx_exc_value);
-          Py_XDECREF(__pyx_exc_tb);
-        }
-        goto __pyx_L1_error;
-        __pyx_L18:;
-        switch (__pyx_why) {
-          case 3: goto __pyx_L0;
-          case 4: {
-            __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-            __pyx_lineno = __pyx_exc_lineno;
-            __pyx_exc_type = 0;
-            __pyx_exc_value = 0;
-            __pyx_exc_tb = 0;
-            goto __pyx_L1_error;
-          }
-        }
-      }
-    }
-
-    /* "h5py/_proxy.pyx":347
- *             finally:
- *                 H5Tclose(supertype)
- *         return 0             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/_proxy.pyx":349
- *         return 0
- * 
- *     return 0             # <<<<<<<<<<<<<<
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py._proxy.needs_proxy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("_proxy"),
-    __Pyx_DOCSTR(__pyx_k_6), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
-  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
-  {&__pyx_n_s__MemoryError, __pyx_k__MemoryError, sizeof(__pyx_k__MemoryError), 0, 0, 1, 1},
-  {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1},
-  {&__pyx_n_s__xrange, __pyx_k__xrange, sizeof(__pyx_k__xrange), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  #if PY_MAJOR_VERSION >= 3
-  __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #else
-  __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  __pyx_builtin_MemoryError = __Pyx_GetName(__pyx_b, __pyx_n_s__MemoryError); if (!__pyx_builtin_MemoryError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/_proxy.pyx":232
- *     buf = malloc(final_size)
- *     if buf == NULL:
- *         raise MemoryError("Failed to allocate conversion buffer")             # <<<<<<<<<<<<<<
- * 
- *     return buf
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-
-  /* "h5py/_proxy.pyx":287
- *         H5Diterate(noncontig, tid, space, h5py_gather_cb, &info)
- *     else:
- *         raise RuntimeError("Illegal direction")             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_3)); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC init_proxy(void); /*proto*/
-PyMODINIT_FUNC init_proxy(void)
-#else
-PyMODINIT_FUNC PyInit__proxy(void); /*proto*/
-PyMODINIT_FUNC PyInit__proxy(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit__proxy(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("_proxy"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_6), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py._proxy")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py._proxy", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py___proxy) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("attr_rw", (void (*)(void))__pyx_f_4h5py_6_proxy_attr_rw, "herr_t (hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("dset_rw", (void (*)(void))__pyx_f_4h5py_6_proxy_dset_rw, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  /*--- Type import code ---*/
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dwrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dvlen_reclaim", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Diterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aread", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Awrite", (void (**)(void))&__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/_proxy.pyx":1
- * # cython: profile=False             # <<<<<<<<<<<<<<
- * 
- * # This file is part of h5py, a Python interface to the HDF5 library.
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py._proxy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py._proxy");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
-static PyObject *__Pyx_GetStdout(void) {
-    PyObject *f = PySys_GetObject((char *)"stdout");
-    if (!f) {
-        PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
-    }
-    return f;
-}
-static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {
-    int i;
-    if (!f) {
-        if (!(f = __Pyx_GetStdout()))
-            return -1;
-    }
-    Py_INCREF(f);
-    for (i=0; i < PyTuple_GET_SIZE(arg_tuple); i++) {
-        PyObject* v;
-        if (PyFile_SoftSpace(f, 1)) {
-            if (PyFile_WriteString(" ", f) < 0)
-                goto error;
-        }
-        v = PyTuple_GET_ITEM(arg_tuple, i);
-        if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
-            goto error;
-        if (PyString_Check(v)) {
-            char *s = PyString_AsString(v);
-            Py_ssize_t len = PyString_Size(v);
-            if (len > 0 &&
-                isspace(Py_CHARMASK(s[len-1])) &&
-                s[len-1] != ' ')
-                    PyFile_SoftSpace(f, 0);
-        }
-    }
-    if (newline) {
-        if (PyFile_WriteString("\n", f) < 0)
-            goto error;
-        PyFile_SoftSpace(f, 0);
-    }
-    Py_DECREF(f);
-    return 0;
-error:
-    Py_DECREF(f);
-    return -1;
-}
-#else /* Python 3 has a print function */
-static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
-    PyObject* kwargs = 0;
-    PyObject* result = 0;
-    PyObject* end_string;
-    if (unlikely(!__pyx_print)) {
-        __pyx_print = __Pyx_GetAttrString(__pyx_b, "print");
-        if (!__pyx_print)
-            return -1;
-    }
-    if (stream) {
-        kwargs = PyDict_New();
-        if (unlikely(!kwargs))
-            return -1;
-        if (unlikely(PyDict_SetItemString(kwargs, "file", stream) < 0))
-            goto bad;
-        if (!newline) {
-            end_string = PyUnicode_FromStringAndSize(" ", 1);
-            if (unlikely(!end_string))
-                goto bad;
-            if (PyDict_SetItemString(kwargs, "end", end_string) < 0) {
-                Py_DECREF(end_string);
-                goto bad;
-            }
-            Py_DECREF(end_string);
-        }
-    } else if (!newline) {
-        if (unlikely(!__pyx_print_kwargs)) {
-            __pyx_print_kwargs = PyDict_New();
-            if (unlikely(!__pyx_print_kwargs))
-                return -1;
-            end_string = PyUnicode_FromStringAndSize(" ", 1);
-            if (unlikely(!end_string))
-                return -1;
-            if (PyDict_SetItemString(__pyx_print_kwargs, "end", end_string) < 0) {
-                Py_DECREF(end_string);
-                return -1;
-            }
-            Py_DECREF(end_string);
-        }
-        kwargs = __pyx_print_kwargs;
-    }
-    result = PyObject_Call(__pyx_print, arg_tuple, kwargs);
-    if (unlikely(kwargs) && (kwargs != __pyx_print_kwargs))
-        Py_DECREF(kwargs);
-    if (!result)
-        return -1;
-    Py_DECREF(result);
-    return 0;
-bad:
-    if (kwargs != __pyx_print_kwargs)
-        Py_XDECREF(kwargs);
-    return -1;
-}
-#endif
-
-#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
-static int __Pyx_PrintOne(PyObject* f, PyObject *o) {
-    if (!f) {
-        if (!(f = __Pyx_GetStdout()))
-            return -1;
-    }
-    Py_INCREF(f);
-    if (PyFile_SoftSpace(f, 0)) {
-        if (PyFile_WriteString(" ", f) < 0)
-            goto error;
-    }
-    if (PyFile_WriteObject(o, f, Py_PRINT_RAW) < 0)
-        goto error;
-    if (PyFile_WriteString("\n", f) < 0)
-        goto error;
-    Py_DECREF(f);
-    return 0;
-error:
-    Py_DECREF(f);
-    return -1;
-    /* the line below is just to avoid C compiler
-     * warnings about unused functions */
-    return __Pyx_Print(f, NULL, 0);
-}
-#else /* Python 3 has a print function */
-static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
-    int res;
-    PyObject* arg_tuple = PyTuple_Pack(1, o);
-    if (unlikely(!arg_tuple))
-        return -1;
-    res = __Pyx_Print(stream, arg_tuple, 1);
-    Py_DECREF(arg_tuple);
-    return res;
-}
-#endif
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
-                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename) {
-    PyObject *old_exc, *old_val, *old_tb;
-    PyObject *ctx;
-    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
-    #if PY_MAJOR_VERSION < 3
-    ctx = PyString_FromString(name);
-    #else
-    ctx = PyUnicode_FromString(name);
-    #endif
-    __Pyx_ErrRestore(old_exc, old_val, old_tb);
-    if (!ctx) {
-        PyErr_WriteUnraisable(Py_None);
-    } else {
-        PyErr_WriteUnraisable(ctx);
-        Py_DECREF(ctx);
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-#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
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/_proxy.pyx b/h5py/_proxy.pyx
index 0576d47..63a9670 100644
--- a/h5py/_proxy.pyx
+++ b/h5py/_proxy.pyx
@@ -184,35 +184,49 @@ cdef hid_t make_reduced_type(hid_t mtype, hid_t dstype):
 
     cdef hid_t newtype, temptype
     cdef hsize_t newtype_size, offset
+    cdef char* member_name = NULL
 
     # Make a list of all names in the memory type.
     mtype_fields = []
     for idx in xrange(H5Tget_nmembers(mtype)):
-        mtype_fields.append(H5Tget_member_name(mtype, idx))
+        member_name = H5Tget_member_name(mtype, idx)
+        try:
+            mtype_fields.append(member_name)
+        finally:
+            free(member_name)
+            member_name = NULL
 
     # First pass: add up the sizes of matching fields so we know how large a
     # type to make
     newtype_size = 0
     for idx in xrange(H5Tget_nmembers(dstype)):
-        name = H5Tget_member_name(dstype, idx)
-        if name not in mtype_fields:
-            continue
-        temptype = H5Tget_member_type(dstype, idx)
-        newtype_size += H5Tget_size(temptype)
-        H5Tclose(temptype)
+        member_name = H5Tget_member_name(dstype, idx)
+        try:
+            if member_name not in mtype_fields:
+                continue
+            temptype = H5Tget_member_type(dstype, idx)
+            newtype_size += H5Tget_size(temptype)
+            H5Tclose(temptype)
+        finally:
+            free(member_name)
+            member_name =  NULL
 
     newtype = H5Tcreate(H5T_COMPOUND, newtype_size)
 
     # Second pass: pick out the matching fields and pack them in the new type
     offset = 0
     for idx in xrange(H5Tget_nmembers(dstype)):
-        name = H5Tget_member_name(dstype, idx)
-        if name not in mtype_fields:
-            continue
-        temptype = H5Tget_member_type(dstype, idx)
-        H5Tinsert(newtype, name, offset, temptype)
-        offset += H5Tget_size(temptype)
-        H5Tclose(temptype)
+        member_name = H5Tget_member_name(dstype, idx)
+        try:
+            if member_name not in mtype_fields:
+                continue
+            temptype = H5Tget_member_type(dstype, idx)
+            H5Tinsert(newtype, member_name, offset, temptype)
+            offset += H5Tget_size(temptype)
+            H5Tclose(temptype)
+        finally:
+            free(member_name)
+            member_name = NULL
 
     return newtype
 
diff --git a/h5py/api_compat.h b/h5py/api_compat.h
index 7118f49..96a2da7 100644
--- a/h5py/api_compat.h
+++ b/h5py/api_compat.h
@@ -16,6 +16,11 @@
 #ifndef H5PY_COMPAT
 #define H5PY_COMPAT
 
+#if defined(MPI_VERSION) && (MPI_VERSION < 3) && !defined(PyMPI_HAVE_MPI_Message)
+typedef void *PyMPI_MPI_Message;
+#define MPI_Message PyMPI_MPI_Message
+#endif
+
 #include <stddef.h>
 #include "Python.h"
 #include "numpy/arrayobject.h"
diff --git a/h5py/api_functions.txt b/h5py/api_functions.txt
index ed27a7f..ea5e707 100644
--- a/h5py/api_functions.txt
+++ b/h5py/api_functions.txt
@@ -7,28 +7,94 @@
 # License:  Standard 3-clause BSD; see "license.txt" for full license terms
 #           and contributor agreement.
 
+
+# Defines the HDF5 C API functions wrapped by h5py. See also api_gen.py.
+#
+# Format of this file:
+#
+# header_declaration:
+#   function_line
+#   function_line
+#   ...
+#
+# Header declarations are the basenames of the C header files (without the .h);
+# for example, functions from "hdf5.h" are under the "hdf5" declaration.
+#
+# Function lines are C function signatures, optionally preceeded by:
+#   MPI     If present, function requires an MPI-aware build of h5py
+#   ERROR   Explicit error checks are needed (HDF5 does not use error stack)
+#   X.Y.Z   Minimum version of HDF5 required for this function
+#
+# Blank/whitespace-only lines are ignored, as are lines whose first
+# non-whitespace character is "#".  Indentation must be via spaces only.
+
+
 hdf5:
-  herr_t H5open()
-  herr_t H5close()
 
-  herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum)
+  # === H5 - General library functions ========================================
+  
+  herr_t    H5open()
+  herr_t    H5close()
+  herr_t    H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum)
+
 
-  hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id)
-  hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id)
+  # === H5A - Attributes API ==================================================
+
+  hid_t     H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist)
+  hid_t     H5Aopen_idx(hid_t loc_id, unsigned int idx)
+  hid_t     H5Aopen_name(hid_t loc_id, char *name)
+  herr_t    H5Aclose(hid_t attr_id)
+  herr_t    H5Adelete(hid_t loc_id, char *name)
+
+  herr_t    H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf)
+  herr_t    H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf )
+
+  int       H5Aget_num_attrs(hid_t loc_id)
+  ssize_t   H5Aget_name(hid_t attr_id, size_t buf_size, char *buf)
+  hid_t     H5Aget_space(hid_t attr_id)
+  hid_t     H5Aget_type(hid_t attr_id)
+  herr_t    H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data)
+
+  herr_t    H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id)
+  herr_t    H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id)
+
+  hid_t     H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id)
+
+  herr_t    H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id)
+  herr_t    H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id)
+  herr_t    H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id)
+  htri_t    H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id)
+  htri_t    H5Aexists(hid_t obj_id, char *attr_name)
+
+  herr_t    H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name)
+  herr_t    H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id)
+
+  herr_t    H5Aget_info( hid_t attr_id, H5A_info_t *ainfo)
+  herr_t    H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id)
+  herr_t    H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id)
+
+  herr_t    H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data)
+  hsize_t   H5Aget_storage_size(hid_t attr_id)
+
+
+  # === H5D - Dataset API =====================================================
+  
+  hid_t     H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id)
+  hid_t     H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id)
 
   hid_t     H5Dopen(hid_t file_id, char *name)
+  hid_t     H5Dopen2(hid_t loc_id, char *name, hid_t dapl_id )
   herr_t    H5Dclose(hid_t dset_id)
 
   hid_t     H5Dget_space(hid_t dset_id)
   herr_t    H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status)
   hid_t     H5Dget_type(hid_t dset_id)
   hid_t     H5Dget_create_plist(hid_t dataset_id)
+  hid_t     H5Dget_access_plist(hid_t dataset_id)
 
   haddr_t   H5Dget_offset(hid_t dset_id)
   hsize_t   H5Dget_storage_size(hid_t dset_id)
 
-  # These must have their return values checked manually, in order to
-  # allow the GIL to be released during reading and writing.
   herr_t    H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf)
   herr_t    H5Dwrite(hid_t dset_id, hid_t mem_type, hid_t mem_space, hid_t file_space, hid_t xfer_plist, void* buf)
 
@@ -42,15 +108,13 @@ hdf5:
   herr_t    H5Dset_extent(hid_t dset_id, hsize_t* size)
 
 
+  # === H5F - File API ========================================================
 
-# === H5F - File API ==========================================================
-
-
-  hid_t  H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist)
-  hid_t  H5Fopen(char *name, unsigned flags, hid_t access_id)
-  herr_t H5Fclose (hid_t file_id)
-  htri_t H5Fis_hdf5(char *name)
-  herr_t H5Fflush(hid_t object_id, H5F_scope_t scope)
+  hid_t     H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist)
+  hid_t     H5Fopen(char *name, unsigned flags, hid_t access_id)
+  herr_t    H5Fclose (hid_t file_id)
+  htri_t    H5Fis_hdf5(char *name)
+  herr_t    H5Fflush(hid_t object_id, H5F_scope_t scope)
 
   hid_t     H5Freopen(hid_t file_id)
   herr_t    H5Fmount(hid_t loc_id, char *name, hid_t child_id, hid_t plist_id)
@@ -64,52 +128,47 @@ hdf5:
   int       H5Fget_obj_ids(hid_t file_id, unsigned int types, int max_objs, hid_t *obj_id_list)
   herr_t    H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle)
 
+  herr_t    H5Fget_intent(hid_t file_id, unsigned int *intent)
+  herr_t    H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)
+  herr_t    H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr)
+  herr_t    H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr)
+  herr_t    H5Freset_mdc_hit_rate_stats(hid_t file_id)
+  herr_t    H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)
 
-  herr_t H5Fget_intent(hid_t file_id, unsigned int *intent)
-
-  herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)
-  herr_t H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr)
-  herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr)
-  herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id)
-  herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr)
-# === H5FD - Low-level file descriptor API ====================================
-
-# === H5G - Groups API ========================================================
-
-
-
-  hid_t  H5Gcreate(hid_t loc_id, char *name, size_t size_hint)
-  hid_t  H5Gopen(hid_t loc_id, char *name)
-  herr_t H5Gclose(hid_t group_id)
-  herr_t H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name)
-
-  herr_t H5Gunlink (hid_t file_id, char *name)
-  herr_t H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name)
-  herr_t H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj)
-  int    H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size)
-  int    H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx)
+  # MPI functions
+  MPI 1.8.9 herr_t H5Fset_mpi_atomicity(hid_t file_id, hbool_t flag)
+  MPI 1.8.9 herr_t H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag)
 
-  herr_t H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data)
-  herr_t H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf)
 
-  herr_t H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value)
-  herr_t H5Gset_comment(hid_t loc_id, char *name, char *comment)
-  int H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment)
+  # === H5G - Groups API ======================================================
 
-  # New extensions in 1.8.X
+  hid_t     H5Gcreate(hid_t loc_id, char *name, size_t size_hint)
+  hid_t     H5Gopen(hid_t loc_id, char *name)
+  herr_t    H5Gclose(hid_t group_id)
+  herr_t    H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name)
 
+  herr_t    H5Gunlink (hid_t file_id, char *name)
+  herr_t    H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name)
+  herr_t    H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj)
+  int       H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size)
+  int       H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx)
 
-  hid_t   H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id)
-  hid_t   H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id)
-  hid_t   H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id)
-  herr_t  H5Gget_info( hid_t group_id, H5G_info_t *group_info)
-  herr_t  H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id)
-  hid_t   H5Gget_create_plist(hid_t group_id)
+  herr_t    H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data)
+  herr_t    H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf)
 
+  herr_t    H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value)
+  herr_t    H5Gset_comment(hid_t loc_id, char *name, char *comment)
+  int       H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment)
 
-# === H5I - Identifier and reflection interface ===============================
+  hid_t     H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id)
+  hid_t     H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id)
+  hid_t     H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id)
+  herr_t    H5Gget_info( hid_t group_id, H5G_info_t *group_info)
+  herr_t    H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id)
+  hid_t     H5Gget_create_plist(hid_t group_id)
 
 
+  # === H5I - Identifier and reflection interface =============================
 
   H5I_type_t H5Iget_type(hid_t obj_id)
   ssize_t    H5Iget_name( hid_t obj_id, char *name, size_t size)
@@ -117,108 +176,81 @@ hdf5:
   int        H5Idec_ref(hid_t obj_id)
   int        H5Iget_ref(hid_t obj_id)
   int        H5Iinc_ref(hid_t obj_id)
+  htri_t     H5Iis_valid( hid_t obj_id )
 
 
-# === H5L - Links interface (1.8.X only) ======================================
-
-
-
-
-
-    # Links API
-
-  herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id)
-
-  herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id)
-
-  herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id)
-
-  herr_t H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id)
-
-  herr_t H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id)
-
-  herr_t H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id)
-
-  herr_t H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id)
-
-  herr_t H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id)
-
-  htri_t H5Lexists(hid_t loc_id, char *name, hid_t lapl_id)
-
-  herr_t H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id)
-
-  herr_t H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id)
-
-  ssize_t H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id)
-
-  herr_t H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data)
-
-  herr_t H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id)
-
-  herr_t H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data)
-
-  herr_t H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id)
-
-  herr_t H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path)
-
-  herr_t H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id)
-
-# === H5O - General object operations (1.8.X only) ============================
-
-
-
+  # === H5L - Links interface =================================================
 
+  herr_t    H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id)
+  herr_t    H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id)
+  herr_t    H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id)
+  herr_t    H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id)
+  herr_t    H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id)
+  herr_t    H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id)
+  herr_t    H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id)
+  herr_t    H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id)
+  htri_t    H5Lexists(hid_t loc_id, char *name, hid_t lapl_id)
+  herr_t    H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id)
+  herr_t    H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id)
+  ssize_t   H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id)
+  herr_t    H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data)
+  herr_t    H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id)
+  herr_t    H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data)
+  herr_t    H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id)
+  herr_t    H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path)
+  herr_t    H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id)
 
-    # --- H5O API -------------------------------------------------------------
 
-  hid_t H5Oopen(hid_t loc_id, char *name, hid_t lapl_id)
-  hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr)
-  hid_t H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id)
+  # === H5O - General object operations =======================================
 
-  herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo)
-  herr_t H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id)
-  herr_t H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id)
+  hid_t     H5Oopen(hid_t loc_id, char *name, hid_t lapl_id)
+  hid_t     H5Oopen_by_addr(hid_t loc_id, haddr_t addr)
+  hid_t     H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id)
 
-  herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id)
-  herr_t H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id)
+  herr_t    H5Oget_info(hid_t loc_id, H5O_info_t *oinfo)
+  herr_t    H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id)
+  herr_t    H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id)
 
-  herr_t H5Oincr_refcount(hid_t object_id)
-  herr_t H5Odecr_refcount(hid_t object_id)
+  herr_t    H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id)
+  herr_t    H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id)
 
-  herr_t H5Oset_comment(hid_t obj_id, char *comment)
-  herr_t H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id)
-  ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize)
-  ssize_t H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id)
+  herr_t    H5Oincr_refcount(hid_t object_id)
+  herr_t    H5Odecr_refcount(hid_t object_id)
 
-  herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data)
-  herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id)
+  herr_t    H5Oset_comment(hid_t obj_id, char *comment)
+  herr_t    H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id)
+  ssize_t   H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize)
+  ssize_t   H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id)
 
-  herr_t H5Oclose(hid_t object_id)
-
-# === H5P - Property list API =================================================
+  herr_t    H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data)
+  herr_t    H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id)
 
+  herr_t    H5Oclose(hid_t object_id)
 
+  # Version-limited functions
+  1.8.5 htri_t H5Oexists_by_name(hid_t loc_id, char * name, hid_t lapl_id )
 
 
+  # === H5P - Property list API ===============================================
 
   # General operations
-  hid_t  H5Pcreate(hid_t plist_id)
-  hid_t  H5Pcopy(hid_t plist_id)
-  int    H5Pget_class(hid_t plist_id)
-  herr_t H5Pclose(hid_t plist_id)
-  htri_t H5Pequal( hid_t id1, hid_t id2 )
-  herr_t H5Pclose_class(hid_t id)
-
-  # File creation properties
-  herr_t H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr)
-  herr_t H5Pset_userblock(hid_t plist, hsize_t size)
-  herr_t H5Pget_userblock(hid_t plist, hsize_t * size)
-  herr_t H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size)
-  herr_t H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size)
-  herr_t H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk)
-  herr_t H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk)
-  herr_t H5Pset_istore_k(hid_t plist, unsigned int ik)
-  herr_t H5Pget_istore_k(hid_t plist, unsigned int *ik)
+  hid_t     H5Pcreate(hid_t plist_id)
+  hid_t     H5Pcopy(hid_t plist_id)
+  int       H5Pget_class(hid_t plist_id)
+  herr_t    H5Pclose(hid_t plist_id)
+  htri_t    H5Pequal( hid_t id1, hid_t id2 )
+  herr_t    H5Pclose_class(hid_t id)
+
+  # File creation
+  herr_t    H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr)
+  herr_t    H5Pset_userblock(hid_t plist, hsize_t size)
+  herr_t    H5Pget_userblock(hid_t plist, hsize_t * size)
+  herr_t    H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size)
+  herr_t    H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size)
+  herr_t    H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk)
+  herr_t    H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk)
+  herr_t    H5Pset_istore_k(hid_t plist, unsigned int ik)
+  herr_t    H5Pget_istore_k(hid_t plist, unsigned int *ik)
 
   # File access
   herr_t    H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t fc_degree)
@@ -231,18 +263,15 @@ hdf5:
   herr_t    H5Pget_family_offset ( hid_t fapl_id, hsize_t *offset)
   herr_t    H5Pset_fapl_log(hid_t fapl_id, char *logfile, unsigned int flags, size_t buf_size)
   herr_t    H5Pset_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map, hid_t *memb_fapl, char **memb_name, haddr_t *memb_addr, hbool_t relax)
-  herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0)
-  herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0)
-  herr_t H5Pset_fapl_sec2(hid_t fapl_id)
-  herr_t H5Pset_fapl_stdio(hid_t fapl_id)
-  hid_t  H5Pget_driver(hid_t fapl_id)
-
-
-  herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr)
-  herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr)
-
-
-  # Dataset creation properties
+  herr_t    H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0)
+  herr_t    H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0)
+  herr_t    H5Pset_fapl_sec2(hid_t fapl_id)
+  herr_t    H5Pset_fapl_stdio(hid_t fapl_id)
+  hid_t     H5Pget_driver(hid_t fapl_id)
+  herr_t    H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr)
+  herr_t    H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr)
+
+  # Dataset creation
   herr_t        H5Pset_layout(hid_t plist, int layout)
   H5D_layout_t  H5Pget_layout(hid_t plist)
   herr_t        H5Pset_chunk(hid_t plist, int ndims, hsize_t * dim)
@@ -267,68 +296,64 @@ hdf5:
   herr_t        H5Pset_szip(hid_t plist, unsigned int options_mask, unsigned int pixels_per_block)
   herr_t        H5Pset_scaleoffset(hid_t plist, H5Z_SO_scale_type_t scale_type, int scale_factor)
 
-  # Dataset Acces, Memory, and Tranfer Properties
+  # Dataset access
   herr_t    H5Pset_edc_check(hid_t plist, H5Z_EDC_t check)
   H5Z_EDC_t H5Pget_edc_check(hid_t plist)
   herr_t    H5Pset_chunk_cache( hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0 )
   herr_t    H5Pget_chunk_cache( hid_t dapl_id, size_t *rdcc_nslots, size_t *rdcc_nbytes, double *rdcc_w0 )
 
   # Other properties
-  herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size)
-  herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size)
-
-  # New in 1.8
-
-
-  herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks)
-  herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks)
-  herr_t H5Pset_elink_prefix(hid_t plist_id, char *prefix)
-  ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size)
-  hid_t  H5Pget_elink_fapl(hid_t lapl_id)
-  herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id)
-
-  herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd)
-  herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd)
+  herr_t    H5Pset_sieve_buf_size(hid_t fapl_id, size_t size)
+  herr_t    H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size)
 
-  herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd)
-  herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd)
+  herr_t    H5Pset_nlinks(hid_t plist_id, size_t nlinks)
+  herr_t    H5Pget_nlinks(hid_t plist_id, size_t *nlinks)
+  herr_t    H5Pset_elink_prefix(hid_t plist_id, char *prefix)
+  ssize_t   H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size)
+  hid_t     H5Pget_elink_fapl(hid_t lapl_id)
+  herr_t    H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id)
 
-  herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding)
-  herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding)
+  herr_t    H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd)
+  herr_t    H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd)
 
-  herr_t H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times )
-  herr_t H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times )
+  herr_t    H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd)
+  herr_t    H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd)
 
-  herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint)
-  herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint)
-  herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense)
-  herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense)
-  herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len)
-  herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len)
-  herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags)
-  herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags)
+  herr_t    H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding)
+  herr_t    H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding)
 
-  herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high)
-  herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high)
+  herr_t    H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times )
+  herr_t    H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times )
 
+  herr_t    H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint)
+  herr_t    H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint)
+  herr_t    H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense)
+  herr_t    H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense)
+  herr_t    H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len)
+  herr_t    H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len)
+  herr_t    H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags)
+  herr_t    H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags)
 
+  herr_t    H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high)
+  herr_t    H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high)
 
+  herr_t    H5Pset_alignment(hid_t plist_id, hsize_t threshold, hsize_t alignment)
+  herr_t    H5Pget_alignment(hid_t plist_id, hsize_t *threshold, hsize_t *alignment)
 
-# === H5R - Reference API =====================================================
-
+  # MPI functions  
+  MPI herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info)
+  MPI herr_t H5Pget_fapl_mpio(hid_t fapl_id, MPI_Comm *comm, MPI_Info *info)
 
+  # === H5R - Reference API ===================================================
 
   herr_t    H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id)
   hid_t     H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref)
   hid_t     H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref)
   H5G_obj_t H5Rget_obj_type(hid_t id, H5R_type_t ref_type, void *ref)
+  ssize_t   H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size)
 
 
-  ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size)
-
-# === H5S - Dataspaces ========================================================
-
-
+  # === H5S - Dataspaces ========================================================
 
   # Basic operations
   hid_t     H5Screate(H5S_class_t type)
@@ -365,22 +390,14 @@ hdf5:
 
   hssize_t  H5Sget_select_hyper_nblocks(hid_t space_id )
   herr_t    H5Sget_select_hyper_blocklist(hid_t space_id,  hsize_t startblock, hsize_t numblocks, hsize_t *buf )
-  herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block)
-
-
-  herr_t  H5Sencode(hid_t obj_id, void *buf, size_t *nalloc)
-  hid_t   H5Sdecode(void *buf)
-
-
-# === H5T - Datatypes =========================================================
+  herr_t    H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block)
 
 
+  herr_t    H5Sencode(hid_t obj_id, void *buf, size_t *nalloc)
+  hid_t     H5Sdecode(void *buf)
 
-  #hid_t H5P_DEFAULT
 
-
-
-  # --- Datatype operations ---------------------------------------------------
+  # === H5T - Datatypes =========================================================
 
   # General operations
   hid_t         H5Tcreate(H5T_class_t type, size_t size)
@@ -395,11 +412,16 @@ hdf5:
   hid_t         H5Tget_super(hid_t type)
   htri_t        H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class)
   herr_t        H5Tclose(hid_t type_id)
-
   hid_t         H5Tget_native_type(hid_t type_id, H5T_direction_t direction)
+  herr_t        H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id)
 
-  # Not for public API
+  hid_t         H5Tdecode(unsigned char *buf)
+  herr_t        H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc)
+
+  H5T_conv_t    H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata)
   herr_t        H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id)
+  herr_t        H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func)
+  herr_t        H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func)
 
   # Atomic datatypes
   herr_t        H5Tset_size(hid_t type_id, size_t size)
@@ -434,8 +456,8 @@ hdf5:
   herr_t        H5Tset_strpad(hid_t type_id, H5T_str_t strpad)
 
   # VLENs
-  hid_t     H5Tvlen_create(hid_t base_type_id)
-  htri_t    H5Tis_variable_str(hid_t dtype_id)
+  hid_t         H5Tvlen_create(hid_t base_type_id)
+  htri_t        H5Tis_variable_str(hid_t dtype_id)
 
   # Compound data types
   int           H5Tget_nmembers(hid_t type_id)
@@ -448,111 +470,41 @@ hdf5:
   herr_t        H5Tpack(hid_t type_id)
 
   # Enumerated types
-  hid_t     H5Tenum_create(hid_t base_id)
-  herr_t    H5Tenum_insert(hid_t type, char *name, void *value)
-  herr_t    H5Tenum_nameof( hid_t type, void *value, char *name, size_t size )
-  herr_t    H5Tenum_valueof( hid_t type, char *name, void *value )
-  herr_t    H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value )
+  hid_t         H5Tenum_create(hid_t base_id)
+  herr_t        H5Tenum_insert(hid_t type, char *name, void *value)
+  herr_t        H5Tenum_nameof( hid_t type, void *value, char *name, size_t size )
+  herr_t        H5Tenum_valueof( hid_t type, char *name, void *value )
+  herr_t        H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value )
 
   # Array data types
-  hid_t H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm)
-  int   H5Tget_array_ndims(hid_t type_id)
-  int   H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm)
+  hid_t         H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm)
+  int           H5Tget_array_ndims(hid_t type_id)
+  int           H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm)
 
   # Opaque data types
   herr_t    H5Tset_tag(hid_t type_id, char* tag)
   char*     H5Tget_tag(hid_t type_id)
 
-  # 1.8-specific functions
-
-  hid_t H5Tdecode(unsigned char *buf)
-  herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc)
-
-  herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id)
-
-  H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata)
-
-  herr_t    H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func)
-  herr_t    H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func)
-
 
+  # === H5Z - Filters =========================================================
 
-# === H5Z - Filters ===========================================================
+  htri_t    H5Zfilter_avail(H5Z_filter_t id_)
+  herr_t    H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags)
 
 
-
-
-    htri_t H5Zfilter_avail(H5Z_filter_t id_)
-    herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags)
-
-
-# === H5A - Attributes API ====================================================
-
-
-
-  hid_t     H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist)
-  hid_t     H5Aopen_idx(hid_t loc_id, unsigned int idx)
-  hid_t     H5Aopen_name(hid_t loc_id, char *name)
-  herr_t    H5Aclose(hid_t attr_id)
-  herr_t    H5Adelete(hid_t loc_id, char *name)
-
-  herr_t    H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf)
-  herr_t    H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf )
-
-  int       H5Aget_num_attrs(hid_t loc_id)
-  ssize_t   H5Aget_name(hid_t attr_id, size_t buf_size, char *buf)
-  hid_t     H5Aget_space(hid_t attr_id)
-  hid_t     H5Aget_type(hid_t attr_id)
-  herr_t    H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data)
-
-
-
-  herr_t  H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id)
-  herr_t  H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id)
-
-  hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id)
-
-  herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id)
-  herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id)
-  herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id)
-  htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id)
-  htri_t H5Aexists(hid_t obj_id, char *attr_name)
-
-  herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name)
-  herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id)
-
-  herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo)
-  herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id)
-  herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id)
-
-  herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data)
-
-  hsize_t H5Aget_storage_size(hid_t attr_id)
-
-  MPI herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info)
-  MPI herr_t H5Pset_fapl_mpiposix(hid_t fapl_id, MPI_Comm comm, hbool_t hints)
-  MPI 1.8.9 herr_t H5Fset_mpi_atomicity(hid_t file_id, hbool_t flag)
-  MPI 1.8.9 herr_t H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag)
-
 hdf5_hl:
-# === H5DS - Dimension Scales API =============================================
-
-  herr_t  H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx)
-
-  herr_t  H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx)
-
-  herr_t  H5DSset_scale(hid_t dsid, char *dimname)
-
-  int H5DSget_num_scales(hid_t did, unsigned int dim)
-
-  herr_t  H5DSset_label(hid_t did, unsigned int idx, char *label)
-
-  ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size)
-
-  ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size)
 
-  htri_t H5DSis_scale(hid_t did)
+  # === H5DS - Dimension Scales API =============================================
 
-  herr_t  H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data)
+  ERROR herr_t  H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx)
+  ERROR herr_t  H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx)
+  ERROR htri_t  H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx)
+  ERROR herr_t  H5DSset_scale(hid_t dsid, char *dimname)
+  ERROR int     H5DSget_num_scales(hid_t did, unsigned int dim)
 
-  htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx)
+  ERROR herr_t  H5DSset_label(hid_t did, unsigned int idx, char *label)
+  ERROR ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size)
+  
+  ERROR ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size)
+  ERROR htri_t  H5DSis_scale(hid_t did)
+  ERROR herr_t  H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data)
diff --git a/h5py/config.pxi b/h5py/config.pxi
deleted file mode 100644
index 5a9aca3..0000000
--- a/h5py/config.pxi
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file is automatically generated by the h5py setup script.  Don't modify.
-
-DEF MPI = False
-DEF HDF5_VERSION = (1, 9, 170)
diff --git a/h5py/defs.c b/h5py/defs.c
deleted file mode 100644
index 109ed85..0000000
--- a/h5py/defs.c
+++ /dev/null
@@ -1,81484 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__defs
-#define __PYX_HAVE_API__h5py__defs
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "stdio.h"
-#include "pythread.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "_locks.pxi",
-  "defs.pyx",
-  "type.pxd",
-  "bool.pxd",
-  "complex.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_4defs_FastRLock;
-struct __pyx_t_4h5py_7_errors_err_cookie;
-typedef struct __pyx_t_4h5py_7_errors_err_cookie __pyx_t_4h5py_7_errors_err_cookie;
-
-/* "_errors.pxd":230
- * # --- Functions for managing the HDF5 error callback mechanism ---
- * 
- * ctypedef struct err_cookie:             # <<<<<<<<<<<<<<
- *     # Defines the error handler state (callback and callback data)
- *     H5E_auto_t func
- */
-struct __pyx_t_4h5py_7_errors_err_cookie {
-  H5E_auto_t func;
-  void *data;
-};
-
-/* "/home/computer/h5py/h5py/_locks.pxi":5
- * from cpython.exc cimport PyErr_NoMemory
- * 
- * cdef class FastRLock:             # <<<<<<<<<<<<<<
- *     """Fast, re-entrant locking.
- * 
- */
-struct __pyx_obj_4h5py_4defs_FastRLock {
-  PyObject_HEAD
-  PyThread_type_lock _real_lock;
-  long _owner;
-  int _count;
-  int _pending_requests;
-  int _is_locked;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-#ifndef __PYX_FORCE_INIT_THREADS
-  #define __PYX_FORCE_INIT_THREADS 0
-#endif
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py._hdf5' */
-
-/* Module declarations from 'h5py._errors' */
-static int (*__pyx_f_4h5py_7_errors_set_exception)(void); /*proto*/
-
-/* Module declarations from 'cpython.version' */
-
-/* Module declarations from 'cpython.ref' */
-
-/* Module declarations from 'cpython.exc' */
-
-/* Module declarations from 'cpython.module' */
-
-/* Module declarations from 'cpython.mem' */
-
-/* Module declarations from 'cpython.tuple' */
-
-/* Module declarations from 'cpython.list' */
-
-/* Module declarations from 'libc.string' */
-
-/* Module declarations from 'libc.stdio' */
-
-/* Module declarations from 'cpython.object' */
-
-/* Module declarations from 'cpython.sequence' */
-
-/* Module declarations from 'cpython.mapping' */
-
-/* Module declarations from 'cpython.iterator' */
-
-/* Module declarations from '__builtin__' */
-
-/* Module declarations from 'cpython.type' */
-static PyTypeObject *__pyx_ptype_7cpython_4type_type = 0;
-
-/* Module declarations from 'cpython.number' */
-
-/* Module declarations from 'cpython.int' */
-
-/* Module declarations from '__builtin__' */
-
-/* Module declarations from 'cpython.bool' */
-static PyTypeObject *__pyx_ptype_7cpython_4bool_bool = 0;
-
-/* Module declarations from 'cpython.long' */
-
-/* Module declarations from 'cpython.float' */
-
-/* Module declarations from '__builtin__' */
-
-/* Module declarations from 'cpython.complex' */
-static PyTypeObject *__pyx_ptype_7cpython_7complex_complex = 0;
-
-/* Module declarations from 'cpython.string' */
-
-/* Module declarations from 'cpython.unicode' */
-
-/* Module declarations from 'cpython.dict' */
-
-/* Module declarations from 'cpython.instance' */
-
-/* Module declarations from 'cpython.function' */
-
-/* Module declarations from 'cpython.method' */
-
-/* Module declarations from 'cpython.weakref' */
-
-/* Module declarations from 'cpython.getargs' */
-
-/* Module declarations from 'cpython.pythread' */
-
-/* Module declarations from 'cpython.pystate' */
-
-/* Module declarations from 'cpython.cobject' */
-
-/* Module declarations from 'cpython.oldbuffer' */
-
-/* Module declarations from 'cpython.set' */
-
-/* Module declarations from 'cpython.buffer' */
-
-/* Module declarations from 'cpython.bytes' */
-
-/* Module declarations from 'cpython.pycapsule' */
-
-/* Module declarations from 'cpython' */
-
-/* Module declarations from 'h5py.defs' */
-static PyTypeObject *__pyx_ptype_4h5py_4defs_FastRLock = 0;
-static CYTHON_INLINE int __pyx_f_4h5py_4defs_lock_lock(struct __pyx_obj_4h5py_4defs_FastRLock *, long, int); /*proto*/
-static int __pyx_f_4h5py_4defs__acquire_lock(struct __pyx_obj_4h5py_4defs_FastRLock *, long, int); /*proto*/
-static CYTHON_INLINE void __pyx_f_4h5py_4defs_unlock_lock(struct __pyx_obj_4h5py_4defs_FastRLock *); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.defs"
-int __pyx_module_is_main_h5py__defs = 0;
-
-/* Implementation of 'h5py.defs' */
-static PyObject *__pyx_builtin_RuntimeError;
-static int __pyx_pf_4h5py_4defs_9FastRLock___cinit__(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self); /* proto */
-static void __pyx_pf_4h5py_4defs_9FastRLock_2__dealloc__(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_4acquire(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self, int __pyx_v_blocking); /* proto */
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_6release(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_8__enter__(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_10__exit__(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_v, CYTHON_UNUSED PyObject *__pyx_v_tb); /* proto */
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_12_is_owned(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self); /* proto */
-static char __pyx_k_1[] = "cannot release un-acquired lock";
-static char __pyx_k__t[] = "t";
-static char __pyx_k__v[] = "v";
-static char __pyx_k__tb[] = "tb";
-static char __pyx_k__rlock[] = "rlock";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__blocking[] = "blocking";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__RuntimeError[] = "RuntimeError";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_n_s__RuntimeError;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s__blocking;
-static PyObject *__pyx_n_s__rlock;
-static PyObject *__pyx_n_s__t;
-static PyObject *__pyx_n_s__tb;
-static PyObject *__pyx_n_s__v;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_3;
-static PyObject *__pyx_k_tuple_4;
-static PyObject *__pyx_k_tuple_5;
-static PyObject *__pyx_k_tuple_6;
-static PyObject *__pyx_k_tuple_7;
-static PyObject *__pyx_k_tuple_8;
-static PyObject *__pyx_k_tuple_9;
-static PyObject *__pyx_k_tuple_10;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_tuple_12;
-static PyObject *__pyx_k_tuple_13;
-static PyObject *__pyx_k_tuple_14;
-static PyObject *__pyx_k_tuple_15;
-static PyObject *__pyx_k_tuple_16;
-static PyObject *__pyx_k_tuple_17;
-static PyObject *__pyx_k_tuple_18;
-static PyObject *__pyx_k_tuple_19;
-static PyObject *__pyx_k_tuple_20;
-static PyObject *__pyx_k_tuple_21;
-static PyObject *__pyx_k_tuple_22;
-static PyObject *__pyx_k_tuple_23;
-static PyObject *__pyx_k_tuple_24;
-static PyObject *__pyx_k_tuple_25;
-static PyObject *__pyx_k_tuple_26;
-static PyObject *__pyx_k_tuple_27;
-static PyObject *__pyx_k_tuple_28;
-static PyObject *__pyx_k_tuple_29;
-static PyObject *__pyx_k_tuple_30;
-static PyObject *__pyx_k_tuple_31;
-static PyObject *__pyx_k_tuple_32;
-static PyObject *__pyx_k_tuple_33;
-static PyObject *__pyx_k_tuple_34;
-static PyObject *__pyx_k_tuple_35;
-static PyObject *__pyx_k_tuple_36;
-static PyObject *__pyx_k_tuple_37;
-static PyObject *__pyx_k_tuple_38;
-static PyObject *__pyx_k_tuple_39;
-static PyObject *__pyx_k_tuple_40;
-static PyObject *__pyx_k_tuple_41;
-static PyObject *__pyx_k_tuple_42;
-static PyObject *__pyx_k_tuple_43;
-static PyObject *__pyx_k_tuple_44;
-static PyObject *__pyx_k_tuple_45;
-static PyObject *__pyx_k_tuple_46;
-static PyObject *__pyx_k_tuple_47;
-static PyObject *__pyx_k_tuple_48;
-static PyObject *__pyx_k_tuple_49;
-static PyObject *__pyx_k_tuple_50;
-static PyObject *__pyx_k_tuple_51;
-static PyObject *__pyx_k_tuple_52;
-static PyObject *__pyx_k_tuple_53;
-static PyObject *__pyx_k_tuple_54;
-static PyObject *__pyx_k_tuple_55;
-static PyObject *__pyx_k_tuple_56;
-static PyObject *__pyx_k_tuple_57;
-static PyObject *__pyx_k_tuple_58;
-static PyObject *__pyx_k_tuple_59;
-static PyObject *__pyx_k_tuple_60;
-static PyObject *__pyx_k_tuple_61;
-static PyObject *__pyx_k_tuple_62;
-static PyObject *__pyx_k_tuple_63;
-static PyObject *__pyx_k_tuple_64;
-static PyObject *__pyx_k_tuple_65;
-static PyObject *__pyx_k_tuple_66;
-static PyObject *__pyx_k_tuple_67;
-static PyObject *__pyx_k_tuple_68;
-static PyObject *__pyx_k_tuple_69;
-static PyObject *__pyx_k_tuple_70;
-static PyObject *__pyx_k_tuple_71;
-static PyObject *__pyx_k_tuple_72;
-static PyObject *__pyx_k_tuple_73;
-static PyObject *__pyx_k_tuple_74;
-static PyObject *__pyx_k_tuple_75;
-static PyObject *__pyx_k_tuple_76;
-static PyObject *__pyx_k_tuple_77;
-static PyObject *__pyx_k_tuple_78;
-static PyObject *__pyx_k_tuple_79;
-static PyObject *__pyx_k_tuple_80;
-static PyObject *__pyx_k_tuple_81;
-static PyObject *__pyx_k_tuple_82;
-static PyObject *__pyx_k_tuple_83;
-static PyObject *__pyx_k_tuple_84;
-static PyObject *__pyx_k_tuple_85;
-static PyObject *__pyx_k_tuple_86;
-static PyObject *__pyx_k_tuple_87;
-static PyObject *__pyx_k_tuple_88;
-static PyObject *__pyx_k_tuple_89;
-static PyObject *__pyx_k_tuple_90;
-static PyObject *__pyx_k_tuple_91;
-static PyObject *__pyx_k_tuple_92;
-static PyObject *__pyx_k_tuple_93;
-static PyObject *__pyx_k_tuple_94;
-static PyObject *__pyx_k_tuple_95;
-static PyObject *__pyx_k_tuple_96;
-static PyObject *__pyx_k_tuple_97;
-static PyObject *__pyx_k_tuple_98;
-static PyObject *__pyx_k_tuple_99;
-static PyObject *__pyx_k_tuple_100;
-static PyObject *__pyx_k_tuple_101;
-static PyObject *__pyx_k_tuple_102;
-static PyObject *__pyx_k_tuple_103;
-static PyObject *__pyx_k_tuple_104;
-static PyObject *__pyx_k_tuple_105;
-static PyObject *__pyx_k_tuple_106;
-static PyObject *__pyx_k_tuple_107;
-static PyObject *__pyx_k_tuple_108;
-static PyObject *__pyx_k_tuple_109;
-static PyObject *__pyx_k_tuple_110;
-static PyObject *__pyx_k_tuple_111;
-static PyObject *__pyx_k_tuple_112;
-static PyObject *__pyx_k_tuple_113;
-static PyObject *__pyx_k_tuple_114;
-static PyObject *__pyx_k_tuple_115;
-static PyObject *__pyx_k_tuple_116;
-static PyObject *__pyx_k_tuple_117;
-static PyObject *__pyx_k_tuple_118;
-static PyObject *__pyx_k_tuple_119;
-static PyObject *__pyx_k_tuple_120;
-static PyObject *__pyx_k_tuple_121;
-static PyObject *__pyx_k_tuple_122;
-static PyObject *__pyx_k_tuple_123;
-static PyObject *__pyx_k_tuple_124;
-static PyObject *__pyx_k_tuple_125;
-static PyObject *__pyx_k_tuple_126;
-static PyObject *__pyx_k_tuple_127;
-static PyObject *__pyx_k_tuple_128;
-static PyObject *__pyx_k_tuple_129;
-static PyObject *__pyx_k_tuple_130;
-static PyObject *__pyx_k_tuple_131;
-static PyObject *__pyx_k_tuple_132;
-static PyObject *__pyx_k_tuple_133;
-static PyObject *__pyx_k_tuple_134;
-static PyObject *__pyx_k_tuple_135;
-static PyObject *__pyx_k_tuple_136;
-static PyObject *__pyx_k_tuple_137;
-static PyObject *__pyx_k_tuple_138;
-static PyObject *__pyx_k_tuple_139;
-static PyObject *__pyx_k_tuple_140;
-static PyObject *__pyx_k_tuple_141;
-static PyObject *__pyx_k_tuple_142;
-static PyObject *__pyx_k_tuple_143;
-static PyObject *__pyx_k_tuple_144;
-static PyObject *__pyx_k_tuple_145;
-static PyObject *__pyx_k_tuple_146;
-static PyObject *__pyx_k_tuple_147;
-static PyObject *__pyx_k_tuple_148;
-static PyObject *__pyx_k_tuple_149;
-static PyObject *__pyx_k_tuple_150;
-static PyObject *__pyx_k_tuple_151;
-static PyObject *__pyx_k_tuple_152;
-static PyObject *__pyx_k_tuple_153;
-static PyObject *__pyx_k_tuple_154;
-static PyObject *__pyx_k_tuple_155;
-static PyObject *__pyx_k_tuple_156;
-static PyObject *__pyx_k_tuple_157;
-static PyObject *__pyx_k_tuple_158;
-static PyObject *__pyx_k_tuple_159;
-static PyObject *__pyx_k_tuple_160;
-static PyObject *__pyx_k_tuple_161;
-static PyObject *__pyx_k_tuple_162;
-static PyObject *__pyx_k_tuple_163;
-static PyObject *__pyx_k_tuple_164;
-static PyObject *__pyx_k_tuple_165;
-static PyObject *__pyx_k_tuple_166;
-static PyObject *__pyx_k_tuple_167;
-static PyObject *__pyx_k_tuple_168;
-static PyObject *__pyx_k_tuple_169;
-static PyObject *__pyx_k_tuple_170;
-static PyObject *__pyx_k_tuple_171;
-static PyObject *__pyx_k_tuple_172;
-static PyObject *__pyx_k_tuple_173;
-static PyObject *__pyx_k_tuple_174;
-static PyObject *__pyx_k_tuple_175;
-static PyObject *__pyx_k_tuple_176;
-static PyObject *__pyx_k_tuple_177;
-static PyObject *__pyx_k_tuple_178;
-static PyObject *__pyx_k_tuple_179;
-static PyObject *__pyx_k_tuple_180;
-static PyObject *__pyx_k_tuple_181;
-static PyObject *__pyx_k_tuple_182;
-static PyObject *__pyx_k_tuple_183;
-static PyObject *__pyx_k_tuple_184;
-static PyObject *__pyx_k_tuple_185;
-static PyObject *__pyx_k_tuple_186;
-static PyObject *__pyx_k_tuple_187;
-static PyObject *__pyx_k_tuple_188;
-static PyObject *__pyx_k_tuple_189;
-static PyObject *__pyx_k_tuple_190;
-static PyObject *__pyx_k_tuple_191;
-static PyObject *__pyx_k_tuple_192;
-static PyObject *__pyx_k_tuple_193;
-static PyObject *__pyx_k_tuple_194;
-static PyObject *__pyx_k_tuple_195;
-static PyObject *__pyx_k_tuple_196;
-static PyObject *__pyx_k_tuple_197;
-static PyObject *__pyx_k_tuple_198;
-static PyObject *__pyx_k_tuple_199;
-static PyObject *__pyx_k_tuple_200;
-static PyObject *__pyx_k_tuple_201;
-static PyObject *__pyx_k_tuple_202;
-static PyObject *__pyx_k_tuple_203;
-static PyObject *__pyx_k_tuple_204;
-static PyObject *__pyx_k_tuple_205;
-static PyObject *__pyx_k_tuple_206;
-static PyObject *__pyx_k_tuple_207;
-static PyObject *__pyx_k_tuple_208;
-static PyObject *__pyx_k_tuple_209;
-static PyObject *__pyx_k_tuple_210;
-static PyObject *__pyx_k_tuple_211;
-static PyObject *__pyx_k_tuple_212;
-static PyObject *__pyx_k_tuple_213;
-static PyObject *__pyx_k_tuple_214;
-static PyObject *__pyx_k_tuple_215;
-static PyObject *__pyx_k_tuple_216;
-static PyObject *__pyx_k_tuple_217;
-static PyObject *__pyx_k_tuple_218;
-static PyObject *__pyx_k_tuple_219;
-static PyObject *__pyx_k_tuple_220;
-static PyObject *__pyx_k_tuple_221;
-static PyObject *__pyx_k_tuple_222;
-static PyObject *__pyx_k_tuple_223;
-static PyObject *__pyx_k_tuple_224;
-static PyObject *__pyx_k_tuple_225;
-static PyObject *__pyx_k_tuple_226;
-static PyObject *__pyx_k_tuple_227;
-static PyObject *__pyx_k_tuple_228;
-static PyObject *__pyx_k_tuple_229;
-static PyObject *__pyx_k_tuple_230;
-static PyObject *__pyx_k_tuple_231;
-static PyObject *__pyx_k_tuple_232;
-static PyObject *__pyx_k_tuple_233;
-static PyObject *__pyx_k_tuple_234;
-static PyObject *__pyx_k_tuple_235;
-static PyObject *__pyx_k_tuple_236;
-static PyObject *__pyx_k_tuple_237;
-static PyObject *__pyx_k_tuple_238;
-static PyObject *__pyx_k_tuple_239;
-static PyObject *__pyx_k_tuple_240;
-static PyObject *__pyx_k_tuple_241;
-static PyObject *__pyx_k_tuple_242;
-static PyObject *__pyx_k_tuple_243;
-static PyObject *__pyx_k_tuple_244;
-static PyObject *__pyx_k_tuple_245;
-static PyObject *__pyx_k_tuple_246;
-static PyObject *__pyx_k_tuple_247;
-static PyObject *__pyx_k_tuple_248;
-static PyObject *__pyx_k_tuple_249;
-static PyObject *__pyx_k_tuple_250;
-static PyObject *__pyx_k_tuple_251;
-static PyObject *__pyx_k_tuple_252;
-static PyObject *__pyx_k_tuple_253;
-static PyObject *__pyx_k_tuple_254;
-static PyObject *__pyx_k_tuple_255;
-static PyObject *__pyx_k_tuple_256;
-static PyObject *__pyx_k_tuple_257;
-static PyObject *__pyx_k_tuple_258;
-static PyObject *__pyx_k_tuple_259;
-static PyObject *__pyx_k_tuple_260;
-static PyObject *__pyx_k_tuple_261;
-static PyObject *__pyx_k_tuple_262;
-static PyObject *__pyx_k_tuple_263;
-static PyObject *__pyx_k_tuple_264;
-static PyObject *__pyx_k_tuple_265;
-static PyObject *__pyx_k_tuple_266;
-static PyObject *__pyx_k_tuple_267;
-static PyObject *__pyx_k_tuple_268;
-static PyObject *__pyx_k_tuple_269;
-static PyObject *__pyx_k_tuple_270;
-static PyObject *__pyx_k_tuple_271;
-static PyObject *__pyx_k_tuple_272;
-static PyObject *__pyx_k_tuple_273;
-static PyObject *__pyx_k_tuple_274;
-static PyObject *__pyx_k_tuple_275;
-static PyObject *__pyx_k_tuple_276;
-static PyObject *__pyx_k_tuple_277;
-static PyObject *__pyx_k_tuple_278;
-static PyObject *__pyx_k_tuple_279;
-static PyObject *__pyx_k_tuple_280;
-static PyObject *__pyx_k_tuple_281;
-static PyObject *__pyx_k_tuple_282;
-static PyObject *__pyx_k_tuple_283;
-static PyObject *__pyx_k_tuple_284;
-static PyObject *__pyx_k_tuple_285;
-static PyObject *__pyx_k_tuple_286;
-static PyObject *__pyx_k_tuple_287;
-static PyObject *__pyx_k_tuple_288;
-static PyObject *__pyx_k_tuple_289;
-static PyObject *__pyx_k_tuple_290;
-static PyObject *__pyx_k_tuple_291;
-static PyObject *__pyx_k_tuple_292;
-static PyObject *__pyx_k_tuple_293;
-static PyObject *__pyx_k_tuple_294;
-static PyObject *__pyx_k_tuple_295;
-static PyObject *__pyx_k_tuple_296;
-static PyObject *__pyx_k_tuple_297;
-static PyObject *__pyx_k_tuple_298;
-static PyObject *__pyx_k_tuple_299;
-static PyObject *__pyx_k_tuple_300;
-static PyObject *__pyx_k_tuple_301;
-static PyObject *__pyx_k_tuple_302;
-static PyObject *__pyx_k_tuple_303;
-static PyObject *__pyx_k_tuple_304;
-static PyObject *__pyx_k_tuple_305;
-static PyObject *__pyx_k_tuple_306;
-static PyObject *__pyx_k_tuple_307;
-static PyObject *__pyx_k_tuple_308;
-static PyObject *__pyx_k_tuple_309;
-static PyObject *__pyx_k_tuple_310;
-static PyObject *__pyx_k_tuple_311;
-static PyObject *__pyx_k_tuple_312;
-static PyObject *__pyx_k_tuple_313;
-static PyObject *__pyx_k_tuple_314;
-static PyObject *__pyx_k_tuple_315;
-static PyObject *__pyx_k_tuple_316;
-static PyObject *__pyx_k_tuple_317;
-static PyObject *__pyx_k_tuple_318;
-static PyObject *__pyx_k_tuple_319;
-static PyObject *__pyx_k_tuple_320;
-static PyObject *__pyx_k_tuple_321;
-static PyObject *__pyx_k_tuple_322;
-static PyObject *__pyx_k_tuple_323;
-static PyObject *__pyx_k_tuple_324;
-static PyObject *__pyx_k_tuple_325;
-static PyObject *__pyx_k_tuple_326;
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4defs_9FastRLock_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_4defs_9FastRLock_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
-  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
-  __pyx_r = __pyx_pf_4h5py_4defs_9FastRLock___cinit__(((struct __pyx_obj_4h5py_4defs_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":20
- *     cdef bint _is_locked        # whether the real lock is acquired
- * 
- *     def __cinit__(self):             # <<<<<<<<<<<<<<
- *         self._owner = -1
- *         self._count = 0
- */
-
-static int __pyx_pf_4h5py_4defs_9FastRLock___cinit__(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":21
- * 
- *     def __cinit__(self):
- *         self._owner = -1             # <<<<<<<<<<<<<<
- *         self._count = 0
- *         self._is_locked = False
- */
-  __pyx_v_self->_owner = -1;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":22
- *     def __cinit__(self):
- *         self._owner = -1
- *         self._count = 0             # <<<<<<<<<<<<<<
- *         self._is_locked = False
- *         self._pending_requests = 0
- */
-  __pyx_v_self->_count = 0;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":23
- *         self._owner = -1
- *         self._count = 0
- *         self._is_locked = False             # <<<<<<<<<<<<<<
- *         self._pending_requests = 0
- *         self._real_lock = pythread.PyThread_allocate_lock()
- */
-  __pyx_v_self->_is_locked = 0;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":24
- *         self._count = 0
- *         self._is_locked = False
- *         self._pending_requests = 0             # <<<<<<<<<<<<<<
- *         self._real_lock = pythread.PyThread_allocate_lock()
- *         if self._real_lock is NULL:
- */
-  __pyx_v_self->_pending_requests = 0;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":25
- *         self._is_locked = False
- *         self._pending_requests = 0
- *         self._real_lock = pythread.PyThread_allocate_lock()             # <<<<<<<<<<<<<<
- *         if self._real_lock is NULL:
- *             PyErr_NoMemory()
- */
-  __pyx_v_self->_real_lock = PyThread_allocate_lock();
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":26
- *         self._pending_requests = 0
- *         self._real_lock = pythread.PyThread_allocate_lock()
- *         if self._real_lock is NULL:             # <<<<<<<<<<<<<<
- *             PyErr_NoMemory()
- * 
- */
-  __pyx_t_1 = (__pyx_v_self->_real_lock == NULL);
-  if (__pyx_t_1) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":27
- *         self._real_lock = pythread.PyThread_allocate_lock()
- *         if self._real_lock is NULL:
- *             PyErr_NoMemory()             # <<<<<<<<<<<<<<
- * 
- *     def __dealloc__(self):
- */
-    __pyx_t_2 = PyErr_NoMemory(); if (unlikely(__pyx_t_2 == NULL)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.defs.FastRLock.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static void __pyx_pw_4h5py_4defs_9FastRLock_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
-static void __pyx_pw_4h5py_4defs_9FastRLock_3__dealloc__(PyObject *__pyx_v_self) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
-  __pyx_pf_4h5py_4defs_9FastRLock_2__dealloc__(((struct __pyx_obj_4h5py_4defs_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":29
- *             PyErr_NoMemory()
- * 
- *     def __dealloc__(self):             # <<<<<<<<<<<<<<
- *         if self._real_lock is not NULL:
- *             pythread.PyThread_free_lock(self._real_lock)
- */
-
-static void __pyx_pf_4h5py_4defs_9FastRLock_2__dealloc__(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self) {
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  __Pyx_RefNannySetupContext("__dealloc__", 0);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":30
- * 
- *     def __dealloc__(self):
- *         if self._real_lock is not NULL:             # <<<<<<<<<<<<<<
- *             pythread.PyThread_free_lock(self._real_lock)
- *             self._real_lock = NULL
- */
-  __pyx_t_1 = (__pyx_v_self->_real_lock != NULL);
-  if (__pyx_t_1) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":31
- *     def __dealloc__(self):
- *         if self._real_lock is not NULL:
- *             pythread.PyThread_free_lock(self._real_lock)             # <<<<<<<<<<<<<<
- *             self._real_lock = NULL
- * 
- */
-    PyThread_free_lock(__pyx_v_self->_real_lock);
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":32
- *         if self._real_lock is not NULL:
- *             pythread.PyThread_free_lock(self._real_lock)
- *             self._real_lock = NULL             # <<<<<<<<<<<<<<
- * 
- *     def acquire(self, bint blocking=True):
- */
-    __pyx_v_self->_real_lock = NULL;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __Pyx_RefNannyFinishContext();
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_5acquire(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_5acquire(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_v_blocking;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("acquire (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__blocking,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__blocking);
-          if (value) { values[0] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "acquire") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    if (values[0]) {
-      __pyx_v_blocking = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_blocking == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-
-      /* "/home/computer/h5py/h5py/_locks.pxi":34
- *             self._real_lock = NULL
- * 
- *     def acquire(self, bint blocking=True):             # <<<<<<<<<<<<<<
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), blocking)
- * 
- */
-      __pyx_v_blocking = ((int)1);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("acquire", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.defs.FastRLock.acquire", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4defs_9FastRLock_4acquire(((struct __pyx_obj_4h5py_4defs_FastRLock *)__pyx_v_self), __pyx_v_blocking);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_4acquire(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self, int __pyx_v_blocking) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("acquire", 0);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":35
- * 
- *     def acquire(self, bint blocking=True):
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), blocking)             # <<<<<<<<<<<<<<
- * 
- *     def release(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_4h5py_4defs_lock_lock(__pyx_v_self, PyThread_get_thread_ident(), __pyx_v_blocking)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.defs.FastRLock.acquire", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_7release(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_7release(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("release (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4defs_9FastRLock_6release(((struct __pyx_obj_4h5py_4defs_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":37
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), blocking)
- * 
- *     def release(self):             # <<<<<<<<<<<<<<
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")
- */
-
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_6release(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("release", 0);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":38
- * 
- *     def release(self):
- *         if self._owner != pythread.PyThread_get_thread_ident():             # <<<<<<<<<<<<<<
- *             raise RuntimeError("cannot release un-acquired lock")
- *         unlock_lock(self)
- */
-  __pyx_t_1 = (__pyx_v_self->_owner != PyThread_get_thread_ident());
-  if (__pyx_t_1) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":39
- *     def release(self):
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")             # <<<<<<<<<<<<<<
- *         unlock_lock(self)
- * 
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":40
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")
- *         unlock_lock(self)             # <<<<<<<<<<<<<<
- * 
- *     # compatibility with threading.RLock
- */
-  __pyx_f_4h5py_4defs_unlock_lock(__pyx_v_self);
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.defs.FastRLock.release", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_9__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_9__enter__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4defs_9FastRLock_8__enter__(((struct __pyx_obj_4h5py_4defs_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":44
- *     # compatibility with threading.RLock
- * 
- *     def __enter__(self):             # <<<<<<<<<<<<<<
- *         # self.acquire()
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), True)
- */
-
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_8__enter__(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__enter__", 0);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":46
- *     def __enter__(self):
- *         # self.acquire()
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), True)             # <<<<<<<<<<<<<<
- * 
- *     def __exit__(self, t, v, tb):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong(__pyx_f_4h5py_4defs_lock_lock(__pyx_v_self, PyThread_get_thread_ident(), 1)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.defs.FastRLock.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_11__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_11__exit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  CYTHON_UNUSED PyObject *__pyx_v_t = 0;
-  CYTHON_UNUSED PyObject *__pyx_v_v = 0;
-  CYTHON_UNUSED PyObject *__pyx_v_tb = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__t,&__pyx_n_s__v,&__pyx_n_s__tb,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__t)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__v)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tb)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__exit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_t = values[0];
-    __pyx_v_v = values[1];
-    __pyx_v_tb = values[2];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.defs.FastRLock.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4defs_9FastRLock_10__exit__(((struct __pyx_obj_4h5py_4defs_FastRLock *)__pyx_v_self), __pyx_v_t, __pyx_v_v, __pyx_v_tb);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":48
- *         return lock_lock(self, pythread.PyThread_get_thread_ident(), True)
- * 
- *     def __exit__(self, t, v, tb):             # <<<<<<<<<<<<<<
- *         # self.release()
- *         if self._owner != pythread.PyThread_get_thread_ident():
- */
-
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_10__exit__(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_t, CYTHON_UNUSED PyObject *__pyx_v_v, CYTHON_UNUSED PyObject *__pyx_v_tb) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__exit__", 0);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":50
- *     def __exit__(self, t, v, tb):
- *         # self.release()
- *         if self._owner != pythread.PyThread_get_thread_ident():             # <<<<<<<<<<<<<<
- *             raise RuntimeError("cannot release un-acquired lock")
- *         unlock_lock(self)
- */
-  __pyx_t_1 = (__pyx_v_self->_owner != PyThread_get_thread_ident());
-  if (__pyx_t_1) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":51
- *         # self.release()
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")             # <<<<<<<<<<<<<<
- *         unlock_lock(self)
- * 
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":52
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")
- *         unlock_lock(self)             # <<<<<<<<<<<<<<
- * 
- *     def _is_owned(self):
- */
-  __pyx_f_4h5py_4defs_unlock_lock(__pyx_v_self);
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.defs.FastRLock.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_13_is_owned(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_4defs_9FastRLock_13_is_owned(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_is_owned (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4defs_9FastRLock_12_is_owned(((struct __pyx_obj_4h5py_4defs_FastRLock *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":54
- *         unlock_lock(self)
- * 
- *     def _is_owned(self):             # <<<<<<<<<<<<<<
- *         return self._owner == pythread.PyThread_get_thread_ident()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_4defs_9FastRLock_12_is_owned(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_is_owned", 0);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":55
- * 
- *     def _is_owned(self):
- *         return self._owner == pythread.PyThread_get_thread_ident()             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong((__pyx_v_self->_owner == PyThread_get_thread_ident())); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.defs.FastRLock._is_owned", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":58
- * 
- * 
- * cdef inline bint lock_lock(FastRLock lock, long current_thread, bint blocking) nogil:             # <<<<<<<<<<<<<<
- *     # Note that this function *must* hold the GIL when being called.
- *     # We just use 'nogil' in the signature to make sure that no Python
- */
-
-static CYTHON_INLINE int __pyx_f_4h5py_4defs_lock_lock(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_lock, long __pyx_v_current_thread, int __pyx_v_blocking) {
-  int __pyx_r;
-  int __pyx_t_1;
-  int __pyx_t_2;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":63
- *     # code execution slips in that might free the GIL
- * 
- *     if lock._count:             # <<<<<<<<<<<<<<
- *         # locked! - by myself?
- *         if current_thread == lock._owner:
- */
-  if (__pyx_v_lock->_count) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":65
- *     if lock._count:
- *         # locked! - by myself?
- *         if current_thread == lock._owner:             # <<<<<<<<<<<<<<
- *             lock._count += 1
- *             return 1
- */
-    __pyx_t_1 = (__pyx_v_current_thread == __pyx_v_lock->_owner);
-    if (__pyx_t_1) {
-
-      /* "/home/computer/h5py/h5py/_locks.pxi":66
- *         # locked! - by myself?
- *         if current_thread == lock._owner:
- *             lock._count += 1             # <<<<<<<<<<<<<<
- *             return 1
- *     elif not lock._pending_requests:
- */
-      __pyx_v_lock->_count = (__pyx_v_lock->_count + 1);
-
-      /* "/home/computer/h5py/h5py/_locks.pxi":67
- *         if current_thread == lock._owner:
- *             lock._count += 1
- *             return 1             # <<<<<<<<<<<<<<
- *     elif not lock._pending_requests:
- *         # not locked, not requested - go!
- */
-      __pyx_r = 1;
-      goto __pyx_L0;
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-    goto __pyx_L3;
-  }
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":68
- *             lock._count += 1
- *             return 1
- *     elif not lock._pending_requests:             # <<<<<<<<<<<<<<
- *         # not locked, not requested - go!
- *         lock._owner = current_thread
- */
-  __pyx_t_1 = (!__pyx_v_lock->_pending_requests);
-  if (__pyx_t_1) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":70
- *     elif not lock._pending_requests:
- *         # not locked, not requested - go!
- *         lock._owner = current_thread             # <<<<<<<<<<<<<<
- *         lock._count = 1
- *         return 1
- */
-    __pyx_v_lock->_owner = __pyx_v_current_thread;
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":71
- *         # not locked, not requested - go!
- *         lock._owner = current_thread
- *         lock._count = 1             # <<<<<<<<<<<<<<
- *         return 1
- *     # need to get the real lock
- */
-    __pyx_v_lock->_count = 1;
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":72
- *         lock._owner = current_thread
- *         lock._count = 1
- *         return 1             # <<<<<<<<<<<<<<
- *     # need to get the real lock
- *     return _acquire_lock(
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":76
- *     return _acquire_lock(
- *         lock, current_thread,
- *         pythread.WAIT_LOCK if blocking else pythread.NOWAIT_LOCK)             # <<<<<<<<<<<<<<
- * 
- * cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil:
- */
-  if (__pyx_v_blocking) {
-    __pyx_t_2 = WAIT_LOCK;
-  } else {
-    __pyx_t_2 = NOWAIT_LOCK;
-  }
-  __pyx_r = __pyx_f_4h5py_4defs__acquire_lock(__pyx_v_lock, __pyx_v_current_thread, __pyx_t_2);
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":78
- *         pythread.WAIT_LOCK if blocking else pythread.NOWAIT_LOCK)
- * 
- * cdef bint _acquire_lock(FastRLock lock, long current_thread, int wait) nogil:             # <<<<<<<<<<<<<<
- *     # Note that this function *must* hold the GIL when being called.
- *     # We just use 'nogil' in the signature to make sure that no Python
- */
-
-static int __pyx_f_4h5py_4defs__acquire_lock(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_lock, long __pyx_v_current_thread, int __pyx_v_wait) {
-  int __pyx_v_locked;
-  int __pyx_r;
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":83
- *     # code execution slips in that might free the GIL
- * 
- *     if not lock._is_locked and not lock._pending_requests:             # <<<<<<<<<<<<<<
- *         # someone owns it but didn't acquire the real lock - do that
- *         # now and tell the owner to release it when done. Note that we
- */
-  __pyx_t_1 = (!__pyx_v_lock->_is_locked);
-  if (__pyx_t_1) {
-    __pyx_t_2 = (!__pyx_v_lock->_pending_requests);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_1;
-  }
-  if (__pyx_t_3) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":88
- *         # do not release the GIL here as we must absolutely be the one
- *         # who acquires the lock now.
- *         if not pythread.PyThread_acquire_lock(lock._real_lock, wait):             # <<<<<<<<<<<<<<
- *             return 0
- *         #assert not lock._is_locked
- */
-    __pyx_t_3 = (!PyThread_acquire_lock(__pyx_v_lock->_real_lock, __pyx_v_wait));
-    if (__pyx_t_3) {
-
-      /* "/home/computer/h5py/h5py/_locks.pxi":89
- *         # who acquires the lock now.
- *         if not pythread.PyThread_acquire_lock(lock._real_lock, wait):
- *             return 0             # <<<<<<<<<<<<<<
- *         #assert not lock._is_locked
- *         lock._is_locked = True
- */
-      __pyx_r = 0;
-      goto __pyx_L0;
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":91
- *             return 0
- *         #assert not lock._is_locked
- *         lock._is_locked = True             # <<<<<<<<<<<<<<
- *     lock._pending_requests += 1
- *     with nogil:
- */
-    __pyx_v_lock->_is_locked = 1;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":92
- *         #assert not lock._is_locked
- *         lock._is_locked = True
- *     lock._pending_requests += 1             # <<<<<<<<<<<<<<
- *     with nogil:
- *         # wait for the lock owning thread to release it
- */
-  __pyx_v_lock->_pending_requests = (__pyx_v_lock->_pending_requests + 1);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":93
- *         lock._is_locked = True
- *     lock._pending_requests += 1
- *     with nogil:             # <<<<<<<<<<<<<<
- *         # wait for the lock owning thread to release it
- *         locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)
- */
-  {
-      #ifdef WITH_THREAD
-      PyThreadState *_save = NULL;
-      #endif
-      Py_UNBLOCK_THREADS
-      /*try:*/ {
-
-        /* "/home/computer/h5py/h5py/_locks.pxi":95
- *     with nogil:
- *         # wait for the lock owning thread to release it
- *         locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)             # <<<<<<<<<<<<<<
- *     lock._pending_requests -= 1
- *     #assert not lock._is_locked
- */
-        __pyx_v_locked = PyThread_acquire_lock(__pyx_v_lock->_real_lock, __pyx_v_wait);
-      }
-
-      /* "/home/computer/h5py/h5py/_locks.pxi":93
- *         lock._is_locked = True
- *     lock._pending_requests += 1
- *     with nogil:             # <<<<<<<<<<<<<<
- *         # wait for the lock owning thread to release it
- *         locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)
- */
-      /*finally:*/ {
-        Py_BLOCK_THREADS
-      }
-  }
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":96
- *         # wait for the lock owning thread to release it
- *         locked = pythread.PyThread_acquire_lock(lock._real_lock, wait)
- *     lock._pending_requests -= 1             # <<<<<<<<<<<<<<
- *     #assert not lock._is_locked
- *     #assert lock._count == 0
- */
-  __pyx_v_lock->_pending_requests = (__pyx_v_lock->_pending_requests - 1);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":99
- *     #assert not lock._is_locked
- *     #assert lock._count == 0
- *     if not locked:             # <<<<<<<<<<<<<<
- *         return 0
- *     lock._is_locked = True
- */
-  __pyx_t_3 = (!__pyx_v_locked);
-  if (__pyx_t_3) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":100
- *     #assert lock._count == 0
- *     if not locked:
- *         return 0             # <<<<<<<<<<<<<<
- *     lock._is_locked = True
- *     lock._owner = current_thread
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L8;
-  }
-  __pyx_L8:;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":101
- *     if not locked:
- *         return 0
- *     lock._is_locked = True             # <<<<<<<<<<<<<<
- *     lock._owner = current_thread
- *     lock._count = 1
- */
-  __pyx_v_lock->_is_locked = 1;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":102
- *         return 0
- *     lock._is_locked = True
- *     lock._owner = current_thread             # <<<<<<<<<<<<<<
- *     lock._count = 1
- *     return 1
- */
-  __pyx_v_lock->_owner = __pyx_v_current_thread;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":103
- *     lock._is_locked = True
- *     lock._owner = current_thread
- *     lock._count = 1             # <<<<<<<<<<<<<<
- *     return 1
- * 
- */
-  __pyx_v_lock->_count = 1;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":104
- *     lock._owner = current_thread
- *     lock._count = 1
- *     return 1             # <<<<<<<<<<<<<<
- * 
- * cdef inline void unlock_lock(FastRLock lock) nogil:
- */
-  __pyx_r = 1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  return __pyx_r;
-}
-
-/* "/home/computer/h5py/h5py/_locks.pxi":106
- *     return 1
- * 
- * cdef inline void unlock_lock(FastRLock lock) nogil:             # <<<<<<<<<<<<<<
- *     # Note that this function *must* hold the GIL when being called.
- *     # We just use 'nogil' in the signature to make sure that no Python
- */
-
-static CYTHON_INLINE void __pyx_f_4h5py_4defs_unlock_lock(struct __pyx_obj_4h5py_4defs_FastRLock *__pyx_v_lock) {
-  int __pyx_t_1;
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":113
- *     #assert lock._owner == pythread.PyThread_get_thread_ident()
- *     #assert lock._count > 0
- *     lock._count -= 1             # <<<<<<<<<<<<<<
- *     if lock._count == 0:
- *         lock._owner = -1
- */
-  __pyx_v_lock->_count = (__pyx_v_lock->_count - 1);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":114
- *     #assert lock._count > 0
- *     lock._count -= 1
- *     if lock._count == 0:             # <<<<<<<<<<<<<<
- *         lock._owner = -1
- *         if lock._is_locked:
- */
-  __pyx_t_1 = (__pyx_v_lock->_count == 0);
-  if (__pyx_t_1) {
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":115
- *     lock._count -= 1
- *     if lock._count == 0:
- *         lock._owner = -1             # <<<<<<<<<<<<<<
- *         if lock._is_locked:
- *             pythread.PyThread_release_lock(lock._real_lock)
- */
-    __pyx_v_lock->_owner = -1;
-
-    /* "/home/computer/h5py/h5py/_locks.pxi":116
- *     if lock._count == 0:
- *         lock._owner = -1
- *         if lock._is_locked:             # <<<<<<<<<<<<<<
- *             pythread.PyThread_release_lock(lock._real_lock)
- *             lock._is_locked = False
- */
-    if (__pyx_v_lock->_is_locked) {
-
-      /* "/home/computer/h5py/h5py/_locks.pxi":117
- *         lock._owner = -1
- *         if lock._is_locked:
- *             pythread.PyThread_release_lock(lock._real_lock)             # <<<<<<<<<<<<<<
- *             lock._is_locked = False
- * ## end of http://code.activestate.com/recipes/577336/ }}}
- */
-      PyThread_release_lock(__pyx_v_lock->_real_lock);
-
-      /* "/home/computer/h5py/h5py/_locks.pxi":118
- *         if lock._is_locked:
- *             pythread.PyThread_release_lock(lock._real_lock)
- *             lock._is_locked = False             # <<<<<<<<<<<<<<
- * ## end of http://code.activestate.com/recipes/577336/ }}}
- * 
- */
-      __pyx_v_lock->_is_locked = 0;
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-}
-
-/* "h5py/defs.pyx":12
- * 
- * rlock = FastRLock()
- * cdef herr_t H5open() except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5open(void) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5open", 0);
-
-  /* "h5py/defs.pyx":14
- * cdef herr_t H5open() except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5open()
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":15
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5open()             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5open(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":16
- *     with rlock:
- *         r = _hdf5.H5open()
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":17
- *         r = _hdf5.H5open()
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":18
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":19
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5close() except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":14
- * cdef herr_t H5open() except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5open()
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_4, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":21
- *         return r
- * 
- * cdef herr_t H5close() except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5close(void) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5close", 0);
-
-  /* "h5py/defs.pyx":23
- * cdef herr_t H5close() except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5close()
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":24
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5close()             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5close(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":25
- *     with rlock:
- *         r = _hdf5.H5close()
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":26
- *         r = _hdf5.H5close()
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":27
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":28
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":23
- * cdef herr_t H5close() except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5close()
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_5, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":30
- *         return r
- * 
- * cdef herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5get_libversion(unsigned int *__pyx_v_majnum, unsigned int *__pyx_v_minnum, unsigned int *__pyx_v_relnum) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5get_libversion", 0);
-
-  /* "h5py/defs.pyx":32
- * cdef herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5get_libversion(majnum, minnum, relnum)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":33
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5get_libversion(majnum, minnum, relnum)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5get_libversion(__pyx_v_majnum, __pyx_v_minnum, __pyx_v_relnum); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":34
- *     with rlock:
- *         r = _hdf5.H5get_libversion(majnum, minnum, relnum)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":35
- *         r = _hdf5.H5get_libversion(majnum, minnum, relnum)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":36
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":37
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":32
- * cdef herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5get_libversion(majnum, minnum, relnum)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5get_libversion", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_6, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5get_libversion", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":39
- *         return r
- * 
- * cdef hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Dcreate2(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_type_id, hid_t __pyx_v_space_id, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_dcpl_id, hid_t __pyx_v_dapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dcreate2", 0);
-
-  /* "h5py/defs.pyx":41
- * cdef hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dcreate2(loc_id, name, type_id, space_id, lcpl_id, dcpl_id, dapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":42
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Dcreate2(loc_id, name, type_id, space_id, lcpl_id, dcpl_id, dapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dcreate2(__pyx_v_loc_id, __pyx_v_name, __pyx_v_type_id, __pyx_v_space_id, __pyx_v_lcpl_id, __pyx_v_dcpl_id, __pyx_v_dapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":43
- *     with rlock:
- *         r = _hdf5.H5Dcreate2(loc_id, name, type_id, space_id, lcpl_id, dcpl_id, dapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":44
- *         r = _hdf5.H5Dcreate2(loc_id, name, type_id, space_id, lcpl_id, dcpl_id, dapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":45
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":46
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":41
- * cdef hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dcreate2(loc_id, name, type_id, space_id, lcpl_id, dcpl_id, dapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dcreate2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_7, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dcreate2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":48
- *         return r
- * 
- * cdef hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Dcreate_anon(hid_t __pyx_v_file_id, hid_t __pyx_v_type_id, hid_t __pyx_v_space_id, hid_t __pyx_v_plist_id, hid_t __pyx_v_dapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dcreate_anon", 0);
-
-  /* "h5py/defs.pyx":50
- * cdef hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dcreate_anon(file_id, type_id, space_id, plist_id, dapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":51
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Dcreate_anon(file_id, type_id, space_id, plist_id, dapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dcreate_anon(__pyx_v_file_id, __pyx_v_type_id, __pyx_v_space_id, __pyx_v_plist_id, __pyx_v_dapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":52
- *     with rlock:
- *         r = _hdf5.H5Dcreate_anon(file_id, type_id, space_id, plist_id, dapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":53
- *         r = _hdf5.H5Dcreate_anon(file_id, type_id, space_id, plist_id, dapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":54
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":55
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Dopen(hid_t file_id, char *name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":50
- * cdef hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dcreate_anon(file_id, type_id, space_id, plist_id, dapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dcreate_anon", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_8, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dcreate_anon", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":57
- *         return r
- * 
- * cdef hid_t H5Dopen(hid_t file_id, char *name) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Dopen(hid_t __pyx_v_file_id, char *__pyx_v_name) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dopen", 0);
-
-  /* "h5py/defs.pyx":59
- * cdef hid_t H5Dopen(hid_t file_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dopen(file_id, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":60
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Dopen(file_id, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dopen(__pyx_v_file_id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":61
- *     with rlock:
- *         r = _hdf5.H5Dopen(file_id, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":62
- *         r = _hdf5.H5Dopen(file_id, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":63
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":64
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dclose(hid_t dset_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":59
- * cdef hid_t H5Dopen(hid_t file_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dopen(file_id, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_9, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":66
- *         return r
- * 
- * cdef herr_t H5Dclose(hid_t dset_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dclose(hid_t __pyx_v_dset_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dclose", 0);
-
-  /* "h5py/defs.pyx":68
- * cdef herr_t H5Dclose(hid_t dset_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dclose(dset_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":69
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dclose(dset_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dclose(__pyx_v_dset_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":70
- *     with rlock:
- *         r = _hdf5.H5Dclose(dset_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":71
- *         r = _hdf5.H5Dclose(dset_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":72
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":73
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Dget_space(hid_t dset_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":68
- * cdef herr_t H5Dclose(hid_t dset_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dclose(dset_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_10, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":75
- *         return r
- * 
- * cdef hid_t H5Dget_space(hid_t dset_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Dget_space(hid_t __pyx_v_dset_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dget_space", 0);
-
-  /* "h5py/defs.pyx":77
- * cdef hid_t H5Dget_space(hid_t dset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_space(dset_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":78
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Dget_space(dset_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dget_space(__pyx_v_dset_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":79
- *     with rlock:
- *         r = _hdf5.H5Dget_space(dset_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":80
- *         r = _hdf5.H5Dget_space(dset_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":81
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":82
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":77
- * cdef hid_t H5Dget_space(hid_t dset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_space(dset_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dget_space", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_11, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dget_space", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":84
- *         return r
- * 
- * cdef herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dget_space_status(hid_t __pyx_v_dset_id, H5D_space_status_t *__pyx_v_status) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dget_space_status", 0);
-
-  /* "h5py/defs.pyx":86
- * cdef herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_space_status(dset_id, status)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":87
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dget_space_status(dset_id, status)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dget_space_status(__pyx_v_dset_id, __pyx_v_status); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":88
- *     with rlock:
- *         r = _hdf5.H5Dget_space_status(dset_id, status)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":89
- *         r = _hdf5.H5Dget_space_status(dset_id, status)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":90
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":91
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Dget_type(hid_t dset_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":86
- * cdef herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_space_status(dset_id, status)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dget_space_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_12, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dget_space_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":93
- *         return r
- * 
- * cdef hid_t H5Dget_type(hid_t dset_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Dget_type(hid_t __pyx_v_dset_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dget_type", 0);
-
-  /* "h5py/defs.pyx":95
- * cdef hid_t H5Dget_type(hid_t dset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_type(dset_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":96
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Dget_type(dset_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dget_type(__pyx_v_dset_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":97
- *     with rlock:
- *         r = _hdf5.H5Dget_type(dset_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":98
- *         r = _hdf5.H5Dget_type(dset_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":99
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":100
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Dget_create_plist(hid_t dataset_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":95
- * cdef hid_t H5Dget_type(hid_t dset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_type(dset_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dget_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_13, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dget_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":102
- *         return r
- * 
- * cdef hid_t H5Dget_create_plist(hid_t dataset_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Dget_create_plist(hid_t __pyx_v_dataset_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dget_create_plist", 0);
-
-  /* "h5py/defs.pyx":104
- * cdef hid_t H5Dget_create_plist(hid_t dataset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_create_plist(dataset_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":105
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Dget_create_plist(dataset_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dget_create_plist(__pyx_v_dataset_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":106
- *     with rlock:
- *         r = _hdf5.H5Dget_create_plist(dataset_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":107
- *         r = _hdf5.H5Dget_create_plist(dataset_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":108
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":109
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef haddr_t H5Dget_offset(hid_t dset_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":104
- * cdef hid_t H5Dget_create_plist(hid_t dataset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_create_plist(dataset_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dget_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_14, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dget_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":111
- *         return r
- * 
- * cdef haddr_t H5Dget_offset(hid_t dset_id) except *:             # <<<<<<<<<<<<<<
- *     cdef haddr_t r
- *     with rlock:
- */
-
-static haddr_t __pyx_f_4h5py_4defs_H5Dget_offset(hid_t __pyx_v_dset_id) {
-  haddr_t __pyx_v_r;
-  haddr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  haddr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dget_offset", 0);
-
-  /* "h5py/defs.pyx":113
- * cdef haddr_t H5Dget_offset(hid_t dset_id) except *:
- *     cdef haddr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_offset(dset_id)
- *         if r==0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":114
- *     cdef haddr_t r
- *     with rlock:
- *         r = _hdf5.H5Dget_offset(dset_id)             # <<<<<<<<<<<<<<
- *         if r==0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dget_offset(__pyx_v_dset_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":115
- *     with rlock:
- *         r = _hdf5.H5Dget_offset(dset_id)
- *         if r==0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <haddr_t>0;
- */
-          __pyx_t_9 = (__pyx_v_r == 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":116
- *         r = _hdf5.H5Dget_offset(dset_id)
- *         if r==0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <haddr_t>0;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":117
- *         if r==0:
- *             if set_exception():
- *                 return <haddr_t>0;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((haddr_t)0);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":118
- *             if set_exception():
- *                 return <haddr_t>0;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hsize_t H5Dget_storage_size(hid_t dset_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":113
- * cdef haddr_t H5Dget_offset(hid_t dset_id) except *:
- *     cdef haddr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_offset(dset_id)
- *         if r==0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dget_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_15, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dget_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":120
- *         return r
- * 
- * cdef hsize_t H5Dget_storage_size(hid_t dset_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hsize_t r
- *     with rlock:
- */
-
-static hsize_t __pyx_f_4h5py_4defs_H5Dget_storage_size(hid_t __pyx_v_dset_id) {
-  hsize_t __pyx_v_r;
-  hsize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hsize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dget_storage_size", 0);
-
-  /* "h5py/defs.pyx":122
- * cdef hsize_t H5Dget_storage_size(hid_t dset_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_storage_size(dset_id)
- *         if r==0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":123
- *     cdef hsize_t r
- *     with rlock:
- *         r = _hdf5.H5Dget_storage_size(dset_id)             # <<<<<<<<<<<<<<
- *         if r==0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dget_storage_size(__pyx_v_dset_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":124
- *     with rlock:
- *         r = _hdf5.H5Dget_storage_size(dset_id)
- *         if r==0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hsize_t>0;
- */
-          __pyx_t_9 = (__pyx_v_r == 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":125
- *         r = _hdf5.H5Dget_storage_size(dset_id)
- *         if r==0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hsize_t>0;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":126
- *         if r==0:
- *             if set_exception():
- *                 return <hsize_t>0;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hsize_t)0);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":127
- *             if set_exception():
- *                 return <hsize_t>0;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":122
- * cdef hsize_t H5Dget_storage_size(hid_t dset_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_storage_size(dset_id)
- *         if r==0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dget_storage_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_16, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dget_storage_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":129
- *         return r
- * 
- * cdef herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dread(hid_t __pyx_v_dset_id, hid_t __pyx_v_mem_type_id, hid_t __pyx_v_mem_space_id, hid_t __pyx_v_file_space_id, hid_t __pyx_v_plist_id, void *__pyx_v_buf) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dread", 0);
-
-  /* "h5py/defs.pyx":131
- * cdef herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dread(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":132
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dread(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dread(__pyx_v_dset_id, __pyx_v_mem_type_id, __pyx_v_mem_space_id, __pyx_v_file_space_id, __pyx_v_plist_id, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":133
- *     with rlock:
- *         r = _hdf5.H5Dread(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":134
- *         r = _hdf5.H5Dread(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":135
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":136
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dwrite(hid_t dset_id, hid_t mem_type, hid_t mem_space, hid_t file_space, hid_t xfer_plist, void* buf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":131
- * cdef herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dread(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dread", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_17, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dread", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":138
- *         return r
- * 
- * cdef herr_t H5Dwrite(hid_t dset_id, hid_t mem_type, hid_t mem_space, hid_t file_space, hid_t xfer_plist, void* buf) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dwrite(hid_t __pyx_v_dset_id, hid_t __pyx_v_mem_type, hid_t __pyx_v_mem_space, hid_t __pyx_v_file_space, hid_t __pyx_v_xfer_plist, void *__pyx_v_buf) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dwrite", 0);
-
-  /* "h5py/defs.pyx":140
- * cdef herr_t H5Dwrite(hid_t dset_id, hid_t mem_type, hid_t mem_space, hid_t file_space, hid_t xfer_plist, void* buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dwrite(dset_id, mem_type, mem_space, file_space, xfer_plist, buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":141
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dwrite(dset_id, mem_type, mem_space, file_space, xfer_plist, buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dwrite(__pyx_v_dset_id, __pyx_v_mem_type, __pyx_v_mem_space, __pyx_v_file_space, __pyx_v_xfer_plist, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":142
- *     with rlock:
- *         r = _hdf5.H5Dwrite(dset_id, mem_type, mem_space, file_space, xfer_plist, buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":143
- *         r = _hdf5.H5Dwrite(dset_id, mem_type, mem_space, file_space, xfer_plist, buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":144
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":145
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dextend(hid_t dataset_id, hsize_t *size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":140
- * cdef herr_t H5Dwrite(hid_t dset_id, hid_t mem_type, hid_t mem_space, hid_t file_space, hid_t xfer_plist, void* buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dwrite(dset_id, mem_type, mem_space, file_space, xfer_plist, buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dwrite", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_18, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dwrite", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":147
- *         return r
- * 
- * cdef herr_t H5Dextend(hid_t dataset_id, hsize_t *size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dextend(hid_t __pyx_v_dataset_id, hsize_t *__pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dextend", 0);
-
-  /* "h5py/defs.pyx":149
- * cdef herr_t H5Dextend(hid_t dataset_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dextend(dataset_id, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":150
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dextend(dataset_id, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dextend(__pyx_v_dataset_id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":151
- *     with rlock:
- *         r = _hdf5.H5Dextend(dataset_id, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":152
- *         r = _hdf5.H5Dextend(dataset_id, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":153
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":154
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dfill(void *fill, hid_t fill_type_id, void *buf,  hid_t buf_type_id, hid_t space_id ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":149
- * cdef herr_t H5Dextend(hid_t dataset_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dextend(dataset_id, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dextend", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_19, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dextend", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":156
- *         return r
- * 
- * cdef herr_t H5Dfill(void *fill, hid_t fill_type_id, void *buf,  hid_t buf_type_id, hid_t space_id ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dfill(void *__pyx_v_fill, hid_t __pyx_v_fill_type_id, void *__pyx_v_buf, hid_t __pyx_v_buf_type_id, hid_t __pyx_v_space_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dfill", 0);
-
-  /* "h5py/defs.pyx":158
- * cdef herr_t H5Dfill(void *fill, hid_t fill_type_id, void *buf,  hid_t buf_type_id, hid_t space_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dfill(fill, fill_type_id, buf, buf_type_id, space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":159
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dfill(fill, fill_type_id, buf, buf_type_id, space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dfill(__pyx_v_fill, __pyx_v_fill_type_id, __pyx_v_buf, __pyx_v_buf_type_id, __pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":160
- *     with rlock:
- *         r = _hdf5.H5Dfill(fill, fill_type_id, buf, buf_type_id, space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":161
- *         r = _hdf5.H5Dfill(fill, fill_type_id, buf, buf_type_id, space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":162
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":163
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":158
- * cdef herr_t H5Dfill(void *fill, hid_t fill_type_id, void *buf,  hid_t buf_type_id, hid_t space_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dfill(fill, fill_type_id, buf, buf_type_id, space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dfill", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_20, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dfill", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":165
- *         return r
- * 
- * cdef herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dvlen_get_buf_size(hid_t __pyx_v_dset_id, hid_t __pyx_v_type_id, hid_t __pyx_v_space_id, hsize_t *__pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dvlen_get_buf_size", 0);
-
-  /* "h5py/defs.pyx":167
- * cdef herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dvlen_get_buf_size(dset_id, type_id, space_id, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":168
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dvlen_get_buf_size(dset_id, type_id, space_id, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dvlen_get_buf_size(__pyx_v_dset_id, __pyx_v_type_id, __pyx_v_space_id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":169
- *     with rlock:
- *         r = _hdf5.H5Dvlen_get_buf_size(dset_id, type_id, space_id, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":170
- *         r = _hdf5.H5Dvlen_get_buf_size(dset_id, type_id, space_id, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":171
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":172
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id,  hid_t plist, void *buf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":167
- * cdef herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dvlen_get_buf_size(dset_id, type_id, space_id, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dvlen_get_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_21, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dvlen_get_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":174
- *         return r
- * 
- * cdef herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id,  hid_t plist, void *buf) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dvlen_reclaim(hid_t __pyx_v_type_id, hid_t __pyx_v_space_id, hid_t __pyx_v_plist, void *__pyx_v_buf) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dvlen_reclaim", 0);
-
-  /* "h5py/defs.pyx":176
- * cdef herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id,  hid_t plist, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dvlen_reclaim(type_id, space_id, plist, buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":177
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dvlen_reclaim(type_id, space_id, plist, buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dvlen_reclaim(__pyx_v_type_id, __pyx_v_space_id, __pyx_v_plist, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":178
- *     with rlock:
- *         r = _hdf5.H5Dvlen_reclaim(type_id, space_id, plist, buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":179
- *         r = _hdf5.H5Dvlen_reclaim(type_id, space_id, plist, buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":180
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":181
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,  H5D_operator_t op, void* operator_data) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":176
- * cdef herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id,  hid_t plist, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dvlen_reclaim(type_id, space_id, plist, buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dvlen_reclaim", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_22, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dvlen_reclaim", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":183
- *         return r
- * 
- * cdef herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,  H5D_operator_t op, void* operator_data) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Diterate(void *__pyx_v_buf, hid_t __pyx_v_type_id, hid_t __pyx_v_space_id, H5D_operator_t __pyx_v_op, void *__pyx_v_operator_data) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Diterate", 0);
-
-  /* "h5py/defs.pyx":185
- * cdef herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,  H5D_operator_t op, void* operator_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Diterate(buf, type_id, space_id, op, operator_data)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":186
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Diterate(buf, type_id, space_id, op, operator_data)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Diterate(__pyx_v_buf, __pyx_v_type_id, __pyx_v_space_id, __pyx_v_op, __pyx_v_operator_data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":187
- *     with rlock:
- *         r = _hdf5.H5Diterate(buf, type_id, space_id, op, operator_data)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":188
- *         r = _hdf5.H5Diterate(buf, type_id, space_id, op, operator_data)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":189
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":190
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Dset_extent(hid_t dset_id, hsize_t* size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":185
- * cdef herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,  H5D_operator_t op, void* operator_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Diterate(buf, type_id, space_id, op, operator_data)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Diterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_23, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Diterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":192
- *         return r
- * 
- * cdef herr_t H5Dset_extent(hid_t dset_id, hsize_t* size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Dset_extent(hid_t __pyx_v_dset_id, hsize_t *__pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Dset_extent", 0);
-
-  /* "h5py/defs.pyx":194
- * cdef herr_t H5Dset_extent(hid_t dset_id, hsize_t* size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dset_extent(dset_id, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":195
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Dset_extent(dset_id, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Dset_extent(__pyx_v_dset_id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":196
- *     with rlock:
- *         r = _hdf5.H5Dset_extent(dset_id, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":197
- *         r = _hdf5.H5Dset_extent(dset_id, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 197; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":198
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":199
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":194
- * cdef herr_t H5Dset_extent(hid_t dset_id, hsize_t* size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dset_extent(dset_id, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Dset_extent", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_24, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Dset_extent", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":201
- *         return r
- * 
- * cdef hid_t H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Fcreate(char *__pyx_v_filename, unsigned int __pyx_v_flags, hid_t __pyx_v_create_plist, hid_t __pyx_v_access_plist) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fcreate", 0);
-
-  /* "h5py/defs.pyx":203
- * cdef hid_t H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fcreate(filename, flags, create_plist, access_plist)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":204
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Fcreate(filename, flags, create_plist, access_plist)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fcreate(__pyx_v_filename, __pyx_v_flags, __pyx_v_create_plist, __pyx_v_access_plist); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":205
- *     with rlock:
- *         r = _hdf5.H5Fcreate(filename, flags, create_plist, access_plist)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":206
- *         r = _hdf5.H5Fcreate(filename, flags, create_plist, access_plist)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":207
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":208
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Fopen(char *name, unsigned flags, hid_t access_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":203
- * cdef hid_t H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fcreate(filename, flags, create_plist, access_plist)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_25, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":210
- *         return r
- * 
- * cdef hid_t H5Fopen(char *name, unsigned flags, hid_t access_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Fopen(char *__pyx_v_name, unsigned int __pyx_v_flags, hid_t __pyx_v_access_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fopen", 0);
-
-  /* "h5py/defs.pyx":212
- * cdef hid_t H5Fopen(char *name, unsigned flags, hid_t access_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fopen(name, flags, access_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":213
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Fopen(name, flags, access_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fopen(__pyx_v_name, __pyx_v_flags, __pyx_v_access_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":214
- *     with rlock:
- *         r = _hdf5.H5Fopen(name, flags, access_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":215
- *         r = _hdf5.H5Fopen(name, flags, access_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":216
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":217
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fclose(hid_t file_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":212
- * cdef hid_t H5Fopen(char *name, unsigned flags, hid_t access_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fopen(name, flags, access_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_26, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":219
- *         return r
- * 
- * cdef herr_t H5Fclose(hid_t file_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fclose(hid_t __pyx_v_file_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fclose", 0);
-
-  /* "h5py/defs.pyx":221
- * cdef herr_t H5Fclose(hid_t file_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fclose(file_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":222
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fclose(file_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fclose(__pyx_v_file_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":223
- *     with rlock:
- *         r = _hdf5.H5Fclose(file_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":224
- *         r = _hdf5.H5Fclose(file_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":225
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":226
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Fis_hdf5(char *name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":221
- * cdef herr_t H5Fclose(hid_t file_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fclose(file_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_27, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":228
- *         return r
- * 
- * cdef htri_t H5Fis_hdf5(char *name) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Fis_hdf5(char *__pyx_v_name) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fis_hdf5", 0);
-
-  /* "h5py/defs.pyx":230
- * cdef htri_t H5Fis_hdf5(char *name) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fis_hdf5(name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":231
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Fis_hdf5(name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fis_hdf5(__pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":232
- *     with rlock:
- *         r = _hdf5.H5Fis_hdf5(name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":233
- *         r = _hdf5.H5Fis_hdf5(name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":234
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":235
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fflush(hid_t object_id, H5F_scope_t scope) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":230
- * cdef htri_t H5Fis_hdf5(char *name) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fis_hdf5(name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fis_hdf5", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_28, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fis_hdf5", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":237
- *         return r
- * 
- * cdef herr_t H5Fflush(hid_t object_id, H5F_scope_t scope) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fflush(hid_t __pyx_v_object_id, enum H5F_scope_t __pyx_v_scope) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fflush", 0);
-
-  /* "h5py/defs.pyx":239
- * cdef herr_t H5Fflush(hid_t object_id, H5F_scope_t scope) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fflush(object_id, scope)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":240
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fflush(object_id, scope)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fflush(__pyx_v_object_id, __pyx_v_scope); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":241
- *     with rlock:
- *         r = _hdf5.H5Fflush(object_id, scope)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":242
- *         r = _hdf5.H5Fflush(object_id, scope)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 242; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":243
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":244
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Freopen(hid_t file_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":239
- * cdef herr_t H5Fflush(hid_t object_id, H5F_scope_t scope) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fflush(object_id, scope)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fflush", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_29, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fflush", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":246
- *         return r
- * 
- * cdef hid_t H5Freopen(hid_t file_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Freopen(hid_t __pyx_v_file_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Freopen", 0);
-
-  /* "h5py/defs.pyx":248
- * cdef hid_t H5Freopen(hid_t file_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Freopen(file_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":249
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Freopen(file_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Freopen(__pyx_v_file_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":250
- *     with rlock:
- *         r = _hdf5.H5Freopen(file_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":251
- *         r = _hdf5.H5Freopen(file_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":252
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":253
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fmount(hid_t loc_id, char *name, hid_t child_id, hid_t plist_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":248
- * cdef hid_t H5Freopen(hid_t file_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Freopen(file_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Freopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_30, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Freopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":255
- *         return r
- * 
- * cdef herr_t H5Fmount(hid_t loc_id, char *name, hid_t child_id, hid_t plist_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fmount(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_child_id, hid_t __pyx_v_plist_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fmount", 0);
-
-  /* "h5py/defs.pyx":257
- * cdef herr_t H5Fmount(hid_t loc_id, char *name, hid_t child_id, hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fmount(loc_id, name, child_id, plist_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":258
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fmount(loc_id, name, child_id, plist_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fmount(__pyx_v_loc_id, __pyx_v_name, __pyx_v_child_id, __pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":259
- *     with rlock:
- *         r = _hdf5.H5Fmount(loc_id, name, child_id, plist_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":260
- *         r = _hdf5.H5Fmount(loc_id, name, child_id, plist_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":261
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":262
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Funmount(hid_t loc_id, char *name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":257
- * cdef herr_t H5Fmount(hid_t loc_id, char *name, hid_t child_id, hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fmount(loc_id, name, child_id, plist_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fmount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_31, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fmount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":264
- *         return r
- * 
- * cdef herr_t H5Funmount(hid_t loc_id, char *name) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Funmount(hid_t __pyx_v_loc_id, char *__pyx_v_name) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Funmount", 0);
-
-  /* "h5py/defs.pyx":266
- * cdef herr_t H5Funmount(hid_t loc_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Funmount(loc_id, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":267
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Funmount(loc_id, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Funmount(__pyx_v_loc_id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":268
- *     with rlock:
- *         r = _hdf5.H5Funmount(loc_id, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":269
- *         r = _hdf5.H5Funmount(loc_id, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":270
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":271
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fget_filesize(hid_t file_id, hsize_t *size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":266
- * cdef herr_t H5Funmount(hid_t loc_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Funmount(loc_id, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Funmount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_32, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Funmount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":273
- *         return r
- * 
- * cdef herr_t H5Fget_filesize(hid_t file_id, hsize_t *size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fget_filesize(hid_t __pyx_v_file_id, hsize_t *__pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_filesize", 0);
-
-  /* "h5py/defs.pyx":275
- * cdef herr_t H5Fget_filesize(hid_t file_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_filesize(file_id, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":276
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_filesize(file_id, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_filesize(__pyx_v_file_id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":277
- *     with rlock:
- *         r = _hdf5.H5Fget_filesize(file_id, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":278
- *         r = _hdf5.H5Fget_filesize(file_id, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":279
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":280
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Fget_create_plist(hid_t file_id ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":275
- * cdef herr_t H5Fget_filesize(hid_t file_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_filesize(file_id, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_filesize", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_33, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_filesize", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":282
- *         return r
- * 
- * cdef hid_t H5Fget_create_plist(hid_t file_id ) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Fget_create_plist(hid_t __pyx_v_file_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_create_plist", 0);
-
-  /* "h5py/defs.pyx":284
- * cdef hid_t H5Fget_create_plist(hid_t file_id ) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_create_plist(file_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":285
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_create_plist(file_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_create_plist(__pyx_v_file_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":286
- *     with rlock:
- *         r = _hdf5.H5Fget_create_plist(file_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":287
- *         r = _hdf5.H5Fget_create_plist(file_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":288
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":289
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Fget_access_plist(hid_t file_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":284
- * cdef hid_t H5Fget_create_plist(hid_t file_id ) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_create_plist(file_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_34, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":291
- *         return r
- * 
- * cdef hid_t H5Fget_access_plist(hid_t file_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Fget_access_plist(hid_t __pyx_v_file_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_access_plist", 0);
-
-  /* "h5py/defs.pyx":293
- * cdef hid_t H5Fget_access_plist(hid_t file_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_access_plist(file_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":294
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_access_plist(file_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_access_plist(__pyx_v_file_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":295
- *     with rlock:
- *         r = _hdf5.H5Fget_access_plist(file_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":296
- *         r = _hdf5.H5Fget_access_plist(file_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":297
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":298
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hssize_t H5Fget_freespace(hid_t file_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":293
- * cdef hid_t H5Fget_access_plist(hid_t file_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_access_plist(file_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_access_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_35, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_access_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":300
- *         return r
- * 
- * cdef hssize_t H5Fget_freespace(hid_t file_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hssize_t r
- *     with rlock:
- */
-
-static hssize_t __pyx_f_4h5py_4defs_H5Fget_freespace(hid_t __pyx_v_file_id) {
-  hssize_t __pyx_v_r;
-  hssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_freespace", 0);
-
-  /* "h5py/defs.pyx":302
- * cdef hssize_t H5Fget_freespace(hid_t file_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_freespace(file_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":303
- *     cdef hssize_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_freespace(file_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_freespace(__pyx_v_file_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 303; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":304
- *     with rlock:
- *         r = _hdf5.H5Fget_freespace(file_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":305
- *         r = _hdf5.H5Fget_freespace(file_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":306
- *         if r<0:
- *             if set_exception():
- *                 return <hssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":307
- *             if set_exception():
- *                 return <hssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5Fget_name(hid_t obj_id, char *name, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":302
- * cdef hssize_t H5Fget_freespace(hid_t file_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_freespace(file_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_freespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_36, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_freespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":309
- *         return r
- * 
- * cdef ssize_t H5Fget_name(hid_t obj_id, char *name, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5Fget_name(hid_t __pyx_v_obj_id, char *__pyx_v_name, size_t __pyx_v_size) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_name", 0);
-
-  /* "h5py/defs.pyx":311
- * cdef ssize_t H5Fget_name(hid_t obj_id, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_name(obj_id, name, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":312
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_name(obj_id, name, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_name(__pyx_v_obj_id, __pyx_v_name, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":313
- *     with rlock:
- *         r = _hdf5.H5Fget_name(obj_id, name, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":314
- *         r = _hdf5.H5Fget_name(obj_id, name, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":315
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":316
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Fget_obj_count(hid_t file_id, unsigned int types) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":311
- * cdef ssize_t H5Fget_name(hid_t obj_id, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_name(obj_id, name, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_37, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":318
- *         return r
- * 
- * cdef int H5Fget_obj_count(hid_t file_id, unsigned int types) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Fget_obj_count(hid_t __pyx_v_file_id, unsigned int __pyx_v_types) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_obj_count", 0);
-
-  /* "h5py/defs.pyx":320
- * cdef int H5Fget_obj_count(hid_t file_id, unsigned int types) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_obj_count(file_id, types)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":321
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Fget_obj_count(file_id, types)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_obj_count(__pyx_v_file_id, __pyx_v_types); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":322
- *     with rlock:
- *         r = _hdf5.H5Fget_obj_count(file_id, types)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":323
- *         r = _hdf5.H5Fget_obj_count(file_id, types)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":324
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":325
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Fget_obj_ids(hid_t file_id, unsigned int types, int max_objs, hid_t *obj_id_list) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":320
- * cdef int H5Fget_obj_count(hid_t file_id, unsigned int types) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_obj_count(file_id, types)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_obj_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_38, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_obj_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":327
- *         return r
- * 
- * cdef int H5Fget_obj_ids(hid_t file_id, unsigned int types, int max_objs, hid_t *obj_id_list) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Fget_obj_ids(hid_t __pyx_v_file_id, unsigned int __pyx_v_types, int __pyx_v_max_objs, hid_t *__pyx_v_obj_id_list) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_obj_ids", 0);
-
-  /* "h5py/defs.pyx":329
- * cdef int H5Fget_obj_ids(hid_t file_id, unsigned int types, int max_objs, hid_t *obj_id_list) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_obj_ids(file_id, types, max_objs, obj_id_list)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":330
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Fget_obj_ids(file_id, types, max_objs, obj_id_list)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_obj_ids(__pyx_v_file_id, __pyx_v_types, __pyx_v_max_objs, __pyx_v_obj_id_list); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":331
- *     with rlock:
- *         r = _hdf5.H5Fget_obj_ids(file_id, types, max_objs, obj_id_list)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":332
- *         r = _hdf5.H5Fget_obj_ids(file_id, types, max_objs, obj_id_list)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":333
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":334
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":329
- * cdef int H5Fget_obj_ids(hid_t file_id, unsigned int types, int max_objs, hid_t *obj_id_list) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_obj_ids(file_id, types, max_objs, obj_id_list)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_obj_ids", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_39, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_obj_ids", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":336
- *         return r
- * 
- * cdef herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fget_vfd_handle(hid_t __pyx_v_file_id, hid_t __pyx_v_fapl_id, void **__pyx_v_file_handle) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_vfd_handle", 0);
-
-  /* "h5py/defs.pyx":338
- * cdef herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_vfd_handle(file_id, fapl_id, file_handle)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":339
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_vfd_handle(file_id, fapl_id, file_handle)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_vfd_handle(__pyx_v_file_id, __pyx_v_fapl_id, __pyx_v_file_handle); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":340
- *     with rlock:
- *         r = _hdf5.H5Fget_vfd_handle(file_id, fapl_id, file_handle)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":341
- *         r = _hdf5.H5Fget_vfd_handle(file_id, fapl_id, file_handle)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 341; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":342
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":343
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fget_intent(hid_t file_id, unsigned int *intent) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":338
- * cdef herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_vfd_handle(file_id, fapl_id, file_handle)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_vfd_handle", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_40, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_vfd_handle", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":345
- *         return r
- * 
- * cdef herr_t H5Fget_intent(hid_t file_id, unsigned int *intent) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fget_intent(hid_t __pyx_v_file_id, unsigned int *__pyx_v_intent) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_intent", 0);
-
-  /* "h5py/defs.pyx":347
- * cdef herr_t H5Fget_intent(hid_t file_id, unsigned int *intent) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_intent(file_id, intent)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":348
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_intent(file_id, intent)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_intent(__pyx_v_file_id, __pyx_v_intent); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 348; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":349
- *     with rlock:
- *         r = _hdf5.H5Fget_intent(file_id, intent)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":350
- *         r = _hdf5.H5Fget_intent(file_id, intent)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":351
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":352
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":347
- * cdef herr_t H5Fget_intent(hid_t file_id, unsigned int *intent) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_intent(file_id, intent)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_intent", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_41, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_intent", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":354
- *         return r
- * 
- * cdef herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fget_mdc_config(hid_t __pyx_v_file_id, H5AC_cache_config_t *__pyx_v_config_ptr) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_mdc_config", 0);
-
-  /* "h5py/defs.pyx":356
- * cdef herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_config(file_id, config_ptr)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":357
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_mdc_config(file_id, config_ptr)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_mdc_config(__pyx_v_file_id, __pyx_v_config_ptr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 357; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":358
- *     with rlock:
- *         r = _hdf5.H5Fget_mdc_config(file_id, config_ptr)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":359
- *         r = _hdf5.H5Fget_mdc_config(file_id, config_ptr)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 359; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":360
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":361
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":356
- * cdef herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_config(file_id, config_ptr)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_42, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":363
- *         return r
- * 
- * cdef herr_t H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fget_mdc_hit_rate(hid_t __pyx_v_file_id, double *__pyx_v_hit_rate_ptr) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_mdc_hit_rate", 0);
-
-  /* "h5py/defs.pyx":365
- * cdef herr_t H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_hit_rate(file_id, hit_rate_ptr)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":366
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_mdc_hit_rate(file_id, hit_rate_ptr)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_mdc_hit_rate(__pyx_v_file_id, __pyx_v_hit_rate_ptr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":367
- *     with rlock:
- *         r = _hdf5.H5Fget_mdc_hit_rate(file_id, hit_rate_ptr)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":368
- *         r = _hdf5.H5Fget_mdc_hit_rate(file_id, hit_rate_ptr)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":369
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":370
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":365
- * cdef herr_t H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_hit_rate(file_id, hit_rate_ptr)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_mdc_hit_rate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_43, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_mdc_hit_rate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":372
- *         return r
- * 
- * cdef herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fget_mdc_size(hid_t __pyx_v_file_id, size_t *__pyx_v_max_size_ptr, size_t *__pyx_v_min_clean_size_ptr, size_t *__pyx_v_cur_size_ptr, int *__pyx_v_cur_num_entries_ptr) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fget_mdc_size", 0);
-
-  /* "h5py/defs.pyx":374
- * cdef herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":375
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fget_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fget_mdc_size(__pyx_v_file_id, __pyx_v_max_size_ptr, __pyx_v_min_clean_size_ptr, __pyx_v_cur_size_ptr, __pyx_v_cur_num_entries_ptr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":376
- *     with rlock:
- *         r = _hdf5.H5Fget_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":377
- *         r = _hdf5.H5Fget_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":378
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":379
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":374
- * cdef herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fget_mdc_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_44, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fget_mdc_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":381
- *         return r
- * 
- * cdef herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Freset_mdc_hit_rate_stats(hid_t __pyx_v_file_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Freset_mdc_hit_rate_stats", 0);
-
-  /* "h5py/defs.pyx":383
- * cdef herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Freset_mdc_hit_rate_stats(file_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":384
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Freset_mdc_hit_rate_stats(file_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Freset_mdc_hit_rate_stats(__pyx_v_file_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":385
- *     with rlock:
- *         r = _hdf5.H5Freset_mdc_hit_rate_stats(file_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":386
- *         r = _hdf5.H5Freset_mdc_hit_rate_stats(file_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 386; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":387
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":388
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":383
- * cdef herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Freset_mdc_hit_rate_stats(file_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Freset_mdc_hit_rate_stats", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_45, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Freset_mdc_hit_rate_stats", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":390
- *         return r
- * 
- * cdef herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Fset_mdc_config(hid_t __pyx_v_file_id, H5AC_cache_config_t *__pyx_v_config_ptr) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Fset_mdc_config", 0);
-
-  /* "h5py/defs.pyx":392
- * cdef herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fset_mdc_config(file_id, config_ptr)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":393
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Fset_mdc_config(file_id, config_ptr)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Fset_mdc_config(__pyx_v_file_id, __pyx_v_config_ptr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 393; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":394
- *     with rlock:
- *         r = _hdf5.H5Fset_mdc_config(file_id, config_ptr)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":395
- *         r = _hdf5.H5Fset_mdc_config(file_id, config_ptr)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":396
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":397
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Gcreate(hid_t loc_id, char *name, size_t size_hint) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":392
- * cdef herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fset_mdc_config(file_id, config_ptr)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Fset_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_46, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Fset_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":399
- *         return r
- * 
- * cdef hid_t H5Gcreate(hid_t loc_id, char *name, size_t size_hint) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Gcreate(hid_t __pyx_v_loc_id, char *__pyx_v_name, size_t __pyx_v_size_hint) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gcreate", 0);
-
-  /* "h5py/defs.pyx":401
- * cdef hid_t H5Gcreate(hid_t loc_id, char *name, size_t size_hint) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate(loc_id, name, size_hint)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":402
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Gcreate(loc_id, name, size_hint)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gcreate(__pyx_v_loc_id, __pyx_v_name, __pyx_v_size_hint); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":403
- *     with rlock:
- *         r = _hdf5.H5Gcreate(loc_id, name, size_hint)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":404
- *         r = _hdf5.H5Gcreate(loc_id, name, size_hint)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":405
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":406
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Gopen(hid_t loc_id, char *name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":401
- * cdef hid_t H5Gcreate(hid_t loc_id, char *name, size_t size_hint) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate(loc_id, name, size_hint)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_47, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":408
- *         return r
- * 
- * cdef hid_t H5Gopen(hid_t loc_id, char *name) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Gopen(hid_t __pyx_v_loc_id, char *__pyx_v_name) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gopen", 0);
-
-  /* "h5py/defs.pyx":410
- * cdef hid_t H5Gopen(hid_t loc_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gopen(loc_id, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":411
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Gopen(loc_id, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gopen(__pyx_v_loc_id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":412
- *     with rlock:
- *         r = _hdf5.H5Gopen(loc_id, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":413
- *         r = _hdf5.H5Gopen(loc_id, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":414
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":415
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gclose(hid_t group_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":410
- * cdef hid_t H5Gopen(hid_t loc_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gopen(loc_id, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_48, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":417
- *         return r
- * 
- * cdef herr_t H5Gclose(hid_t group_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gclose(hid_t __pyx_v_group_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gclose", 0);
-
-  /* "h5py/defs.pyx":419
- * cdef herr_t H5Gclose(hid_t group_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gclose(group_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":420
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gclose(group_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gclose(__pyx_v_group_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 420; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":421
- *     with rlock:
- *         r = _hdf5.H5Gclose(group_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":422
- *         r = _hdf5.H5Gclose(group_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":423
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":424
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":419
- * cdef herr_t H5Gclose(hid_t group_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gclose(group_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_49, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":426
- *         return r
- * 
- * cdef herr_t H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Glink2(hid_t __pyx_v_curr_loc_id, char *__pyx_v_current_name, H5G_link_t __pyx_v_link_type, hid_t __pyx_v_new_loc_id, char *__pyx_v_new_name) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Glink2", 0);
-
-  /* "h5py/defs.pyx":428
- * cdef herr_t H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Glink2(curr_loc_id, current_name, link_type, new_loc_id, new_name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":429
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Glink2(curr_loc_id, current_name, link_type, new_loc_id, new_name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Glink2(__pyx_v_curr_loc_id, __pyx_v_current_name, __pyx_v_link_type, __pyx_v_new_loc_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":430
- *     with rlock:
- *         r = _hdf5.H5Glink2(curr_loc_id, current_name, link_type, new_loc_id, new_name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":431
- *         r = _hdf5.H5Glink2(curr_loc_id, current_name, link_type, new_loc_id, new_name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":432
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":433
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gunlink(hid_t file_id, char *name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":428
- * cdef herr_t H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Glink2(curr_loc_id, current_name, link_type, new_loc_id, new_name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Glink2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_50, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Glink2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":435
- *         return r
- * 
- * cdef herr_t H5Gunlink(hid_t file_id, char *name) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gunlink(hid_t __pyx_v_file_id, char *__pyx_v_name) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gunlink", 0);
-
-  /* "h5py/defs.pyx":437
- * cdef herr_t H5Gunlink(hid_t file_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gunlink(file_id, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":438
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gunlink(file_id, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gunlink(__pyx_v_file_id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":439
- *     with rlock:
- *         r = _hdf5.H5Gunlink(file_id, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":440
- *         r = _hdf5.H5Gunlink(file_id, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":441
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":442
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":437
- * cdef herr_t H5Gunlink(hid_t file_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gunlink(file_id, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gunlink", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_51, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gunlink", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":444
- *         return r
- * 
- * cdef herr_t H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gmove2(hid_t __pyx_v_src_loc_id, char *__pyx_v_src_name, hid_t __pyx_v_dst_loc_id, char *__pyx_v_dst_name) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gmove2", 0);
-
-  /* "h5py/defs.pyx":446
- * cdef herr_t H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gmove2(src_loc_id, src_name, dst_loc_id, dst_name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":447
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gmove2(src_loc_id, src_name, dst_loc_id, dst_name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gmove2(__pyx_v_src_loc_id, __pyx_v_src_name, __pyx_v_dst_loc_id, __pyx_v_dst_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":448
- *     with rlock:
- *         r = _hdf5.H5Gmove2(src_loc_id, src_name, dst_loc_id, dst_name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":449
- *         r = _hdf5.H5Gmove2(src_loc_id, src_name, dst_loc_id, dst_name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":450
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":451
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":446
- * cdef herr_t H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gmove2(src_loc_id, src_name, dst_loc_id, dst_name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gmove2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_52, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gmove2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":453
- *         return r
- * 
- * cdef herr_t H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gget_num_objs(hid_t __pyx_v_loc_id, hsize_t *__pyx_v_num_obj) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_num_objs", 0);
-
-  /* "h5py/defs.pyx":455
- * cdef herr_t H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_num_objs(loc_id, num_obj)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":456
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gget_num_objs(loc_id, num_obj)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_num_objs(__pyx_v_loc_id, __pyx_v_num_obj); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 456; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":457
- *     with rlock:
- *         r = _hdf5.H5Gget_num_objs(loc_id, num_obj)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":458
- *         r = _hdf5.H5Gget_num_objs(loc_id, num_obj)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 458; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":459
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":460
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":455
- * cdef herr_t H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_num_objs(loc_id, num_obj)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_num_objs", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_53, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_num_objs", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":462
- *         return r
- * 
- * cdef int H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Gget_objname_by_idx(hid_t __pyx_v_loc_id, hsize_t __pyx_v_idx, char *__pyx_v_name, size_t __pyx_v_size) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_objname_by_idx", 0);
-
-  /* "h5py/defs.pyx":464
- * cdef int H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objname_by_idx(loc_id, idx, name, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":465
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Gget_objname_by_idx(loc_id, idx, name, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_objname_by_idx(__pyx_v_loc_id, __pyx_v_idx, __pyx_v_name, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":466
- *     with rlock:
- *         r = _hdf5.H5Gget_objname_by_idx(loc_id, idx, name, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":467
- *         r = _hdf5.H5Gget_objname_by_idx(loc_id, idx, name, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":468
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":469
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":464
- * cdef int H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objname_by_idx(loc_id, idx, name, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_objname_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_54, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_objname_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":471
- *         return r
- * 
- * cdef int H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Gget_objtype_by_idx(hid_t __pyx_v_loc_id, hsize_t __pyx_v_idx) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_objtype_by_idx", 0);
-
-  /* "h5py/defs.pyx":473
- * cdef int H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objtype_by_idx(loc_id, idx)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":474
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Gget_objtype_by_idx(loc_id, idx)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_objtype_by_idx(__pyx_v_loc_id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 474; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":475
- *     with rlock:
- *         r = _hdf5.H5Gget_objtype_by_idx(loc_id, idx)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":476
- *         r = _hdf5.H5Gget_objtype_by_idx(loc_id, idx)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 476; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":477
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":478
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":473
- * cdef int H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objtype_by_idx(loc_id, idx)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_objtype_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_55, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_objtype_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":480
- *         return r
- * 
- * cdef herr_t H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Giterate(hid_t __pyx_v_loc_id, char *__pyx_v_name, int *__pyx_v_idx, H5G_iterate_t __pyx_v_op, void *__pyx_v_data) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Giterate", 0);
-
-  /* "h5py/defs.pyx":482
- * cdef herr_t H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Giterate(loc_id, name, idx, op, data)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":483
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Giterate(loc_id, name, idx, op, data)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Giterate(__pyx_v_loc_id, __pyx_v_name, __pyx_v_idx, __pyx_v_op, __pyx_v_data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":484
- *     with rlock:
- *         r = _hdf5.H5Giterate(loc_id, name, idx, op, data)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":485
- *         r = _hdf5.H5Giterate(loc_id, name, idx, op, data)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 485; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":486
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":487
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":482
- * cdef herr_t H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Giterate(loc_id, name, idx, op, data)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Giterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_56, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Giterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":489
- *         return r
- * 
- * cdef herr_t H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gget_objinfo(hid_t __pyx_v_loc_id, char *__pyx_v_name, int __pyx_v_follow_link, H5G_stat_t *__pyx_v_statbuf) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_objinfo", 0);
-
-  /* "h5py/defs.pyx":491
- * cdef herr_t H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objinfo(loc_id, name, follow_link, statbuf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":492
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gget_objinfo(loc_id, name, follow_link, statbuf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_objinfo(__pyx_v_loc_id, __pyx_v_name, __pyx_v_follow_link, __pyx_v_statbuf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":493
- *     with rlock:
- *         r = _hdf5.H5Gget_objinfo(loc_id, name, follow_link, statbuf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":494
- *         r = _hdf5.H5Gget_objinfo(loc_id, name, follow_link, statbuf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":495
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":496
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":491
- * cdef herr_t H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objinfo(loc_id, name, follow_link, statbuf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_objinfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_57, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_objinfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":498
- *         return r
- * 
- * cdef herr_t H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gget_linkval(hid_t __pyx_v_loc_id, char *__pyx_v_name, size_t __pyx_v_size, char *__pyx_v_value) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_linkval", 0);
-
-  /* "h5py/defs.pyx":500
- * cdef herr_t H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_linkval(loc_id, name, size, value)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":501
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gget_linkval(loc_id, name, size, value)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_linkval(__pyx_v_loc_id, __pyx_v_name, __pyx_v_size, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 501; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":502
- *     with rlock:
- *         r = _hdf5.H5Gget_linkval(loc_id, name, size, value)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":503
- *         r = _hdf5.H5Gget_linkval(loc_id, name, size, value)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":504
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":505
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gset_comment(hid_t loc_id, char *name, char *comment) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":500
- * cdef herr_t H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_linkval(loc_id, name, size, value)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_linkval", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_58, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_linkval", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":507
- *         return r
- * 
- * cdef herr_t H5Gset_comment(hid_t loc_id, char *name, char *comment) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gset_comment(hid_t __pyx_v_loc_id, char *__pyx_v_name, char *__pyx_v_comment) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gset_comment", 0);
-
-  /* "h5py/defs.pyx":509
- * cdef herr_t H5Gset_comment(hid_t loc_id, char *name, char *comment) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gset_comment(loc_id, name, comment)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":510
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gset_comment(loc_id, name, comment)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gset_comment(__pyx_v_loc_id, __pyx_v_name, __pyx_v_comment); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 510; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":511
- *     with rlock:
- *         r = _hdf5.H5Gset_comment(loc_id, name, comment)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":512
- *         r = _hdf5.H5Gset_comment(loc_id, name, comment)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":513
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":514
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":509
- * cdef herr_t H5Gset_comment(hid_t loc_id, char *name, char *comment) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gset_comment(loc_id, name, comment)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gset_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_59, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gset_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":516
- *         return r
- * 
- * cdef int H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Gget_comment(hid_t __pyx_v_loc_id, char *__pyx_v_name, size_t __pyx_v_bufsize, char *__pyx_v_comment) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_comment", 0);
-
-  /* "h5py/defs.pyx":518
- * cdef int H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_comment(loc_id, name, bufsize, comment)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":519
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Gget_comment(loc_id, name, bufsize, comment)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_comment(__pyx_v_loc_id, __pyx_v_name, __pyx_v_bufsize, __pyx_v_comment); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":520
- *     with rlock:
- *         r = _hdf5.H5Gget_comment(loc_id, name, bufsize, comment)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":521
- *         r = _hdf5.H5Gget_comment(loc_id, name, bufsize, comment)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":522
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":523
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":518
- * cdef int H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_comment(loc_id, name, bufsize, comment)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_60, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":525
- *         return r
- * 
- * cdef hid_t H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Gcreate_anon(hid_t __pyx_v_loc_id, hid_t __pyx_v_gcpl_id, hid_t __pyx_v_gapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gcreate_anon", 0);
-
-  /* "h5py/defs.pyx":527
- * cdef hid_t H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate_anon(loc_id, gcpl_id, gapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":528
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Gcreate_anon(loc_id, gcpl_id, gapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gcreate_anon(__pyx_v_loc_id, __pyx_v_gcpl_id, __pyx_v_gapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":529
- *     with rlock:
- *         r = _hdf5.H5Gcreate_anon(loc_id, gcpl_id, gapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":530
- *         r = _hdf5.H5Gcreate_anon(loc_id, gcpl_id, gapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":531
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":532
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":527
- * cdef hid_t H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate_anon(loc_id, gcpl_id, gapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gcreate_anon", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_61, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gcreate_anon", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":534
- *         return r
- * 
- * cdef hid_t H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Gcreate2(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_gcpl_id, hid_t __pyx_v_gapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gcreate2", 0);
-
-  /* "h5py/defs.pyx":536
- * cdef hid_t H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate2(loc_id, name, lcpl_id, gcpl_id, gapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":537
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Gcreate2(loc_id, name, lcpl_id, gcpl_id, gapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gcreate2(__pyx_v_loc_id, __pyx_v_name, __pyx_v_lcpl_id, __pyx_v_gcpl_id, __pyx_v_gapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":538
- *     with rlock:
- *         r = _hdf5.H5Gcreate2(loc_id, name, lcpl_id, gcpl_id, gapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":539
- *         r = _hdf5.H5Gcreate2(loc_id, name, lcpl_id, gcpl_id, gapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":540
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":541
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":536
- * cdef hid_t H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate2(loc_id, name, lcpl_id, gcpl_id, gapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gcreate2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_62, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gcreate2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":543
- *         return r
- * 
- * cdef hid_t H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Gopen2(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_gapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gopen2", 0);
-
-  /* "h5py/defs.pyx":545
- * cdef hid_t H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gopen2(loc_id, name, gapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":546
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Gopen2(loc_id, name, gapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gopen2(__pyx_v_loc_id, __pyx_v_name, __pyx_v_gapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":547
- *     with rlock:
- *         r = _hdf5.H5Gopen2(loc_id, name, gapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":548
- *         r = _hdf5.H5Gopen2(loc_id, name, gapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":549
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":550
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gget_info( hid_t group_id, H5G_info_t *group_info) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":545
- * cdef hid_t H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gopen2(loc_id, name, gapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gopen2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_63, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gopen2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":552
- *         return r
- * 
- * cdef herr_t H5Gget_info( hid_t group_id, H5G_info_t *group_info) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gget_info(hid_t __pyx_v_group_id, H5G_info_t *__pyx_v_group_info) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_info", 0);
-
-  /* "h5py/defs.pyx":554
- * cdef herr_t H5Gget_info( hid_t group_id, H5G_info_t *group_info) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_info(group_id, group_info)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":555
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gget_info(group_id, group_info)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_info(__pyx_v_group_id, __pyx_v_group_info); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 555; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":556
- *     with rlock:
- *         r = _hdf5.H5Gget_info(group_id, group_info)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":557
- *         r = _hdf5.H5Gget_info(group_id, group_info)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 557; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":558
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":559
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":554
- * cdef herr_t H5Gget_info( hid_t group_id, H5G_info_t *group_info) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_info(group_id, group_info)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_64, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":561
- *         return r
- * 
- * cdef herr_t H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Gget_info_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5G_info_t *__pyx_v_group_info, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_info_by_name", 0);
-
-  /* "h5py/defs.pyx":563
- * cdef herr_t H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_info_by_name(loc_id, group_name, group_info, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":564
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Gget_info_by_name(loc_id, group_name, group_info, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_info_by_name(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_group_info, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 564; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":565
- *     with rlock:
- *         r = _hdf5.H5Gget_info_by_name(loc_id, group_name, group_info, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":566
- *         r = _hdf5.H5Gget_info_by_name(loc_id, group_name, group_info, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":567
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":568
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Gget_create_plist(hid_t group_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":563
- * cdef herr_t H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_info_by_name(loc_id, group_name, group_info, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_info_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_65, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_info_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":570
- *         return r
- * 
- * cdef hid_t H5Gget_create_plist(hid_t group_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Gget_create_plist(hid_t __pyx_v_group_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Gget_create_plist", 0);
-
-  /* "h5py/defs.pyx":572
- * cdef hid_t H5Gget_create_plist(hid_t group_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_create_plist(group_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":573
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Gget_create_plist(group_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Gget_create_plist(__pyx_v_group_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 573; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":574
- *     with rlock:
- *         r = _hdf5.H5Gget_create_plist(group_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":575
- *         r = _hdf5.H5Gget_create_plist(group_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":576
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":577
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5I_type_t H5Iget_type(hid_t obj_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":572
- * cdef hid_t H5Gget_create_plist(hid_t group_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_create_plist(group_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Gget_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_66, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Gget_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":579
- *         return r
- * 
- * cdef H5I_type_t H5Iget_type(hid_t obj_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5I_type_t r
- *     with rlock:
- */
-
-static H5I_type_t __pyx_f_4h5py_4defs_H5Iget_type(hid_t __pyx_v_obj_id) {
-  H5I_type_t __pyx_v_r;
-  H5I_type_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5I_type_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Iget_type", 0);
-
-  /* "h5py/defs.pyx":581
- * cdef H5I_type_t H5Iget_type(hid_t obj_id) except *:
- *     cdef H5I_type_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_type(obj_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":582
- *     cdef H5I_type_t r
- *     with rlock:
- *         r = _hdf5.H5Iget_type(obj_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Iget_type(__pyx_v_obj_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 582; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":583
- *     with rlock:
- *         r = _hdf5.H5Iget_type(obj_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5I_type_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":584
- *         r = _hdf5.H5Iget_type(obj_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5I_type_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 584; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":585
- *         if r<0:
- *             if set_exception():
- *                 return <H5I_type_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5I_type_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":586
- *             if set_exception():
- *                 return <H5I_type_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5Iget_name( hid_t obj_id, char *name, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":581
- * cdef H5I_type_t H5Iget_type(hid_t obj_id) except *:
- *     cdef H5I_type_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_type(obj_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Iget_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_67, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Iget_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":588
- *         return r
- * 
- * cdef ssize_t H5Iget_name( hid_t obj_id, char *name, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5Iget_name(hid_t __pyx_v_obj_id, char *__pyx_v_name, size_t __pyx_v_size) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Iget_name", 0);
-
-  /* "h5py/defs.pyx":590
- * cdef ssize_t H5Iget_name( hid_t obj_id, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_name(obj_id, name, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":591
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5Iget_name(obj_id, name, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Iget_name(__pyx_v_obj_id, __pyx_v_name, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":592
- *     with rlock:
- *         r = _hdf5.H5Iget_name(obj_id, name, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":593
- *         r = _hdf5.H5Iget_name(obj_id, name, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 593; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":594
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":595
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Iget_file_id(hid_t obj_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":590
- * cdef ssize_t H5Iget_name( hid_t obj_id, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_name(obj_id, name, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Iget_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_68, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Iget_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":597
- *         return r
- * 
- * cdef hid_t H5Iget_file_id(hid_t obj_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Iget_file_id(hid_t __pyx_v_obj_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Iget_file_id", 0);
-
-  /* "h5py/defs.pyx":599
- * cdef hid_t H5Iget_file_id(hid_t obj_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_file_id(obj_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":600
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Iget_file_id(obj_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Iget_file_id(__pyx_v_obj_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 600; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":601
- *     with rlock:
- *         r = _hdf5.H5Iget_file_id(obj_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":602
- *         r = _hdf5.H5Iget_file_id(obj_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 602; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":603
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":604
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Idec_ref(hid_t obj_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":599
- * cdef hid_t H5Iget_file_id(hid_t obj_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_file_id(obj_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Iget_file_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_69, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Iget_file_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":606
- *         return r
- * 
- * cdef int H5Idec_ref(hid_t obj_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Idec_ref(hid_t __pyx_v_obj_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Idec_ref", 0);
-
-  /* "h5py/defs.pyx":608
- * cdef int H5Idec_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Idec_ref(obj_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":609
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Idec_ref(obj_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Idec_ref(__pyx_v_obj_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":610
- *     with rlock:
- *         r = _hdf5.H5Idec_ref(obj_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":611
- *         r = _hdf5.H5Idec_ref(obj_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 611; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":612
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":613
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Iget_ref(hid_t obj_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":608
- * cdef int H5Idec_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Idec_ref(obj_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Idec_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_70, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Idec_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":615
- *         return r
- * 
- * cdef int H5Iget_ref(hid_t obj_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Iget_ref(hid_t __pyx_v_obj_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Iget_ref", 0);
-
-  /* "h5py/defs.pyx":617
- * cdef int H5Iget_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_ref(obj_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":618
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Iget_ref(obj_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Iget_ref(__pyx_v_obj_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":619
- *     with rlock:
- *         r = _hdf5.H5Iget_ref(obj_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":620
- *         r = _hdf5.H5Iget_ref(obj_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":621
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":622
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Iinc_ref(hid_t obj_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":617
- * cdef int H5Iget_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_ref(obj_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Iget_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_71, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Iget_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":624
- *         return r
- * 
- * cdef int H5Iinc_ref(hid_t obj_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Iinc_ref(hid_t __pyx_v_obj_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Iinc_ref", 0);
-
-  /* "h5py/defs.pyx":626
- * cdef int H5Iinc_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iinc_ref(obj_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":627
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Iinc_ref(obj_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Iinc_ref(__pyx_v_obj_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":628
- *     with rlock:
- *         r = _hdf5.H5Iinc_ref(obj_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":629
- *         r = _hdf5.H5Iinc_ref(obj_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":630
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":631
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":626
- * cdef int H5Iinc_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iinc_ref(obj_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Iinc_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_72, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Iinc_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":633
- *         return r
- * 
- * cdef herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lmove(hid_t __pyx_v_src_loc, char *__pyx_v_src_name, hid_t __pyx_v_dst_loc, char *__pyx_v_dst_name, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lmove", 0);
-
-  /* "h5py/defs.pyx":635
- * cdef herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lmove(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":636
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lmove(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lmove(__pyx_v_src_loc, __pyx_v_src_name, __pyx_v_dst_loc, __pyx_v_dst_name, __pyx_v_lcpl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":637
- *     with rlock:
- *         r = _hdf5.H5Lmove(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":638
- *         r = _hdf5.H5Lmove(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 638; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":639
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":640
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":635
- * cdef herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lmove(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lmove", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_73, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lmove", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":642
- *         return r
- * 
- * cdef herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lcopy(hid_t __pyx_v_src_loc, char *__pyx_v_src_name, hid_t __pyx_v_dst_loc, char *__pyx_v_dst_name, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lcopy", 0);
-
-  /* "h5py/defs.pyx":644
- * cdef herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcopy(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":645
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lcopy(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lcopy(__pyx_v_src_loc, __pyx_v_src_name, __pyx_v_dst_loc, __pyx_v_dst_name, __pyx_v_lcpl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 645; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":646
- *     with rlock:
- *         r = _hdf5.H5Lcopy(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":647
- *         r = _hdf5.H5Lcopy(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":648
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":649
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":644
- * cdef herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcopy(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lcopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_74, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lcopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":651
- *         return r
- * 
- * cdef herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lcreate_hard(hid_t __pyx_v_cur_loc, char *__pyx_v_cur_name, hid_t __pyx_v_dst_loc, char *__pyx_v_dst_name, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lcreate_hard", 0);
-
-  /* "h5py/defs.pyx":653
- * cdef herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_hard(cur_loc, cur_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":654
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lcreate_hard(cur_loc, cur_name, dst_loc, dst_name, lcpl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lcreate_hard(__pyx_v_cur_loc, __pyx_v_cur_name, __pyx_v_dst_loc, __pyx_v_dst_name, __pyx_v_lcpl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":655
- *     with rlock:
- *         r = _hdf5.H5Lcreate_hard(cur_loc, cur_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":656
- *         r = _hdf5.H5Lcreate_hard(cur_loc, cur_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":657
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":658
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":653
- * cdef herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_hard(cur_loc, cur_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lcreate_hard", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_75, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lcreate_hard", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":660
- *         return r
- * 
- * cdef herr_t H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lcreate_soft(char *__pyx_v_link_target, hid_t __pyx_v_link_loc_id, char *__pyx_v_link_name, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lcreate_soft", 0);
-
-  /* "h5py/defs.pyx":662
- * cdef herr_t H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_soft(link_target, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":663
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lcreate_soft(link_target, link_loc_id, link_name, lcpl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lcreate_soft(__pyx_v_link_target, __pyx_v_link_loc_id, __pyx_v_link_name, __pyx_v_lcpl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 663; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":664
- *     with rlock:
- *         r = _hdf5.H5Lcreate_soft(link_target, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":665
- *         r = _hdf5.H5Lcreate_soft(link_target, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":666
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":667
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":662
- * cdef herr_t H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_soft(link_target, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lcreate_soft", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_76, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lcreate_soft", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":669
- *         return r
- * 
- * cdef herr_t H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Ldelete(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Ldelete", 0);
-
-  /* "h5py/defs.pyx":671
- * cdef herr_t H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ldelete(loc_id, name, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":672
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Ldelete(loc_id, name, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Ldelete(__pyx_v_loc_id, __pyx_v_name, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 672; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":673
- *     with rlock:
- *         r = _hdf5.H5Ldelete(loc_id, name, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":674
- *         r = _hdf5.H5Ldelete(loc_id, name, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 674; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":675
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":676
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":671
- * cdef herr_t H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ldelete(loc_id, name, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Ldelete", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_77, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Ldelete", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":678
- *         return r
- * 
- * cdef herr_t H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Ldelete_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Ldelete_by_idx", 0);
-
-  /* "h5py/defs.pyx":680
- * cdef herr_t H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ldelete_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":681
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Ldelete_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Ldelete_by_idx(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":682
- *     with rlock:
- *         r = _hdf5.H5Ldelete_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":683
- *         r = _hdf5.H5Ldelete_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 683; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":684
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":685
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":680
- * cdef herr_t H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ldelete_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Ldelete_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_78, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Ldelete_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":687
- *         return r
- * 
- * cdef herr_t H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lget_val(hid_t __pyx_v_loc_id, char *__pyx_v_name, void *__pyx_v_bufout, size_t __pyx_v_size, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lget_val", 0);
-
-  /* "h5py/defs.pyx":689
- * cdef herr_t H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_val(loc_id, name, bufout, size, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":690
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lget_val(loc_id, name, bufout, size, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lget_val(__pyx_v_loc_id, __pyx_v_name, __pyx_v_bufout, __pyx_v_size, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":691
- *     with rlock:
- *         r = _hdf5.H5Lget_val(loc_id, name, bufout, size, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":692
- *         r = _hdf5.H5Lget_val(loc_id, name, bufout, size, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":693
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":694
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":689
- * cdef herr_t H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_val(loc_id, name, bufout, size, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lget_val", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_79, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lget_val", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":696
- *         return r
- * 
- * cdef herr_t H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lget_val_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, void *__pyx_v_bufout, size_t __pyx_v_size, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lget_val_by_idx", 0);
-
-  /* "h5py/defs.pyx":698
- * cdef herr_t H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_val_by_idx(loc_id, group_name, idx_type, order, n, bufout, size, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":699
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lget_val_by_idx(loc_id, group_name, idx_type, order, n, bufout, size, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lget_val_by_idx(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_bufout, __pyx_v_size, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":700
- *     with rlock:
- *         r = _hdf5.H5Lget_val_by_idx(loc_id, group_name, idx_type, order, n, bufout, size, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":701
- *         r = _hdf5.H5Lget_val_by_idx(loc_id, group_name, idx_type, order, n, bufout, size, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 701; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":702
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":703
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Lexists(hid_t loc_id, char *name, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":698
- * cdef herr_t H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_val_by_idx(loc_id, group_name, idx_type, order, n, bufout, size, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lget_val_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_80, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lget_val_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":705
- *         return r
- * 
- * cdef htri_t H5Lexists(hid_t loc_id, char *name, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Lexists(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_lapl_id) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lexists", 0);
-
-  /* "h5py/defs.pyx":707
- * cdef htri_t H5Lexists(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lexists(loc_id, name, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":708
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Lexists(loc_id, name, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lexists(__pyx_v_loc_id, __pyx_v_name, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 708; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":709
- *     with rlock:
- *         r = _hdf5.H5Lexists(loc_id, name, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":710
- *         r = _hdf5.H5Lexists(loc_id, name, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":711
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":712
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":707
- * cdef htri_t H5Lexists(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lexists(loc_id, name, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lexists", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_81, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lexists", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":714
- *         return r
- * 
- * cdef herr_t H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lget_info(hid_t __pyx_v_loc_id, char *__pyx_v_name, H5L_info_t *__pyx_v_linfo, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lget_info", 0);
-
-  /* "h5py/defs.pyx":716
- * cdef herr_t H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_info(loc_id, name, linfo, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":717
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lget_info(loc_id, name, linfo, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lget_info(__pyx_v_loc_id, __pyx_v_name, __pyx_v_linfo, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":718
- *     with rlock:
- *         r = _hdf5.H5Lget_info(loc_id, name, linfo, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":719
- *         r = _hdf5.H5Lget_info(loc_id, name, linfo, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 719; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":720
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":721
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":716
- * cdef herr_t H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_info(loc_id, name, linfo, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lget_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_82, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lget_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":723
- *         return r
- * 
- * cdef herr_t H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lget_info_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, H5L_info_t *__pyx_v_linfo, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lget_info_by_idx", 0);
-
-  /* "h5py/defs.pyx":725
- * cdef herr_t H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_info_by_idx(loc_id, group_name, idx_type, order, n, linfo, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":726
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lget_info_by_idx(loc_id, group_name, idx_type, order, n, linfo, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lget_info_by_idx(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_linfo, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":727
- *     with rlock:
- *         r = _hdf5.H5Lget_info_by_idx(loc_id, group_name, idx_type, order, n, linfo, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":728
- *         r = _hdf5.H5Lget_info_by_idx(loc_id, group_name, idx_type, order, n, linfo, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 728; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":729
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":730
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":725
- * cdef herr_t H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_info_by_idx(loc_id, group_name, idx_type, order, n, linfo, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lget_info_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_83, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lget_info_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":732
- *         return r
- * 
- * cdef ssize_t H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5Lget_name_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, char *__pyx_v_name, size_t __pyx_v_size, hid_t __pyx_v_lapl_id) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lget_name_by_idx", 0);
-
-  /* "h5py/defs.pyx":734
- * cdef ssize_t H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_name_by_idx(loc_id, group_name, idx_type, order, n, name, size, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":735
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5Lget_name_by_idx(loc_id, group_name, idx_type, order, n, name, size, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lget_name_by_idx(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_name, __pyx_v_size, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":736
- *     with rlock:
- *         r = _hdf5.H5Lget_name_by_idx(loc_id, group_name, idx_type, order, n, name, size, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":737
- *         r = _hdf5.H5Lget_name_by_idx(loc_id, group_name, idx_type, order, n, name, size, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":738
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":739
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":734
- * cdef ssize_t H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_name_by_idx(loc_id, group_name, idx_type, order, n, name, size, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lget_name_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_84, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lget_name_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":741
- *         return r
- * 
- * cdef herr_t H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Literate(hid_t __pyx_v_grp_id, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t *__pyx_v_idx, H5L_iterate_t __pyx_v_op, void *__pyx_v_op_data) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Literate", 0);
-
-  /* "h5py/defs.pyx":743
- * cdef herr_t H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Literate(grp_id, idx_type, order, idx, op, op_data)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":744
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Literate(grp_id, idx_type, order, idx, op, op_data)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Literate(__pyx_v_grp_id, __pyx_v_idx_type, __pyx_v_order, __pyx_v_idx, __pyx_v_op, __pyx_v_op_data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 744; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":745
- *     with rlock:
- *         r = _hdf5.H5Literate(grp_id, idx_type, order, idx, op, op_data)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":746
- *         r = _hdf5.H5Literate(grp_id, idx_type, order, idx, op, op_data)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":747
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":748
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":743
- * cdef herr_t H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Literate(grp_id, idx_type, order, idx, op, op_data)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Literate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_85, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Literate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":750
- *         return r
- * 
- * cdef herr_t H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Literate_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t *__pyx_v_idx, H5L_iterate_t __pyx_v_op, void *__pyx_v_op_data, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Literate_by_name", 0);
-
-  /* "h5py/defs.pyx":752
- * cdef herr_t H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Literate_by_name(loc_id, group_name, idx_type, order, idx, op, op_data, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":753
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Literate_by_name(loc_id, group_name, idx_type, order, idx, op, op_data, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Literate_by_name(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_idx, __pyx_v_op, __pyx_v_op_data, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":754
- *     with rlock:
- *         r = _hdf5.H5Literate_by_name(loc_id, group_name, idx_type, order, idx, op, op_data, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":755
- *         r = _hdf5.H5Literate_by_name(loc_id, group_name, idx_type, order, idx, op, op_data, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":756
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":757
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":752
- * cdef herr_t H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Literate_by_name(loc_id, group_name, idx_type, order, idx, op, op_data, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Literate_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_86, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Literate_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":759
- *         return r
- * 
- * cdef herr_t H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lvisit(hid_t __pyx_v_grp_id, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, H5L_iterate_t __pyx_v_op, void *__pyx_v_op_data) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lvisit", 0);
-
-  /* "h5py/defs.pyx":761
- * cdef herr_t H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lvisit(grp_id, idx_type, order, op, op_data)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":762
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lvisit(grp_id, idx_type, order, op, op_data)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lvisit(__pyx_v_grp_id, __pyx_v_idx_type, __pyx_v_order, __pyx_v_op, __pyx_v_op_data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":763
- *     with rlock:
- *         r = _hdf5.H5Lvisit(grp_id, idx_type, order, op, op_data)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":764
- *         r = _hdf5.H5Lvisit(grp_id, idx_type, order, op, op_data)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":765
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":766
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":761
- * cdef herr_t H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lvisit(grp_id, idx_type, order, op, op_data)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lvisit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_87, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lvisit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":768
- *         return r
- * 
- * cdef herr_t H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lvisit_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, H5L_iterate_t __pyx_v_op, void *__pyx_v_op_data, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lvisit_by_name", 0);
-
-  /* "h5py/defs.pyx":770
- * cdef herr_t H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lvisit_by_name(loc_id, group_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":771
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lvisit_by_name(loc_id, group_name, idx_type, order, op, op_data, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lvisit_by_name(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_op, __pyx_v_op_data, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":772
- *     with rlock:
- *         r = _hdf5.H5Lvisit_by_name(loc_id, group_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":773
- *         r = _hdf5.H5Lvisit_by_name(loc_id, group_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":774
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":775
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":770
- * cdef herr_t H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lvisit_by_name(loc_id, group_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lvisit_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_88, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lvisit_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":777
- *         return r
- * 
- * cdef herr_t H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lunpack_elink_val(void *__pyx_v_ext_linkval, size_t __pyx_v_link_size, unsigned int *__pyx_v_flags, char **__pyx_v_filename, char **__pyx_v_obj_path) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lunpack_elink_val", 0);
-
-  /* "h5py/defs.pyx":779
- * cdef herr_t H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lunpack_elink_val(ext_linkval, link_size, flags, filename, obj_path)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":780
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lunpack_elink_val(ext_linkval, link_size, flags, filename, obj_path)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lunpack_elink_val(__pyx_v_ext_linkval, __pyx_v_link_size, __pyx_v_flags, __pyx_v_filename, __pyx_v_obj_path); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":781
- *     with rlock:
- *         r = _hdf5.H5Lunpack_elink_val(ext_linkval, link_size, flags, filename, obj_path)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":782
- *         r = _hdf5.H5Lunpack_elink_val(ext_linkval, link_size, flags, filename, obj_path)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":783
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":784
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":779
- * cdef herr_t H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lunpack_elink_val(ext_linkval, link_size, flags, filename, obj_path)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lunpack_elink_val", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_89, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lunpack_elink_val", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":786
- *         return r
- * 
- * cdef herr_t H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Lcreate_external(char *__pyx_v_file_name, char *__pyx_v_obj_name, hid_t __pyx_v_link_loc_id, char *__pyx_v_link_name, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Lcreate_external", 0);
-
-  /* "h5py/defs.pyx":788
- * cdef herr_t H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_external(file_name, obj_name, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":789
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Lcreate_external(file_name, obj_name, link_loc_id, link_name, lcpl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Lcreate_external(__pyx_v_file_name, __pyx_v_obj_name, __pyx_v_link_loc_id, __pyx_v_link_name, __pyx_v_lcpl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":790
- *     with rlock:
- *         r = _hdf5.H5Lcreate_external(file_name, obj_name, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":791
- *         r = _hdf5.H5Lcreate_external(file_name, obj_name, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":792
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":793
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Oopen(hid_t loc_id, char *name, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":788
- * cdef herr_t H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_external(file_name, obj_name, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Lcreate_external", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_90, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Lcreate_external", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":795
- *         return r
- * 
- * cdef hid_t H5Oopen(hid_t loc_id, char *name, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Oopen(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_lapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oopen", 0);
-
-  /* "h5py/defs.pyx":797
- * cdef hid_t H5Oopen(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen(loc_id, name, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":798
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Oopen(loc_id, name, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oopen(__pyx_v_loc_id, __pyx_v_name, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":799
- *     with rlock:
- *         r = _hdf5.H5Oopen(loc_id, name, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":800
- *         r = _hdf5.H5Oopen(loc_id, name, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 800; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":801
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":802
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":797
- * cdef hid_t H5Oopen(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen(loc_id, name, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_91, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":804
- *         return r
- * 
- * cdef hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Oopen_by_addr(hid_t __pyx_v_loc_id, haddr_t __pyx_v_addr) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oopen_by_addr", 0);
-
-  /* "h5py/defs.pyx":806
- * cdef hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen_by_addr(loc_id, addr)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":807
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Oopen_by_addr(loc_id, addr)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oopen_by_addr(__pyx_v_loc_id, __pyx_v_addr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":808
- *     with rlock:
- *         r = _hdf5.H5Oopen_by_addr(loc_id, addr)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":809
- *         r = _hdf5.H5Oopen_by_addr(loc_id, addr)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":810
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":811
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":806
- * cdef hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen_by_addr(loc_id, addr)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oopen_by_addr", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_92, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oopen_by_addr", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":813
- *         return r
- * 
- * cdef hid_t H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Oopen_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, hid_t __pyx_v_lapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oopen_by_idx", 0);
-
-  /* "h5py/defs.pyx":815
- * cdef hid_t H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":816
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Oopen_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oopen_by_idx(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":817
- *     with rlock:
- *         r = _hdf5.H5Oopen_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":818
- *         r = _hdf5.H5Oopen_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":819
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":820
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":815
- * cdef hid_t H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oopen_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_93, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oopen_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":822
- *         return r
- * 
- * cdef herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Oget_info(hid_t __pyx_v_loc_id, H5O_info_t *__pyx_v_oinfo) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oget_info", 0);
-
-  /* "h5py/defs.pyx":824
- * cdef herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info(loc_id, oinfo)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":825
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Oget_info(loc_id, oinfo)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oget_info(__pyx_v_loc_id, __pyx_v_oinfo); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":826
- *     with rlock:
- *         r = _hdf5.H5Oget_info(loc_id, oinfo)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":827
- *         r = _hdf5.H5Oget_info(loc_id, oinfo)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":828
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":829
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":824
- * cdef herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info(loc_id, oinfo)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oget_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_94, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oget_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":831
- *         return r
- * 
- * cdef herr_t H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Oget_info_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_name, H5O_info_t *__pyx_v_oinfo, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oget_info_by_name", 0);
-
-  /* "h5py/defs.pyx":833
- * cdef herr_t H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info_by_name(loc_id, name, oinfo, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":834
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Oget_info_by_name(loc_id, name, oinfo, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oget_info_by_name(__pyx_v_loc_id, __pyx_v_name, __pyx_v_oinfo, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":835
- *     with rlock:
- *         r = _hdf5.H5Oget_info_by_name(loc_id, name, oinfo, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":836
- *         r = _hdf5.H5Oget_info_by_name(loc_id, name, oinfo, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":837
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":838
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":833
- * cdef herr_t H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info_by_name(loc_id, name, oinfo, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oget_info_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_95, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oget_info_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":840
- *         return r
- * 
- * cdef herr_t H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Oget_info_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_group_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, H5O_info_t *__pyx_v_oinfo, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oget_info_by_idx", 0);
-
-  /* "h5py/defs.pyx":842
- * cdef herr_t H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":843
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oget_info_by_idx(__pyx_v_loc_id, __pyx_v_group_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_oinfo, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":844
- *     with rlock:
- *         r = _hdf5.H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":845
- *         r = _hdf5.H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":846
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":847
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":842
- * cdef herr_t H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oget_info_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_96, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oget_info_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":849
- *         return r
- * 
- * cdef herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Olink(hid_t __pyx_v_obj_id, hid_t __pyx_v_new_loc_id, char *__pyx_v_new_name, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Olink", 0);
-
-  /* "h5py/defs.pyx":851
- * cdef herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Olink(obj_id, new_loc_id, new_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":852
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Olink(obj_id, new_loc_id, new_name, lcpl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Olink(__pyx_v_obj_id, __pyx_v_new_loc_id, __pyx_v_new_name, __pyx_v_lcpl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":853
- *     with rlock:
- *         r = _hdf5.H5Olink(obj_id, new_loc_id, new_name, lcpl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":854
- *         r = _hdf5.H5Olink(obj_id, new_loc_id, new_name, lcpl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":855
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":856
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":851
- * cdef herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Olink(obj_id, new_loc_id, new_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Olink", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_97, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Olink", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":858
- *         return r
- * 
- * cdef herr_t H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Ocopy(hid_t __pyx_v_src_loc_id, char *__pyx_v_src_name, hid_t __pyx_v_dst_loc_id, char *__pyx_v_dst_name, hid_t __pyx_v_ocpypl_id, hid_t __pyx_v_lcpl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Ocopy", 0);
-
-  /* "h5py/defs.pyx":860
- * cdef herr_t H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ocopy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":861
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Ocopy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Ocopy(__pyx_v_src_loc_id, __pyx_v_src_name, __pyx_v_dst_loc_id, __pyx_v_dst_name, __pyx_v_ocpypl_id, __pyx_v_lcpl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 861; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":862
- *     with rlock:
- *         r = _hdf5.H5Ocopy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":863
- *         r = _hdf5.H5Ocopy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":864
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":865
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Oincr_refcount(hid_t object_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":860
- * cdef herr_t H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ocopy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Ocopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_98, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Ocopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":867
- *         return r
- * 
- * cdef herr_t H5Oincr_refcount(hid_t object_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Oincr_refcount(hid_t __pyx_v_object_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oincr_refcount", 0);
-
-  /* "h5py/defs.pyx":869
- * cdef herr_t H5Oincr_refcount(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oincr_refcount(object_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":870
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Oincr_refcount(object_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oincr_refcount(__pyx_v_object_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":871
- *     with rlock:
- *         r = _hdf5.H5Oincr_refcount(object_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":872
- *         r = _hdf5.H5Oincr_refcount(object_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":873
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":874
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Odecr_refcount(hid_t object_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":869
- * cdef herr_t H5Oincr_refcount(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oincr_refcount(object_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oincr_refcount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_99, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oincr_refcount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":876
- *         return r
- * 
- * cdef herr_t H5Odecr_refcount(hid_t object_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Odecr_refcount(hid_t __pyx_v_object_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Odecr_refcount", 0);
-
-  /* "h5py/defs.pyx":878
- * cdef herr_t H5Odecr_refcount(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Odecr_refcount(object_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":879
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Odecr_refcount(object_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Odecr_refcount(__pyx_v_object_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":880
- *     with rlock:
- *         r = _hdf5.H5Odecr_refcount(object_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":881
- *         r = _hdf5.H5Odecr_refcount(object_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 881; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":882
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":883
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Oset_comment(hid_t obj_id, char *comment) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":878
- * cdef herr_t H5Odecr_refcount(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Odecr_refcount(object_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Odecr_refcount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_100, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Odecr_refcount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":885
- *         return r
- * 
- * cdef herr_t H5Oset_comment(hid_t obj_id, char *comment) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Oset_comment(hid_t __pyx_v_obj_id, char *__pyx_v_comment) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oset_comment", 0);
-
-  /* "h5py/defs.pyx":887
- * cdef herr_t H5Oset_comment(hid_t obj_id, char *comment) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oset_comment(obj_id, comment)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":888
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Oset_comment(obj_id, comment)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oset_comment(__pyx_v_obj_id, __pyx_v_comment); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":889
- *     with rlock:
- *         r = _hdf5.H5Oset_comment(obj_id, comment)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":890
- *         r = _hdf5.H5Oset_comment(obj_id, comment)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":891
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":892
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":887
- * cdef herr_t H5Oset_comment(hid_t obj_id, char *comment) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oset_comment(obj_id, comment)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oset_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_101, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oset_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":894
- *         return r
- * 
- * cdef herr_t H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Oset_comment_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_name, char *__pyx_v_comment, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oset_comment_by_name", 0);
-
-  /* "h5py/defs.pyx":896
- * cdef herr_t H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oset_comment_by_name(loc_id, name, comment, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":897
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Oset_comment_by_name(loc_id, name, comment, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oset_comment_by_name(__pyx_v_loc_id, __pyx_v_name, __pyx_v_comment, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":898
- *     with rlock:
- *         r = _hdf5.H5Oset_comment_by_name(loc_id, name, comment, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":899
- *         r = _hdf5.H5Oset_comment_by_name(loc_id, name, comment, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":900
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":901
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":896
- * cdef herr_t H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oset_comment_by_name(loc_id, name, comment, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oset_comment_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_102, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oset_comment_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":903
- *         return r
- * 
- * cdef ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5Oget_comment(hid_t __pyx_v_obj_id, char *__pyx_v_comment, size_t __pyx_v_bufsize) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oget_comment", 0);
-
-  /* "h5py/defs.pyx":905
- * cdef ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_comment(obj_id, comment, bufsize)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":906
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5Oget_comment(obj_id, comment, bufsize)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oget_comment(__pyx_v_obj_id, __pyx_v_comment, __pyx_v_bufsize); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":907
- *     with rlock:
- *         r = _hdf5.H5Oget_comment(obj_id, comment, bufsize)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":908
- *         r = _hdf5.H5Oget_comment(obj_id, comment, bufsize)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":909
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":910
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":905
- * cdef ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_comment(obj_id, comment, bufsize)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oget_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_103, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oget_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":912
- *         return r
- * 
- * cdef ssize_t H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5Oget_comment_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_name, char *__pyx_v_comment, size_t __pyx_v_bufsize, hid_t __pyx_v_lapl_id) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oget_comment_by_name", 0);
-
-  /* "h5py/defs.pyx":914
- * cdef ssize_t H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_comment_by_name(loc_id, name, comment, bufsize, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":915
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5Oget_comment_by_name(loc_id, name, comment, bufsize, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oget_comment_by_name(__pyx_v_loc_id, __pyx_v_name, __pyx_v_comment, __pyx_v_bufsize, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":916
- *     with rlock:
- *         r = _hdf5.H5Oget_comment_by_name(loc_id, name, comment, bufsize, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":917
- *         r = _hdf5.H5Oget_comment_by_name(loc_id, name, comment, bufsize, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":918
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":919
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":914
- * cdef ssize_t H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_comment_by_name(loc_id, name, comment, bufsize, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oget_comment_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_104, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oget_comment_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":921
- *         return r
- * 
- * cdef herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Ovisit(hid_t __pyx_v_obj_id, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, H5O_iterate_t __pyx_v_op, void *__pyx_v_op_data) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Ovisit", 0);
-
-  /* "h5py/defs.pyx":923
- * cdef herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ovisit(obj_id, idx_type, order, op, op_data)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":924
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Ovisit(obj_id, idx_type, order, op, op_data)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Ovisit(__pyx_v_obj_id, __pyx_v_idx_type, __pyx_v_order, __pyx_v_op, __pyx_v_op_data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":925
- *     with rlock:
- *         r = _hdf5.H5Ovisit(obj_id, idx_type, order, op, op_data)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":926
- *         r = _hdf5.H5Ovisit(obj_id, idx_type, order, op, op_data)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":927
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":928
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":923
- * cdef herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ovisit(obj_id, idx_type, order, op, op_data)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Ovisit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_105, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Ovisit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":930
- *         return r
- * 
- * cdef herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Ovisit_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, H5O_iterate_t __pyx_v_op, void *__pyx_v_op_data, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Ovisit_by_name", 0);
-
-  /* "h5py/defs.pyx":932
- * cdef herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ovisit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":933
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Ovisit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Ovisit_by_name(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_op, __pyx_v_op_data, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":934
- *     with rlock:
- *         r = _hdf5.H5Ovisit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":935
- *         r = _hdf5.H5Ovisit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 935; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":936
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":937
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Oclose(hid_t object_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":932
- * cdef herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ovisit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Ovisit_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_106, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Ovisit_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":939
- *         return r
- * 
- * cdef herr_t H5Oclose(hid_t object_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Oclose(hid_t __pyx_v_object_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Oclose", 0);
-
-  /* "h5py/defs.pyx":941
- * cdef herr_t H5Oclose(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oclose(object_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":942
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Oclose(object_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Oclose(__pyx_v_object_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 942; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":943
- *     with rlock:
- *         r = _hdf5.H5Oclose(object_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":944
- *         r = _hdf5.H5Oclose(object_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":945
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":946
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Pcreate(hid_t plist_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":941
- * cdef herr_t H5Oclose(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oclose(object_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Oclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_107, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Oclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":948
- *         return r
- * 
- * cdef hid_t H5Pcreate(hid_t plist_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Pcreate(hid_t __pyx_v_plist_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pcreate", 0);
-
-  /* "h5py/defs.pyx":950
- * cdef hid_t H5Pcreate(hid_t plist_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pcreate(plist_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":951
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Pcreate(plist_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pcreate(__pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":952
- *     with rlock:
- *         r = _hdf5.H5Pcreate(plist_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":953
- *         r = _hdf5.H5Pcreate(plist_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 953; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":954
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":955
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Pcopy(hid_t plist_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":950
- * cdef hid_t H5Pcreate(hid_t plist_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pcreate(plist_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_108, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":957
- *         return r
- * 
- * cdef hid_t H5Pcopy(hid_t plist_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Pcopy(hid_t __pyx_v_plist_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pcopy", 0);
-
-  /* "h5py/defs.pyx":959
- * cdef hid_t H5Pcopy(hid_t plist_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pcopy(plist_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":960
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Pcopy(plist_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pcopy(__pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 960; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":961
- *     with rlock:
- *         r = _hdf5.H5Pcopy(plist_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":962
- *         r = _hdf5.H5Pcopy(plist_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 962; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":963
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":964
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Pget_class(hid_t plist_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":959
- * cdef hid_t H5Pcopy(hid_t plist_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pcopy(plist_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pcopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_109, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pcopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":966
- *         return r
- * 
- * cdef int H5Pget_class(hid_t plist_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Pget_class(hid_t __pyx_v_plist_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_class", 0);
-
-  /* "h5py/defs.pyx":968
- * cdef int H5Pget_class(hid_t plist_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_class(plist_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":969
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Pget_class(plist_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_class(__pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":970
- *     with rlock:
- *         r = _hdf5.H5Pget_class(plist_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":971
- *         r = _hdf5.H5Pget_class(plist_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 971; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":972
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":973
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pclose(hid_t plist_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":968
- * cdef int H5Pget_class(hid_t plist_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_class(plist_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_110, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":975
- *         return r
- * 
- * cdef herr_t H5Pclose(hid_t plist_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pclose(hid_t __pyx_v_plist_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pclose", 0);
-
-  /* "h5py/defs.pyx":977
- * cdef herr_t H5Pclose(hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pclose(plist_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":978
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pclose(plist_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pclose(__pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":979
- *     with rlock:
- *         r = _hdf5.H5Pclose(plist_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":980
- *         r = _hdf5.H5Pclose(plist_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 980; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":981
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":982
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Pequal( hid_t id1, hid_t id2 ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":977
- * cdef herr_t H5Pclose(hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pclose(plist_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_111, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":984
- *         return r
- * 
- * cdef htri_t H5Pequal( hid_t id1, hid_t id2 ) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Pequal(hid_t __pyx_v_id1, hid_t __pyx_v_id2) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pequal", 0);
-
-  /* "h5py/defs.pyx":986
- * cdef htri_t H5Pequal( hid_t id1, hid_t id2 ) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pequal(id1, id2)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":987
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Pequal(id1, id2)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pequal(__pyx_v_id1, __pyx_v_id2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":988
- *     with rlock:
- *         r = _hdf5.H5Pequal(id1, id2)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":989
- *         r = _hdf5.H5Pequal(id1, id2)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 989; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":990
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":991
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pclose_class(hid_t id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":986
- * cdef htri_t H5Pequal( hid_t id1, hid_t id2 ) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pequal(id1, id2)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pequal", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_112, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pequal", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":993
- *         return r
- * 
- * cdef herr_t H5Pclose_class(hid_t id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pclose_class(hid_t __pyx_v_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pclose_class", 0);
-
-  /* "h5py/defs.pyx":995
- * cdef herr_t H5Pclose_class(hid_t id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pclose_class(id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":996
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pclose_class(id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pclose_class(__pyx_v_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 996; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":997
- *     with rlock:
- *         r = _hdf5.H5Pclose_class(id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":998
- *         r = _hdf5.H5Pclose_class(id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 998; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":999
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1000
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":995
- * cdef herr_t H5Pclose_class(hid_t id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pclose_class(id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pclose_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_113, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pclose_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1002
- *         return r
- * 
- * cdef herr_t H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_version(hid_t __pyx_v_plist, unsigned int *__pyx_v_super_, unsigned int *__pyx_v_freelist, unsigned int *__pyx_v_stab, unsigned int *__pyx_v_shhdr) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_version", 0);
-
-  /* "h5py/defs.pyx":1004
- * cdef herr_t H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_version(plist, super_, freelist, stab, shhdr)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1005
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_version(plist, super_, freelist, stab, shhdr)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_version(__pyx_v_plist, __pyx_v_super_, __pyx_v_freelist, __pyx_v_stab, __pyx_v_shhdr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1005; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1006
- *     with rlock:
- *         r = _hdf5.H5Pget_version(plist, super_, freelist, stab, shhdr)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1007
- *         r = _hdf5.H5Pget_version(plist, super_, freelist, stab, shhdr)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1007; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1008
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1009
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_userblock(hid_t plist, hsize_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1004
- * cdef herr_t H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_version(plist, super_, freelist, stab, shhdr)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_version", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_114, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_version", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1011
- *         return r
- * 
- * cdef herr_t H5Pset_userblock(hid_t plist, hsize_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_userblock(hid_t __pyx_v_plist, hsize_t __pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_userblock", 0);
-
-  /* "h5py/defs.pyx":1013
- * cdef herr_t H5Pset_userblock(hid_t plist, hsize_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_userblock(plist, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1014
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_userblock(plist, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_userblock(__pyx_v_plist, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1015
- *     with rlock:
- *         r = _hdf5.H5Pset_userblock(plist, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1016
- *         r = _hdf5.H5Pset_userblock(plist, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1017
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1018
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_userblock(hid_t plist, hsize_t * size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1013
- * cdef herr_t H5Pset_userblock(hid_t plist, hsize_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_userblock(plist, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_115, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1020
- *         return r
- * 
- * cdef herr_t H5Pget_userblock(hid_t plist, hsize_t * size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_userblock(hid_t __pyx_v_plist, hsize_t *__pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_userblock", 0);
-
-  /* "h5py/defs.pyx":1022
- * cdef herr_t H5Pget_userblock(hid_t plist, hsize_t * size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_userblock(plist, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1023
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_userblock(plist, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_userblock(__pyx_v_plist, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1024
- *     with rlock:
- *         r = _hdf5.H5Pget_userblock(plist, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1025
- *         r = _hdf5.H5Pget_userblock(plist, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1026
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1027
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1022
- * cdef herr_t H5Pget_userblock(hid_t plist, hsize_t * size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_userblock(plist, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_116, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1029
- *         return r
- * 
- * cdef herr_t H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_sizes(hid_t __pyx_v_plist, size_t __pyx_v_sizeof_addr, size_t __pyx_v_sizeof_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_sizes", 0);
-
-  /* "h5py/defs.pyx":1031
- * cdef herr_t H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1032
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_sizes(plist, sizeof_addr, sizeof_size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_sizes(__pyx_v_plist, __pyx_v_sizeof_addr, __pyx_v_sizeof_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1033
- *     with rlock:
- *         r = _hdf5.H5Pset_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1034
- *         r = _hdf5.H5Pset_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1034; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1035
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1036
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1031
- * cdef herr_t H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_117, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1038
- *         return r
- * 
- * cdef herr_t H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_sizes(hid_t __pyx_v_plist, size_t *__pyx_v_sizeof_addr, size_t *__pyx_v_sizeof_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_sizes", 0);
-
-  /* "h5py/defs.pyx":1040
- * cdef herr_t H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1041
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_sizes(plist, sizeof_addr, sizeof_size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_sizes(__pyx_v_plist, __pyx_v_sizeof_addr, __pyx_v_sizeof_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1041; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1042
- *     with rlock:
- *         r = _hdf5.H5Pget_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1043
- *         r = _hdf5.H5Pget_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1044
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1045
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1040
- * cdef herr_t H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_118, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1047
- *         return r
- * 
- * cdef herr_t H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_sym_k(hid_t __pyx_v_plist, unsigned int __pyx_v_ik, unsigned int __pyx_v_lk) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_sym_k", 0);
-
-  /* "h5py/defs.pyx":1049
- * cdef herr_t H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sym_k(plist, ik, lk)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1050
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_sym_k(plist, ik, lk)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_sym_k(__pyx_v_plist, __pyx_v_ik, __pyx_v_lk); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1050; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1051
- *     with rlock:
- *         r = _hdf5.H5Pset_sym_k(plist, ik, lk)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1052
- *         r = _hdf5.H5Pset_sym_k(plist, ik, lk)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1052; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1053
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1054
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1049
- * cdef herr_t H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sym_k(plist, ik, lk)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_sym_k", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_119, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_sym_k", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1056
- *         return r
- * 
- * cdef herr_t H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_sym_k(hid_t __pyx_v_plist, unsigned int *__pyx_v_ik, unsigned int *__pyx_v_lk) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_sym_k", 0);
-
-  /* "h5py/defs.pyx":1058
- * cdef herr_t H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sym_k(plist, ik, lk)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1059
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_sym_k(plist, ik, lk)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_sym_k(__pyx_v_plist, __pyx_v_ik, __pyx_v_lk); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1059; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1060
- *     with rlock:
- *         r = _hdf5.H5Pget_sym_k(plist, ik, lk)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1061
- *         r = _hdf5.H5Pget_sym_k(plist, ik, lk)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1062
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1063
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_istore_k(hid_t plist, unsigned int ik) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1058
- * cdef herr_t H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sym_k(plist, ik, lk)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_sym_k", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_120, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_sym_k", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1065
- *         return r
- * 
- * cdef herr_t H5Pset_istore_k(hid_t plist, unsigned int ik) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_istore_k(hid_t __pyx_v_plist, unsigned int __pyx_v_ik) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_istore_k", 0);
-
-  /* "h5py/defs.pyx":1067
- * cdef herr_t H5Pset_istore_k(hid_t plist, unsigned int ik) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_istore_k(plist, ik)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1068
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_istore_k(plist, ik)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_istore_k(__pyx_v_plist, __pyx_v_ik); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1068; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1069
- *     with rlock:
- *         r = _hdf5.H5Pset_istore_k(plist, ik)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1070
- *         r = _hdf5.H5Pset_istore_k(plist, ik)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1070; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1071
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1072
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_istore_k(hid_t plist, unsigned int *ik) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1067
- * cdef herr_t H5Pset_istore_k(hid_t plist, unsigned int ik) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_istore_k(plist, ik)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_istore_k", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_121, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_istore_k", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1074
- *         return r
- * 
- * cdef herr_t H5Pget_istore_k(hid_t plist, unsigned int *ik) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_istore_k(hid_t __pyx_v_plist, unsigned int *__pyx_v_ik) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_istore_k", 0);
-
-  /* "h5py/defs.pyx":1076
- * cdef herr_t H5Pget_istore_k(hid_t plist, unsigned int *ik) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_istore_k(plist, ik)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1077
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_istore_k(plist, ik)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_istore_k(__pyx_v_plist, __pyx_v_ik); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1078
- *     with rlock:
- *         r = _hdf5.H5Pget_istore_k(plist, ik)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1079
- *         r = _hdf5.H5Pget_istore_k(plist, ik)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1079; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1080
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1081
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t fc_degree) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1076
- * cdef herr_t H5Pget_istore_k(hid_t plist, unsigned int *ik) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_istore_k(plist, ik)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_istore_k", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_122, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_istore_k", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1083
- *         return r
- * 
- * cdef herr_t H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t fc_degree) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fclose_degree(hid_t __pyx_v_fapl_id, enum H5F_close_degree_t __pyx_v_fc_degree) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fclose_degree", 0);
-
-  /* "h5py/defs.pyx":1085
- * cdef herr_t H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t fc_degree) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fclose_degree(fapl_id, fc_degree)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1086
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fclose_degree(fapl_id, fc_degree)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fclose_degree(__pyx_v_fapl_id, __pyx_v_fc_degree); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1086; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1087
- *     with rlock:
- *         r = _hdf5.H5Pset_fclose_degree(fapl_id, fc_degree)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1088
- *         r = _hdf5.H5Pset_fclose_degree(fapl_id, fc_degree)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1089
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1090
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_fclose_degree(hid_t fapl_id, H5F_close_degree_t *fc_degree) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1085
- * cdef herr_t H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t fc_degree) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fclose_degree(fapl_id, fc_degree)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_123, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1092
- *         return r
- * 
- * cdef herr_t H5Pget_fclose_degree(hid_t fapl_id, H5F_close_degree_t *fc_degree) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_fclose_degree(hid_t __pyx_v_fapl_id, enum H5F_close_degree_t *__pyx_v_fc_degree) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_fclose_degree", 0);
-
-  /* "h5py/defs.pyx":1094
- * cdef herr_t H5Pget_fclose_degree(hid_t fapl_id, H5F_close_degree_t *fc_degree) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fclose_degree(fapl_id, fc_degree)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1095
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_fclose_degree(fapl_id, fc_degree)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_fclose_degree(__pyx_v_fapl_id, __pyx_v_fc_degree); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1095; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1096
- *     with rlock:
- *         r = _hdf5.H5Pget_fclose_degree(fapl_id, fc_degree)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1097
- *         r = _hdf5.H5Pget_fclose_degree(fapl_id, fc_degree)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1097; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1098
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1099
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fapl_core( hid_t fapl_id, size_t increment, hbool_t backing_store) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1094
- * cdef herr_t H5Pget_fclose_degree(hid_t fapl_id, H5F_close_degree_t *fc_degree) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fclose_degree(fapl_id, fc_degree)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_124, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1101
- *         return r
- * 
- * cdef herr_t H5Pset_fapl_core( hid_t fapl_id, size_t increment, hbool_t backing_store) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fapl_core(hid_t __pyx_v_fapl_id, size_t __pyx_v_increment, hbool_t __pyx_v_backing_store) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fapl_core", 0);
-
-  /* "h5py/defs.pyx":1103
- * cdef herr_t H5Pset_fapl_core( hid_t fapl_id, size_t increment, hbool_t backing_store) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1104
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_core(fapl_id, increment, backing_store)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fapl_core(__pyx_v_fapl_id, __pyx_v_increment, __pyx_v_backing_store); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1104; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1105
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1106
- *         r = _hdf5.H5Pset_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1107
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1108
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_fapl_core( hid_t fapl_id, size_t *increment, hbool_t *backing_store) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1103
- * cdef herr_t H5Pset_fapl_core( hid_t fapl_id, size_t increment, hbool_t backing_store) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_125, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1110
- *         return r
- * 
- * cdef herr_t H5Pget_fapl_core( hid_t fapl_id, size_t *increment, hbool_t *backing_store) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_fapl_core(hid_t __pyx_v_fapl_id, size_t *__pyx_v_increment, hbool_t *__pyx_v_backing_store) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_fapl_core", 0);
-
-  /* "h5py/defs.pyx":1112
- * cdef herr_t H5Pget_fapl_core( hid_t fapl_id, size_t *increment, hbool_t *backing_store) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1113
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_fapl_core(fapl_id, increment, backing_store)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_fapl_core(__pyx_v_fapl_id, __pyx_v_increment, __pyx_v_backing_store); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1114
- *     with rlock:
- *         r = _hdf5.H5Pget_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1115
- *         r = _hdf5.H5Pget_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1115; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1116
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1117
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fapl_family( hid_t fapl_id,  hsize_t memb_size, hid_t memb_fapl_id ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1112
- * cdef herr_t H5Pget_fapl_core( hid_t fapl_id, size_t *increment, hbool_t *backing_store) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_126, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1119
- *         return r
- * 
- * cdef herr_t H5Pset_fapl_family( hid_t fapl_id,  hsize_t memb_size, hid_t memb_fapl_id ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fapl_family(hid_t __pyx_v_fapl_id, hsize_t __pyx_v_memb_size, hid_t __pyx_v_memb_fapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fapl_family", 0);
-
-  /* "h5py/defs.pyx":1121
- * cdef herr_t H5Pset_fapl_family( hid_t fapl_id,  hsize_t memb_size, hid_t memb_fapl_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1122
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_family(fapl_id, memb_size, memb_fapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fapl_family(__pyx_v_fapl_id, __pyx_v_memb_size, __pyx_v_memb_fapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1122; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1123
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1124
- *         r = _hdf5.H5Pset_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1125
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1126
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_fapl_family( hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1121
- * cdef herr_t H5Pset_fapl_family( hid_t fapl_id,  hsize_t memb_size, hid_t memb_fapl_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_127, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1128
- *         return r
- * 
- * cdef herr_t H5Pget_fapl_family( hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_fapl_family(hid_t __pyx_v_fapl_id, hsize_t *__pyx_v_memb_size, hid_t *__pyx_v_memb_fapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_fapl_family", 0);
-
-  /* "h5py/defs.pyx":1130
- * cdef herr_t H5Pget_fapl_family( hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1131
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_fapl_family(fapl_id, memb_size, memb_fapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_fapl_family(__pyx_v_fapl_id, __pyx_v_memb_size, __pyx_v_memb_fapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1131; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1132
- *     with rlock:
- *         r = _hdf5.H5Pget_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1133
- *         r = _hdf5.H5Pget_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1133; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1134
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1135
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_family_offset( hid_t fapl_id, hsize_t offset) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1130
- * cdef herr_t H5Pget_fapl_family( hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_128, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1137
- *         return r
- * 
- * cdef herr_t H5Pset_family_offset( hid_t fapl_id, hsize_t offset) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_family_offset(hid_t __pyx_v_fapl_id, hsize_t __pyx_v_offset) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_family_offset", 0);
-
-  /* "h5py/defs.pyx":1139
- * cdef herr_t H5Pset_family_offset( hid_t fapl_id, hsize_t offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_family_offset(fapl_id, offset)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1140
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_family_offset(fapl_id, offset)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_family_offset(__pyx_v_fapl_id, __pyx_v_offset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1141
- *     with rlock:
- *         r = _hdf5.H5Pset_family_offset(fapl_id, offset)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1142
- *         r = _hdf5.H5Pset_family_offset(fapl_id, offset)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1142; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1143
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1144
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_family_offset( hid_t fapl_id, hsize_t *offset) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1139
- * cdef herr_t H5Pset_family_offset( hid_t fapl_id, hsize_t offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_family_offset(fapl_id, offset)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_family_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_129, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_family_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1146
- *         return r
- * 
- * cdef herr_t H5Pget_family_offset( hid_t fapl_id, hsize_t *offset) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_family_offset(hid_t __pyx_v_fapl_id, hsize_t *__pyx_v_offset) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_family_offset", 0);
-
-  /* "h5py/defs.pyx":1148
- * cdef herr_t H5Pget_family_offset( hid_t fapl_id, hsize_t *offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_family_offset(fapl_id, offset)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1149
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_family_offset(fapl_id, offset)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_family_offset(__pyx_v_fapl_id, __pyx_v_offset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1150
- *     with rlock:
- *         r = _hdf5.H5Pget_family_offset(fapl_id, offset)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1151
- *         r = _hdf5.H5Pget_family_offset(fapl_id, offset)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1152
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1153
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fapl_log(hid_t fapl_id, char *logfile, unsigned int flags, size_t buf_size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1148
- * cdef herr_t H5Pget_family_offset( hid_t fapl_id, hsize_t *offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_family_offset(fapl_id, offset)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_family_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_130, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_family_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1155
- *         return r
- * 
- * cdef herr_t H5Pset_fapl_log(hid_t fapl_id, char *logfile, unsigned int flags, size_t buf_size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fapl_log(hid_t __pyx_v_fapl_id, char *__pyx_v_logfile, unsigned int __pyx_v_flags, size_t __pyx_v_buf_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fapl_log", 0);
-
-  /* "h5py/defs.pyx":1157
- * cdef herr_t H5Pset_fapl_log(hid_t fapl_id, char *logfile, unsigned int flags, size_t buf_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_log(fapl_id, logfile, flags, buf_size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1158
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_log(fapl_id, logfile, flags, buf_size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fapl_log(__pyx_v_fapl_id, __pyx_v_logfile, __pyx_v_flags, __pyx_v_buf_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1159
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_log(fapl_id, logfile, flags, buf_size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1160
- *         r = _hdf5.H5Pset_fapl_log(fapl_id, logfile, flags, buf_size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1160; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1161
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1162
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map, hid_t *memb_fapl, char **memb_name, haddr_t *memb_addr, hbool_t relax) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1157
- * cdef herr_t H5Pset_fapl_log(hid_t fapl_id, char *logfile, unsigned int flags, size_t buf_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_log(fapl_id, logfile, flags, buf_size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_log", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_131, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_log", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1164
- *         return r
- * 
- * cdef herr_t H5Pset_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map, hid_t *memb_fapl, char **memb_name, haddr_t *memb_addr, hbool_t relax) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fapl_multi(hid_t __pyx_v_fapl_id, H5FD_mem_t *__pyx_v_memb_map, hid_t *__pyx_v_memb_fapl, char **__pyx_v_memb_name, haddr_t *__pyx_v_memb_addr, hbool_t __pyx_v_relax) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fapl_multi", 0);
-
-  /* "h5py/defs.pyx":1166
- * cdef herr_t H5Pset_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map, hid_t *memb_fapl, char **memb_name, haddr_t *memb_addr, hbool_t relax) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1167
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fapl_multi(__pyx_v_fapl_id, __pyx_v_memb_map, __pyx_v_memb_fapl, __pyx_v_memb_name, __pyx_v_memb_addr, __pyx_v_relax); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1167; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1168
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1169
- *         r = _hdf5.H5Pset_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1170
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1171
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1166
- * cdef herr_t H5Pset_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map, hid_t *memb_fapl, char **memb_name, haddr_t *memb_addr, hbool_t relax) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_multi", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_132, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_multi", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1173
- *         return r
- * 
- * cdef herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_cache(hid_t __pyx_v_plist_id, int __pyx_v_mdc_nelmts, int __pyx_v_rdcc_nelmts, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_cache", 0);
-
-  /* "h5py/defs.pyx":1175
- * cdef herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1176
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_cache(__pyx_v_plist_id, __pyx_v_mdc_nelmts, __pyx_v_rdcc_nelmts, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1176; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1177
- *     with rlock:
- *         r = _hdf5.H5Pset_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1178
- *         r = _hdf5.H5Pset_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1178; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1179
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1180
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1175
- * cdef herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_133, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1182
- *         return r
- * 
- * cdef herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_cache(hid_t __pyx_v_plist_id, int *__pyx_v_mdc_nelmts, int *__pyx_v_rdcc_nelmts, size_t *__pyx_v_rdcc_nbytes, double *__pyx_v_rdcc_w0) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_cache", 0);
-
-  /* "h5py/defs.pyx":1184
- * cdef herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1185
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_cache(__pyx_v_plist_id, __pyx_v_mdc_nelmts, __pyx_v_rdcc_nelmts, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1185; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1186
- *     with rlock:
- *         r = _hdf5.H5Pget_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1187
- *         r = _hdf5.H5Pget_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1188
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1189
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fapl_sec2(hid_t fapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1184
- * cdef herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_134, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1191
- *         return r
- * 
- * cdef herr_t H5Pset_fapl_sec2(hid_t fapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fapl_sec2(hid_t __pyx_v_fapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fapl_sec2", 0);
-
-  /* "h5py/defs.pyx":1193
- * cdef herr_t H5Pset_fapl_sec2(hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_sec2(fapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1194
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_sec2(fapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fapl_sec2(__pyx_v_fapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1194; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1195
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_sec2(fapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1196
- *         r = _hdf5.H5Pset_fapl_sec2(fapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1196; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1197
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1198
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fapl_stdio(hid_t fapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1193
- * cdef herr_t H5Pset_fapl_sec2(hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_sec2(fapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_sec2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_135, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_sec2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1200
- *         return r
- * 
- * cdef herr_t H5Pset_fapl_stdio(hid_t fapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fapl_stdio(hid_t __pyx_v_fapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fapl_stdio", 0);
-
-  /* "h5py/defs.pyx":1202
- * cdef herr_t H5Pset_fapl_stdio(hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_stdio(fapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1203
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_stdio(fapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fapl_stdio(__pyx_v_fapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1203; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1204
- *     with rlock:
- *         r = _hdf5.H5Pset_fapl_stdio(fapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1205
- *         r = _hdf5.H5Pset_fapl_stdio(fapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1206
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1207
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Pget_driver(hid_t fapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1202
- * cdef herr_t H5Pset_fapl_stdio(hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_stdio(fapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_stdio", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_136, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fapl_stdio", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1209
- *         return r
- * 
- * cdef hid_t H5Pget_driver(hid_t fapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Pget_driver(hid_t __pyx_v_fapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_driver", 0);
-
-  /* "h5py/defs.pyx":1211
- * cdef hid_t H5Pget_driver(hid_t fapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_driver(fapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1212
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_driver(fapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_driver(__pyx_v_fapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1212; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1213
- *     with rlock:
- *         r = _hdf5.H5Pget_driver(fapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1214
- *         r = _hdf5.H5Pget_driver(fapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1214; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1215
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1216
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1211
- * cdef hid_t H5Pget_driver(hid_t fapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_driver(fapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_137, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1218
- *         return r
- * 
- * cdef herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_mdc_config(hid_t __pyx_v_plist_id, H5AC_cache_config_t *__pyx_v_config_ptr) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_mdc_config", 0);
-
-  /* "h5py/defs.pyx":1220
- * cdef herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_mdc_config(plist_id, config_ptr)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1221
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_mdc_config(plist_id, config_ptr)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_mdc_config(__pyx_v_plist_id, __pyx_v_config_ptr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1222
- *     with rlock:
- *         r = _hdf5.H5Pget_mdc_config(plist_id, config_ptr)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1223
- *         r = _hdf5.H5Pget_mdc_config(plist_id, config_ptr)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1223; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1224
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1225
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1220
- * cdef herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_mdc_config(plist_id, config_ptr)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_138, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1227
- *         return r
- * 
- * cdef herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_mdc_config(hid_t __pyx_v_plist_id, H5AC_cache_config_t *__pyx_v_config_ptr) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_mdc_config", 0);
-
-  /* "h5py/defs.pyx":1229
- * cdef herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_mdc_config(plist_id, config_ptr)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1230
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_mdc_config(plist_id, config_ptr)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_mdc_config(__pyx_v_plist_id, __pyx_v_config_ptr); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1231
- *     with rlock:
- *         r = _hdf5.H5Pset_mdc_config(plist_id, config_ptr)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1232
- *         r = _hdf5.H5Pset_mdc_config(plist_id, config_ptr)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1233
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1234
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_layout(hid_t plist, int layout) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1229
- * cdef herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_mdc_config(plist_id, config_ptr)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_139, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1236
- *         return r
- * 
- * cdef herr_t H5Pset_layout(hid_t plist, int layout) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_layout(hid_t __pyx_v_plist, int __pyx_v_layout) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_layout", 0);
-
-  /* "h5py/defs.pyx":1238
- * cdef herr_t H5Pset_layout(hid_t plist, int layout) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_layout(plist, layout)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1239
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_layout(plist, layout)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_layout(__pyx_v_plist, __pyx_v_layout); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1239; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1240
- *     with rlock:
- *         r = _hdf5.H5Pset_layout(plist, layout)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1241
- *         r = _hdf5.H5Pset_layout(plist, layout)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1242
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1243
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5D_layout_t H5Pget_layout(hid_t plist) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1238
- * cdef herr_t H5Pset_layout(hid_t plist, int layout) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_layout(plist, layout)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_140, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1245
- *         return r
- * 
- * cdef H5D_layout_t H5Pget_layout(hid_t plist) except *:             # <<<<<<<<<<<<<<
- *     cdef H5D_layout_t r
- *     with rlock:
- */
-
-static H5D_layout_t __pyx_f_4h5py_4defs_H5Pget_layout(hid_t __pyx_v_plist) {
-  H5D_layout_t __pyx_v_r;
-  H5D_layout_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5D_layout_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_layout", 0);
-
-  /* "h5py/defs.pyx":1247
- * cdef H5D_layout_t H5Pget_layout(hid_t plist) except *:
- *     cdef H5D_layout_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_layout(plist)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1248
- *     cdef H5D_layout_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_layout(plist)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_layout(__pyx_v_plist); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1249
- *     with rlock:
- *         r = _hdf5.H5Pget_layout(plist)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5D_layout_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1250
- *         r = _hdf5.H5Pget_layout(plist)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5D_layout_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1250; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1251
- *         if r<0:
- *             if set_exception():
- *                 return <H5D_layout_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5D_layout_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1252
- *             if set_exception():
- *                 return <H5D_layout_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_chunk(hid_t plist, int ndims, hsize_t * dim) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1247
- * cdef H5D_layout_t H5Pget_layout(hid_t plist) except *:
- *     cdef H5D_layout_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_layout(plist)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_141, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1254
- *         return r
- * 
- * cdef herr_t H5Pset_chunk(hid_t plist, int ndims, hsize_t * dim) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_chunk(hid_t __pyx_v_plist, int __pyx_v_ndims, hsize_t *__pyx_v_dim) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_chunk", 0);
-
-  /* "h5py/defs.pyx":1256
- * cdef herr_t H5Pset_chunk(hid_t plist, int ndims, hsize_t * dim) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_chunk(plist, ndims, dim)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1257
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_chunk(plist, ndims, dim)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_chunk(__pyx_v_plist, __pyx_v_ndims, __pyx_v_dim); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1258
- *     with rlock:
- *         r = _hdf5.H5Pset_chunk(plist, ndims, dim)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1259
- *         r = _hdf5.H5Pset_chunk(plist, ndims, dim)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1260
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1261
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Pget_chunk(hid_t plist, int max_ndims, hsize_t * dims ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1256
- * cdef herr_t H5Pset_chunk(hid_t plist, int ndims, hsize_t * dim) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_chunk(plist, ndims, dim)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_142, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1263
- *         return r
- * 
- * cdef int H5Pget_chunk(hid_t plist, int max_ndims, hsize_t * dims ) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Pget_chunk(hid_t __pyx_v_plist, int __pyx_v_max_ndims, hsize_t *__pyx_v_dims) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_chunk", 0);
-
-  /* "h5py/defs.pyx":1265
- * cdef int H5Pget_chunk(hid_t plist, int max_ndims, hsize_t * dims ) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_chunk(plist, max_ndims, dims)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1266
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Pget_chunk(plist, max_ndims, dims)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_chunk(__pyx_v_plist, __pyx_v_max_ndims, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1266; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1267
- *     with rlock:
- *         r = _hdf5.H5Pget_chunk(plist, max_ndims, dims)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1268
- *         r = _hdf5.H5Pget_chunk(plist, max_ndims, dims)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1268; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":1269
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1270
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_deflate( hid_t plist, int level) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1265
- * cdef int H5Pget_chunk(hid_t plist, int max_ndims, hsize_t * dims ) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_chunk(plist, max_ndims, dims)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_143, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1272
- *         return r
- * 
- * cdef herr_t H5Pset_deflate( hid_t plist, int level) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_deflate(hid_t __pyx_v_plist, int __pyx_v_level) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_deflate", 0);
-
-  /* "h5py/defs.pyx":1274
- * cdef herr_t H5Pset_deflate( hid_t plist, int level) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_deflate(plist, level)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1275
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_deflate(plist, level)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_deflate(__pyx_v_plist, __pyx_v_level); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1276
- *     with rlock:
- *         r = _hdf5.H5Pset_deflate(plist, level)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1277
- *         r = _hdf5.H5Pset_deflate(plist, level)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1278
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1279
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1274
- * cdef herr_t H5Pset_deflate( hid_t plist, int level) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_deflate(plist, level)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_deflate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_144, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_deflate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1281
- *         return r
- * 
- * cdef herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fill_value(hid_t __pyx_v_plist_id, hid_t __pyx_v_type_id, void *__pyx_v_value) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fill_value", 0);
-
-  /* "h5py/defs.pyx":1283
- * cdef herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fill_value(plist_id, type_id, value)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1284
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fill_value(plist_id, type_id, value)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fill_value(__pyx_v_plist_id, __pyx_v_type_id, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1284; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1285
- *     with rlock:
- *         r = _hdf5.H5Pset_fill_value(plist_id, type_id, value)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1286
- *         r = _hdf5.H5Pset_fill_value(plist_id, type_id, value)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1286; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1287
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1288
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1283
- * cdef herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fill_value(plist_id, type_id, value)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_145, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1290
- *         return r
- * 
- * cdef herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_fill_value(hid_t __pyx_v_plist_id, hid_t __pyx_v_type_id, void *__pyx_v_value) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_fill_value", 0);
-
-  /* "h5py/defs.pyx":1292
- * cdef herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fill_value(plist_id, type_id, value)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1293
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_fill_value(plist_id, type_id, value)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_fill_value(__pyx_v_plist_id, __pyx_v_type_id, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1293; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1294
- *     with rlock:
- *         r = _hdf5.H5Pget_fill_value(plist_id, type_id, value)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1295
- *         r = _hdf5.H5Pget_fill_value(plist_id, type_id, value)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1295; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1296
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1297
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pfill_value_defined(hid_t plist_id, H5D_fill_value_t *status ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1292
- * cdef herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fill_value(plist_id, type_id, value)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_146, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1299
- *         return r
- * 
- * cdef herr_t H5Pfill_value_defined(hid_t plist_id, H5D_fill_value_t *status ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pfill_value_defined(hid_t __pyx_v_plist_id, H5D_fill_value_t *__pyx_v_status) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pfill_value_defined", 0);
-
-  /* "h5py/defs.pyx":1301
- * cdef herr_t H5Pfill_value_defined(hid_t plist_id, H5D_fill_value_t *status ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pfill_value_defined(plist_id, status)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1302
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pfill_value_defined(plist_id, status)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pfill_value_defined(__pyx_v_plist_id, __pyx_v_status); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1302; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1303
- *     with rlock:
- *         r = _hdf5.H5Pfill_value_defined(plist_id, status)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1304
- *         r = _hdf5.H5Pfill_value_defined(plist_id, status)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1304; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1305
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1306
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fill_time(hid_t plist_id, H5D_fill_time_t fill_time ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1301
- * cdef herr_t H5Pfill_value_defined(hid_t plist_id, H5D_fill_value_t *status ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pfill_value_defined(plist_id, status)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pfill_value_defined", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_147, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pfill_value_defined", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1308
- *         return r
- * 
- * cdef herr_t H5Pset_fill_time(hid_t plist_id, H5D_fill_time_t fill_time ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fill_time(hid_t __pyx_v_plist_id, H5D_fill_time_t __pyx_v_fill_time) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fill_time", 0);
-
-  /* "h5py/defs.pyx":1310
- * cdef herr_t H5Pset_fill_time(hid_t plist_id, H5D_fill_time_t fill_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fill_time(plist_id, fill_time)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1311
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fill_time(plist_id, fill_time)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fill_time(__pyx_v_plist_id, __pyx_v_fill_time); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1311; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1312
- *     with rlock:
- *         r = _hdf5.H5Pset_fill_time(plist_id, fill_time)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1313
- *         r = _hdf5.H5Pset_fill_time(plist_id, fill_time)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1313; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1314
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1315
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t *fill_time ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1310
- * cdef herr_t H5Pset_fill_time(hid_t plist_id, H5D_fill_time_t fill_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fill_time(plist_id, fill_time)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_148, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1317
- *         return r
- * 
- * cdef herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t *fill_time ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_fill_time(hid_t __pyx_v_plist_id, H5D_fill_time_t *__pyx_v_fill_time) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_fill_time", 0);
-
-  /* "h5py/defs.pyx":1319
- * cdef herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t *fill_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fill_time(plist_id, fill_time)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1320
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_fill_time(plist_id, fill_time)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_fill_time(__pyx_v_plist_id, __pyx_v_fill_time); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1320; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1321
- *     with rlock:
- *         r = _hdf5.H5Pget_fill_time(plist_id, fill_time)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1322
- *         r = _hdf5.H5Pget_fill_time(plist_id, fill_time)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1322; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1323
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1324
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t alloc_time ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1319
- * cdef herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t *fill_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fill_time(plist_id, fill_time)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_149, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1326
- *         return r
- * 
- * cdef herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t alloc_time ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_alloc_time(hid_t __pyx_v_plist_id, H5D_alloc_time_t __pyx_v_alloc_time) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_alloc_time", 0);
-
-  /* "h5py/defs.pyx":1328
- * cdef herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t alloc_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_alloc_time(plist_id, alloc_time)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1329
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_alloc_time(plist_id, alloc_time)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_alloc_time(__pyx_v_plist_id, __pyx_v_alloc_time); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1330
- *     with rlock:
- *         r = _hdf5.H5Pset_alloc_time(plist_id, alloc_time)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1331
- *         r = _hdf5.H5Pset_alloc_time(plist_id, alloc_time)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1332
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1333
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t *alloc_time ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1328
- * cdef herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t alloc_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_alloc_time(plist_id, alloc_time)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_150, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1335
- *         return r
- * 
- * cdef herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t *alloc_time ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_alloc_time(hid_t __pyx_v_plist_id, H5D_alloc_time_t *__pyx_v_alloc_time) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_alloc_time", 0);
-
-  /* "h5py/defs.pyx":1337
- * cdef herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t *alloc_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_alloc_time(plist_id, alloc_time)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1338
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_alloc_time(plist_id, alloc_time)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_alloc_time(__pyx_v_plist_id, __pyx_v_alloc_time); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1338; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1339
- *     with rlock:
- *         r = _hdf5.H5Pget_alloc_time(plist_id, alloc_time)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1340
- *         r = _hdf5.H5Pget_alloc_time(plist_id, alloc_time)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1340; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1341
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1342
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int* cd_values ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1337
- * cdef herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t *alloc_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_alloc_time(plist_id, alloc_time)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_151, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1344
- *         return r
- * 
- * cdef herr_t H5Pset_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int* cd_values ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_filter(hid_t __pyx_v_plist, H5Z_filter_t __pyx_v_filter, unsigned int __pyx_v_flags, size_t __pyx_v_cd_nelmts, unsigned int *__pyx_v_cd_values) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_filter", 0);
-
-  /* "h5py/defs.pyx":1346
- * cdef herr_t H5Pset_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int* cd_values ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1347
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_filter(plist, filter, flags, cd_nelmts, cd_values)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_filter(__pyx_v_plist, __pyx_v_filter, __pyx_v_flags, __pyx_v_cd_nelmts, __pyx_v_cd_values); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1347; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1348
- *     with rlock:
- *         r = _hdf5.H5Pset_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1349
- *         r = _hdf5.H5Pset_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1350
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1351
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Pall_filters_avail(hid_t dcpl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1346
- * cdef herr_t H5Pset_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int* cd_values ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_152, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1353
- *         return r
- * 
- * cdef htri_t H5Pall_filters_avail(hid_t dcpl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Pall_filters_avail(hid_t __pyx_v_dcpl_id) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pall_filters_avail", 0);
-
-  /* "h5py/defs.pyx":1355
- * cdef htri_t H5Pall_filters_avail(hid_t dcpl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pall_filters_avail(dcpl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1356
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Pall_filters_avail(dcpl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pall_filters_avail(__pyx_v_dcpl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1357
- *     with rlock:
- *         r = _hdf5.H5Pall_filters_avail(dcpl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1358
- *         r = _hdf5.H5Pall_filters_avail(dcpl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1358; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1359
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1360
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Pget_nfilters(hid_t plist) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1355
- * cdef htri_t H5Pall_filters_avail(hid_t dcpl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pall_filters_avail(dcpl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pall_filters_avail", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_153, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pall_filters_avail", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1362
- *         return r
- * 
- * cdef int H5Pget_nfilters(hid_t plist) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Pget_nfilters(hid_t __pyx_v_plist) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_nfilters", 0);
-
-  /* "h5py/defs.pyx":1364
- * cdef int H5Pget_nfilters(hid_t plist) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_nfilters(plist)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1365
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Pget_nfilters(plist)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_nfilters(__pyx_v_plist); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1365; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1366
- *     with rlock:
- *         r = _hdf5.H5Pget_nfilters(plist)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1367
- *         r = _hdf5.H5Pget_nfilters(plist)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":1368
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1369
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5Z_filter_t H5Pget_filter(hid_t plist, unsigned int filter_number,   unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1364
- * cdef int H5Pget_nfilters(hid_t plist) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_nfilters(plist)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_nfilters", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_154, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_nfilters", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1371
- *         return r
- * 
- * cdef H5Z_filter_t H5Pget_filter(hid_t plist, unsigned int filter_number,   unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name ) except *:             # <<<<<<<<<<<<<<
- *     cdef H5Z_filter_t r
- *     with rlock:
- */
-
-static H5Z_filter_t __pyx_f_4h5py_4defs_H5Pget_filter(hid_t __pyx_v_plist, unsigned int __pyx_v_filter_number, unsigned int *__pyx_v_flags, size_t *__pyx_v_cd_nelmts, unsigned int *__pyx_v_cd_values, size_t __pyx_v_namelen, char *__pyx_v_name) {
-  H5Z_filter_t __pyx_v_r;
-  H5Z_filter_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5Z_filter_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_filter", 0);
-
-  /* "h5py/defs.pyx":1373
- * cdef H5Z_filter_t H5Pget_filter(hid_t plist, unsigned int filter_number,   unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name ) except *:
- *     cdef H5Z_filter_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_filter(plist, filter_number, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1374
- *     cdef H5Z_filter_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_filter(plist, filter_number, flags, cd_nelmts, cd_values, namelen, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_filter(__pyx_v_plist, __pyx_v_filter_number, __pyx_v_flags, __pyx_v_cd_nelmts, __pyx_v_cd_values, __pyx_v_namelen, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1375
- *     with rlock:
- *         r = _hdf5.H5Pget_filter(plist, filter_number, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5Z_filter_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1376
- *         r = _hdf5.H5Pget_filter(plist, filter_number, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5Z_filter_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1377
- *         if r<0:
- *             if set_exception():
- *                 return <H5Z_filter_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5Z_filter_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1378
- *             if set_exception():
- *                 return <H5Z_filter_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_filter_by_id( hid_t plist_id, H5Z_filter_t filter,  unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1373
- * cdef H5Z_filter_t H5Pget_filter(hid_t plist, unsigned int filter_number,   unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name ) except *:
- *     cdef H5Z_filter_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_filter(plist, filter_number, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_155, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1380
- *         return r
- * 
- * cdef herr_t H5Pget_filter_by_id( hid_t plist_id, H5Z_filter_t filter,  unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_filter_by_id(hid_t __pyx_v_plist_id, H5Z_filter_t __pyx_v_filter, unsigned int *__pyx_v_flags, size_t *__pyx_v_cd_nelmts, unsigned int *__pyx_v_cd_values, size_t __pyx_v_namelen, char *__pyx_v_name) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_filter_by_id", 0);
-
-  /* "h5py/defs.pyx":1382
- * cdef herr_t H5Pget_filter_by_id( hid_t plist_id, H5Z_filter_t filter,  unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_filter_by_id(plist_id, filter, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1383
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_filter_by_id(plist_id, filter, flags, cd_nelmts, cd_values, namelen, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_filter_by_id(__pyx_v_plist_id, __pyx_v_filter, __pyx_v_flags, __pyx_v_cd_nelmts, __pyx_v_cd_values, __pyx_v_namelen, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1383; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1384
- *     with rlock:
- *         r = _hdf5.H5Pget_filter_by_id(plist_id, filter, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1385
- *         r = _hdf5.H5Pget_filter_by_id(plist_id, filter, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1385; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1386
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1387
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pmodify_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int *cd_values) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1382
- * cdef herr_t H5Pget_filter_by_id( hid_t plist_id, H5Z_filter_t filter,  unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_filter_by_id(plist_id, filter, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_filter_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_156, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_filter_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1389
- *         return r
- * 
- * cdef herr_t H5Pmodify_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int *cd_values) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pmodify_filter(hid_t __pyx_v_plist, H5Z_filter_t __pyx_v_filter, unsigned int __pyx_v_flags, size_t __pyx_v_cd_nelmts, unsigned int *__pyx_v_cd_values) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pmodify_filter", 0);
-
-  /* "h5py/defs.pyx":1391
- * cdef herr_t H5Pmodify_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int *cd_values) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pmodify_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1392
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pmodify_filter(plist, filter, flags, cd_nelmts, cd_values)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pmodify_filter(__pyx_v_plist, __pyx_v_filter, __pyx_v_flags, __pyx_v_cd_nelmts, __pyx_v_cd_values); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1392; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1393
- *     with rlock:
- *         r = _hdf5.H5Pmodify_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1394
- *         r = _hdf5.H5Pmodify_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1394; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1395
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1396
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Premove_filter(hid_t plist, H5Z_filter_t filter ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1391
- * cdef herr_t H5Pmodify_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int *cd_values) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pmodify_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pmodify_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_157, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pmodify_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1398
- *         return r
- * 
- * cdef herr_t H5Premove_filter(hid_t plist, H5Z_filter_t filter ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Premove_filter(hid_t __pyx_v_plist, H5Z_filter_t __pyx_v_filter) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Premove_filter", 0);
-
-  /* "h5py/defs.pyx":1400
- * cdef herr_t H5Premove_filter(hid_t plist, H5Z_filter_t filter ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Premove_filter(plist, filter)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1401
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Premove_filter(plist, filter)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Premove_filter(__pyx_v_plist, __pyx_v_filter); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1402
- *     with rlock:
- *         r = _hdf5.H5Premove_filter(plist, filter)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1403
- *         r = _hdf5.H5Premove_filter(plist, filter)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1403; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1404
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1405
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_fletcher32(hid_t plist) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1400
- * cdef herr_t H5Premove_filter(hid_t plist, H5Z_filter_t filter ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Premove_filter(plist, filter)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Premove_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_158, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Premove_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1407
- *         return r
- * 
- * cdef herr_t H5Pset_fletcher32(hid_t plist) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_fletcher32(hid_t __pyx_v_plist) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_fletcher32", 0);
-
-  /* "h5py/defs.pyx":1409
- * cdef herr_t H5Pset_fletcher32(hid_t plist) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fletcher32(plist)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1410
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_fletcher32(plist)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_fletcher32(__pyx_v_plist); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1411
- *     with rlock:
- *         r = _hdf5.H5Pset_fletcher32(plist)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1412
- *         r = _hdf5.H5Pset_fletcher32(plist)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1413
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1414
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_shuffle(hid_t plist_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1409
- * cdef herr_t H5Pset_fletcher32(hid_t plist) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fletcher32(plist)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_fletcher32", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_159, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_fletcher32", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1416
- *         return r
- * 
- * cdef herr_t H5Pset_shuffle(hid_t plist_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_shuffle(hid_t __pyx_v_plist_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_shuffle", 0);
-
-  /* "h5py/defs.pyx":1418
- * cdef herr_t H5Pset_shuffle(hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_shuffle(plist_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1419
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_shuffle(plist_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_shuffle(__pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1420
- *     with rlock:
- *         r = _hdf5.H5Pset_shuffle(plist_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1421
- *         r = _hdf5.H5Pset_shuffle(plist_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1421; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1422
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1423
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_szip(hid_t plist, unsigned int options_mask, unsigned int pixels_per_block) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1418
- * cdef herr_t H5Pset_shuffle(hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_shuffle(plist_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_shuffle", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_160, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_shuffle", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1425
- *         return r
- * 
- * cdef herr_t H5Pset_szip(hid_t plist, unsigned int options_mask, unsigned int pixels_per_block) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_szip(hid_t __pyx_v_plist, unsigned int __pyx_v_options_mask, unsigned int __pyx_v_pixels_per_block) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_szip", 0);
-
-  /* "h5py/defs.pyx":1427
- * cdef herr_t H5Pset_szip(hid_t plist, unsigned int options_mask, unsigned int pixels_per_block) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_szip(plist, options_mask, pixels_per_block)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1428
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_szip(plist, options_mask, pixels_per_block)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_szip(__pyx_v_plist, __pyx_v_options_mask, __pyx_v_pixels_per_block); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1428; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1429
- *     with rlock:
- *         r = _hdf5.H5Pset_szip(plist, options_mask, pixels_per_block)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1430
- *         r = _hdf5.H5Pset_szip(plist, options_mask, pixels_per_block)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1430; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1431
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1432
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_scaleoffset(hid_t plist, H5Z_SO_scale_type_t scale_type, int scale_factor) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1427
- * cdef herr_t H5Pset_szip(hid_t plist, unsigned int options_mask, unsigned int pixels_per_block) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_szip(plist, options_mask, pixels_per_block)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_szip", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_161, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_szip", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1434
- *         return r
- * 
- * cdef herr_t H5Pset_scaleoffset(hid_t plist, H5Z_SO_scale_type_t scale_type, int scale_factor) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_scaleoffset(hid_t __pyx_v_plist, enum H5Z_SO_scale_type_t __pyx_v_scale_type, int __pyx_v_scale_factor) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_scaleoffset", 0);
-
-  /* "h5py/defs.pyx":1436
- * cdef herr_t H5Pset_scaleoffset(hid_t plist, H5Z_SO_scale_type_t scale_type, int scale_factor) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_scaleoffset(plist, scale_type, scale_factor)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1437
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_scaleoffset(plist, scale_type, scale_factor)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_scaleoffset(__pyx_v_plist, __pyx_v_scale_type, __pyx_v_scale_factor); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1437; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1438
- *     with rlock:
- *         r = _hdf5.H5Pset_scaleoffset(plist, scale_type, scale_factor)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1439
- *         r = _hdf5.H5Pset_scaleoffset(plist, scale_type, scale_factor)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1439; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1440
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1441
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_edc_check(hid_t plist, H5Z_EDC_t check) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1436
- * cdef herr_t H5Pset_scaleoffset(hid_t plist, H5Z_SO_scale_type_t scale_type, int scale_factor) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_scaleoffset(plist, scale_type, scale_factor)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_scaleoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_162, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_scaleoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1443
- *         return r
- * 
- * cdef herr_t H5Pset_edc_check(hid_t plist, H5Z_EDC_t check) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_edc_check(hid_t __pyx_v_plist, enum H5Z_EDC_t __pyx_v_check) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_edc_check", 0);
-
-  /* "h5py/defs.pyx":1445
- * cdef herr_t H5Pset_edc_check(hid_t plist, H5Z_EDC_t check) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_edc_check(plist, check)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1446
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_edc_check(plist, check)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_edc_check(__pyx_v_plist, __pyx_v_check); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1446; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1447
- *     with rlock:
- *         r = _hdf5.H5Pset_edc_check(plist, check)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1448
- *         r = _hdf5.H5Pset_edc_check(plist, check)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1448; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1449
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1450
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5Z_EDC_t H5Pget_edc_check(hid_t plist) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1445
- * cdef herr_t H5Pset_edc_check(hid_t plist, H5Z_EDC_t check) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_edc_check(plist, check)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_edc_check", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_163, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_edc_check", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1452
- *         return r
- * 
- * cdef H5Z_EDC_t H5Pget_edc_check(hid_t plist) except *:             # <<<<<<<<<<<<<<
- *     cdef H5Z_EDC_t r
- *     with rlock:
- */
-
-static enum H5Z_EDC_t __pyx_f_4h5py_4defs_H5Pget_edc_check(hid_t __pyx_v_plist) {
-  enum H5Z_EDC_t __pyx_v_r;
-  enum H5Z_EDC_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  enum H5Z_EDC_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_edc_check", 0);
-
-  /* "h5py/defs.pyx":1454
- * cdef H5Z_EDC_t H5Pget_edc_check(hid_t plist) except *:
- *     cdef H5Z_EDC_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_edc_check(plist)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1455
- *     cdef H5Z_EDC_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_edc_check(plist)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_edc_check(__pyx_v_plist); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1455; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1456
- *     with rlock:
- *         r = _hdf5.H5Pget_edc_check(plist)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5Z_EDC_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1457
- *         r = _hdf5.H5Pget_edc_check(plist)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5Z_EDC_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1458
- *         if r<0:
- *             if set_exception():
- *                 return <H5Z_EDC_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((enum H5Z_EDC_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1459
- *             if set_exception():
- *                 return <H5Z_EDC_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_chunk_cache( hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0 ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1454
- * cdef H5Z_EDC_t H5Pget_edc_check(hid_t plist) except *:
- *     cdef H5Z_EDC_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_edc_check(plist)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_edc_check", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_164, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_edc_check", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1461
- *         return r
- * 
- * cdef herr_t H5Pset_chunk_cache( hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0 ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_chunk_cache(hid_t __pyx_v_dapl_id, size_t __pyx_v_rdcc_nslots, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_chunk_cache", 0);
-
-  /* "h5py/defs.pyx":1463
- * cdef herr_t H5Pset_chunk_cache( hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0 ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1464
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_chunk_cache(__pyx_v_dapl_id, __pyx_v_rdcc_nslots, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1464; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1465
- *     with rlock:
- *         r = _hdf5.H5Pset_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1466
- *         r = _hdf5.H5Pset_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1466; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1467
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1468
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_chunk_cache( hid_t dapl_id, size_t *rdcc_nslots, size_t *rdcc_nbytes, double *rdcc_w0 ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1463
- * cdef herr_t H5Pset_chunk_cache( hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0 ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_165, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1470
- *         return r
- * 
- * cdef herr_t H5Pget_chunk_cache( hid_t dapl_id, size_t *rdcc_nslots, size_t *rdcc_nbytes, double *rdcc_w0 ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_chunk_cache(hid_t __pyx_v_dapl_id, size_t *__pyx_v_rdcc_nslots, size_t *__pyx_v_rdcc_nbytes, double *__pyx_v_rdcc_w0) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_chunk_cache", 0);
-
-  /* "h5py/defs.pyx":1472
- * cdef herr_t H5Pget_chunk_cache( hid_t dapl_id, size_t *rdcc_nslots, size_t *rdcc_nbytes, double *rdcc_w0 ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1473
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_chunk_cache(__pyx_v_dapl_id, __pyx_v_rdcc_nslots, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1473; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1474
- *     with rlock:
- *         r = _hdf5.H5Pget_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1475
- *         r = _hdf5.H5Pget_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1475; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1476
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1477
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1472
- * cdef herr_t H5Pget_chunk_cache( hid_t dapl_id, size_t *rdcc_nslots, size_t *rdcc_nbytes, double *rdcc_w0 ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_166, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1479
- *         return r
- * 
- * cdef herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_sieve_buf_size(hid_t __pyx_v_fapl_id, size_t __pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_sieve_buf_size", 0);
-
-  /* "h5py/defs.pyx":1481
- * cdef herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sieve_buf_size(fapl_id, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1482
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_sieve_buf_size(fapl_id, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_sieve_buf_size(__pyx_v_fapl_id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1483
- *     with rlock:
- *         r = _hdf5.H5Pset_sieve_buf_size(fapl_id, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1484
- *         r = _hdf5.H5Pset_sieve_buf_size(fapl_id, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1485
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1486
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1481
- * cdef herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sieve_buf_size(fapl_id, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_167, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1488
- *         return r
- * 
- * cdef herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_sieve_buf_size(hid_t __pyx_v_fapl_id, size_t *__pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_sieve_buf_size", 0);
-
-  /* "h5py/defs.pyx":1490
- * cdef herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sieve_buf_size(fapl_id, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1491
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_sieve_buf_size(fapl_id, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_sieve_buf_size(__pyx_v_fapl_id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1491; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1492
- *     with rlock:
- *         r = _hdf5.H5Pget_sieve_buf_size(fapl_id, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1493
- *         r = _hdf5.H5Pget_sieve_buf_size(fapl_id, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1494
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1495
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1490
- * cdef herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sieve_buf_size(fapl_id, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_168, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1497
- *         return r
- * 
- * cdef herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_nlinks(hid_t __pyx_v_plist_id, size_t __pyx_v_nlinks) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_nlinks", 0);
-
-  /* "h5py/defs.pyx":1499
- * cdef herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_nlinks(plist_id, nlinks)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1500
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_nlinks(plist_id, nlinks)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_nlinks(__pyx_v_plist_id, __pyx_v_nlinks); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1500; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1501
- *     with rlock:
- *         r = _hdf5.H5Pset_nlinks(plist_id, nlinks)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1502
- *         r = _hdf5.H5Pset_nlinks(plist_id, nlinks)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1502; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1503
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1504
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1499
- * cdef herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_nlinks(plist_id, nlinks)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_169, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1506
- *         return r
- * 
- * cdef herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_nlinks(hid_t __pyx_v_plist_id, size_t *__pyx_v_nlinks) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_nlinks", 0);
-
-  /* "h5py/defs.pyx":1508
- * cdef herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_nlinks(plist_id, nlinks)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1509
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_nlinks(plist_id, nlinks)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_nlinks(__pyx_v_plist_id, __pyx_v_nlinks); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1509; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1510
- *     with rlock:
- *         r = _hdf5.H5Pget_nlinks(plist_id, nlinks)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1511
- *         r = _hdf5.H5Pget_nlinks(plist_id, nlinks)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1511; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1512
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1513
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_elink_prefix(hid_t plist_id, char *prefix) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1508
- * cdef herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_nlinks(plist_id, nlinks)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_170, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1515
- *         return r
- * 
- * cdef herr_t H5Pset_elink_prefix(hid_t plist_id, char *prefix) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_elink_prefix(hid_t __pyx_v_plist_id, char *__pyx_v_prefix) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_elink_prefix", 0);
-
-  /* "h5py/defs.pyx":1517
- * cdef herr_t H5Pset_elink_prefix(hid_t plist_id, char *prefix) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_elink_prefix(plist_id, prefix)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1518
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_elink_prefix(plist_id, prefix)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_elink_prefix(__pyx_v_plist_id, __pyx_v_prefix); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1518; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1519
- *     with rlock:
- *         r = _hdf5.H5Pset_elink_prefix(plist_id, prefix)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1520
- *         r = _hdf5.H5Pset_elink_prefix(plist_id, prefix)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1520; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1521
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1522
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1517
- * cdef herr_t H5Pset_elink_prefix(hid_t plist_id, char *prefix) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_elink_prefix(plist_id, prefix)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_171, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1524
- *         return r
- * 
- * cdef ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5Pget_elink_prefix(hid_t __pyx_v_plist_id, char *__pyx_v_prefix, size_t __pyx_v_size) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_elink_prefix", 0);
-
-  /* "h5py/defs.pyx":1526
- * cdef ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_elink_prefix(plist_id, prefix, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1527
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_elink_prefix(plist_id, prefix, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_elink_prefix(__pyx_v_plist_id, __pyx_v_prefix, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1527; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1528
- *     with rlock:
- *         r = _hdf5.H5Pget_elink_prefix(plist_id, prefix, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1529
- *         r = _hdf5.H5Pget_elink_prefix(plist_id, prefix, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1529; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1530
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1531
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Pget_elink_fapl(hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1526
- * cdef ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_elink_prefix(plist_id, prefix, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_172, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1533
- *         return r
- * 
- * cdef hid_t H5Pget_elink_fapl(hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Pget_elink_fapl(hid_t __pyx_v_lapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_elink_fapl", 0);
-
-  /* "h5py/defs.pyx":1535
- * cdef hid_t H5Pget_elink_fapl(hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_elink_fapl(lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1536
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_elink_fapl(lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_elink_fapl(__pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1536; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1537
- *     with rlock:
- *         r = _hdf5.H5Pget_elink_fapl(lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1538
- *         r = _hdf5.H5Pget_elink_fapl(lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1539
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1540
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1535
- * cdef hid_t H5Pget_elink_fapl(hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_elink_fapl(lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_173, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1542
- *         return r
- * 
- * cdef herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_elink_fapl(hid_t __pyx_v_lapl_id, hid_t __pyx_v_fapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_elink_fapl", 0);
-
-  /* "h5py/defs.pyx":1544
- * cdef herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_elink_fapl(lapl_id, fapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1545
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_elink_fapl(lapl_id, fapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_elink_fapl(__pyx_v_lapl_id, __pyx_v_fapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1546
- *     with rlock:
- *         r = _hdf5.H5Pset_elink_fapl(lapl_id, fapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1547
- *         r = _hdf5.H5Pset_elink_fapl(lapl_id, fapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1548
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1549
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1544
- * cdef herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_elink_fapl(lapl_id, fapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_174, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1551
- *         return r
- * 
- * cdef herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_create_intermediate_group(hid_t __pyx_v_plist_id, unsigned int __pyx_v_crt_intmd) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_create_intermediate_group", 0);
-
-  /* "h5py/defs.pyx":1553
- * cdef herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1554
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_create_intermediate_group(plist_id, crt_intmd)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_create_intermediate_group(__pyx_v_plist_id, __pyx_v_crt_intmd); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1554; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1555
- *     with rlock:
- *         r = _hdf5.H5Pset_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1556
- *         r = _hdf5.H5Pset_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1556; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1557
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1558
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1553
- * cdef herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_175, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1560
- *         return r
- * 
- * cdef herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_create_intermediate_group(hid_t __pyx_v_plist_id, unsigned int *__pyx_v_crt_intmd) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_create_intermediate_group", 0);
-
-  /* "h5py/defs.pyx":1562
- * cdef herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1563
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_create_intermediate_group(plist_id, crt_intmd)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_create_intermediate_group(__pyx_v_plist_id, __pyx_v_crt_intmd); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1563; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1564
- *     with rlock:
- *         r = _hdf5.H5Pget_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1565
- *         r = _hdf5.H5Pget_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1566
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1567
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1562
- * cdef herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_176, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1569
- *         return r
- * 
- * cdef herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_copy_object(hid_t __pyx_v_plist_id, unsigned int __pyx_v_crt_intmd) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_copy_object", 0);
-
-  /* "h5py/defs.pyx":1571
- * cdef herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_copy_object(plist_id, crt_intmd)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1572
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_copy_object(plist_id, crt_intmd)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_copy_object(__pyx_v_plist_id, __pyx_v_crt_intmd); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1573
- *     with rlock:
- *         r = _hdf5.H5Pset_copy_object(plist_id, crt_intmd)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1574
- *         r = _hdf5.H5Pset_copy_object(plist_id, crt_intmd)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1574; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1575
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1576
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1571
- * cdef herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_copy_object(plist_id, crt_intmd)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_177, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1578
- *         return r
- * 
- * cdef herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_copy_object(hid_t __pyx_v_plist_id, unsigned int *__pyx_v_crt_intmd) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_copy_object", 0);
-
-  /* "h5py/defs.pyx":1580
- * cdef herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_copy_object(plist_id, crt_intmd)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1581
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_copy_object(plist_id, crt_intmd)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_copy_object(__pyx_v_plist_id, __pyx_v_crt_intmd); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1581; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1582
- *     with rlock:
- *         r = _hdf5.H5Pget_copy_object(plist_id, crt_intmd)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1583
- *         r = _hdf5.H5Pget_copy_object(plist_id, crt_intmd)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1583; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1584
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1585
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1580
- * cdef herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_copy_object(plist_id, crt_intmd)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_178, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1587
- *         return r
- * 
- * cdef herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_char_encoding(hid_t __pyx_v_plist_id, H5T_cset_t __pyx_v_encoding) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_char_encoding", 0);
-
-  /* "h5py/defs.pyx":1589
- * cdef herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_char_encoding(plist_id, encoding)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1590
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_char_encoding(plist_id, encoding)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_char_encoding(__pyx_v_plist_id, __pyx_v_encoding); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1590; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1591
- *     with rlock:
- *         r = _hdf5.H5Pset_char_encoding(plist_id, encoding)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1592
- *         r = _hdf5.H5Pset_char_encoding(plist_id, encoding)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1592; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1593
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1594
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1589
- * cdef herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_char_encoding(plist_id, encoding)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_179, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1596
- *         return r
- * 
- * cdef herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_char_encoding(hid_t __pyx_v_plist_id, H5T_cset_t *__pyx_v_encoding) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_char_encoding", 0);
-
-  /* "h5py/defs.pyx":1598
- * cdef herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_char_encoding(plist_id, encoding)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1599
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_char_encoding(plist_id, encoding)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_char_encoding(__pyx_v_plist_id, __pyx_v_encoding); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1599; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1600
- *     with rlock:
- *         r = _hdf5.H5Pget_char_encoding(plist_id, encoding)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1601
- *         r = _hdf5.H5Pget_char_encoding(plist_id, encoding)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1601; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1602
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1603
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1598
- * cdef herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_char_encoding(plist_id, encoding)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_180, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1605
- *         return r
- * 
- * cdef herr_t H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_obj_track_times(hid_t __pyx_v_ocpl_id, hbool_t __pyx_v_track_times) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_obj_track_times", 0);
-
-  /* "h5py/defs.pyx":1607
- * cdef herr_t H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_obj_track_times(ocpl_id, track_times)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1608
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_obj_track_times(ocpl_id, track_times)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_obj_track_times(__pyx_v_ocpl_id, __pyx_v_track_times); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1608; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1609
- *     with rlock:
- *         r = _hdf5.H5Pset_obj_track_times(ocpl_id, track_times)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1610
- *         r = _hdf5.H5Pset_obj_track_times(ocpl_id, track_times)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1610; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1611
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1612
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1607
- * cdef herr_t H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_obj_track_times(ocpl_id, track_times)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_obj_track_times", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_181, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_obj_track_times", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1614
- *         return r
- * 
- * cdef herr_t H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_obj_track_times(hid_t __pyx_v_ocpl_id, hbool_t *__pyx_v_track_times) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_obj_track_times", 0);
-
-  /* "h5py/defs.pyx":1616
- * cdef herr_t H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_obj_track_times(ocpl_id, track_times)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1617
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_obj_track_times(ocpl_id, track_times)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_obj_track_times(__pyx_v_ocpl_id, __pyx_v_track_times); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1617; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1618
- *     with rlock:
- *         r = _hdf5.H5Pget_obj_track_times(ocpl_id, track_times)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1619
- *         r = _hdf5.H5Pget_obj_track_times(ocpl_id, track_times)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1620
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1621
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1616
- * cdef herr_t H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_obj_track_times(ocpl_id, track_times)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_obj_track_times", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_182, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_obj_track_times", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1623
- *         return r
- * 
- * cdef herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint(hid_t __pyx_v_plist_id, size_t __pyx_v_size_hint) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_local_heap_size_hint", 0);
-
-  /* "h5py/defs.pyx":1625
- * cdef herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1626
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_local_heap_size_hint(plist_id, size_hint)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_local_heap_size_hint(__pyx_v_plist_id, __pyx_v_size_hint); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1626; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1627
- *     with rlock:
- *         r = _hdf5.H5Pset_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1628
- *         r = _hdf5.H5Pset_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1628; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1629
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1630
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1625
- * cdef herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_local_heap_size_hint", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_183, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_local_heap_size_hint", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1632
- *         return r
- * 
- * cdef herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint(hid_t __pyx_v_plist_id, size_t *__pyx_v_size_hint) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_local_heap_size_hint", 0);
-
-  /* "h5py/defs.pyx":1634
- * cdef herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1635
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_local_heap_size_hint(plist_id, size_hint)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_local_heap_size_hint(__pyx_v_plist_id, __pyx_v_size_hint); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1635; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1636
- *     with rlock:
- *         r = _hdf5.H5Pget_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1637
- *         r = _hdf5.H5Pget_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1637; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1638
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1639
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1634
- * cdef herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_local_heap_size_hint", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_184, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_local_heap_size_hint", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1641
- *         return r
- * 
- * cdef herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_link_phase_change(hid_t __pyx_v_plist_id, unsigned int __pyx_v_max_compact, unsigned int __pyx_v_min_dense) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_link_phase_change", 0);
-
-  /* "h5py/defs.pyx":1643
- * cdef herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1644
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_link_phase_change(plist_id, max_compact, min_dense)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_link_phase_change(__pyx_v_plist_id, __pyx_v_max_compact, __pyx_v_min_dense); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1644; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1645
- *     with rlock:
- *         r = _hdf5.H5Pset_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1646
- *         r = _hdf5.H5Pset_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1646; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1647
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1648
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1643
- * cdef herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_link_phase_change", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_185, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_link_phase_change", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1650
- *         return r
- * 
- * cdef herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_link_phase_change(hid_t __pyx_v_plist_id, unsigned int *__pyx_v_max_compact, unsigned int *__pyx_v_min_dense) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_link_phase_change", 0);
-
-  /* "h5py/defs.pyx":1652
- * cdef herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1653
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_link_phase_change(plist_id, max_compact, min_dense)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_link_phase_change(__pyx_v_plist_id, __pyx_v_max_compact, __pyx_v_min_dense); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1653; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1654
- *     with rlock:
- *         r = _hdf5.H5Pget_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1655
- *         r = _hdf5.H5Pget_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1655; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1656
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1657
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1652
- * cdef herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_link_phase_change", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_186, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_link_phase_change", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1659
- *         return r
- * 
- * cdef herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_est_link_info(hid_t __pyx_v_plist_id, unsigned int __pyx_v_est_num_entries, unsigned int __pyx_v_est_name_len) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_est_link_info", 0);
-
-  /* "h5py/defs.pyx":1661
- * cdef herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1662
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_est_link_info(plist_id, est_num_entries, est_name_len)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_est_link_info(__pyx_v_plist_id, __pyx_v_est_num_entries, __pyx_v_est_name_len); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1662; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1663
- *     with rlock:
- *         r = _hdf5.H5Pset_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1664
- *         r = _hdf5.H5Pset_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1664; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1665
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1666
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1661
- * cdef herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_est_link_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_187, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_est_link_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1668
- *         return r
- * 
- * cdef herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_est_link_info(hid_t __pyx_v_plist_id, unsigned int *__pyx_v_est_num_entries, unsigned int *__pyx_v_est_name_len) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_est_link_info", 0);
-
-  /* "h5py/defs.pyx":1670
- * cdef herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1671
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_est_link_info(plist_id, est_num_entries, est_name_len)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_est_link_info(__pyx_v_plist_id, __pyx_v_est_num_entries, __pyx_v_est_name_len); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1671; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1672
- *     with rlock:
- *         r = _hdf5.H5Pget_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1673
- *         r = _hdf5.H5Pget_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1673; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1674
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1675
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1670
- * cdef herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_est_link_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_188, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_est_link_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1677
- *         return r
- * 
- * cdef herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_link_creation_order(hid_t __pyx_v_plist_id, unsigned int __pyx_v_crt_order_flags) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_link_creation_order", 0);
-
-  /* "h5py/defs.pyx":1679
- * cdef herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1680
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_link_creation_order(plist_id, crt_order_flags)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_link_creation_order(__pyx_v_plist_id, __pyx_v_crt_order_flags); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1680; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1681
- *     with rlock:
- *         r = _hdf5.H5Pset_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1682
- *         r = _hdf5.H5Pset_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1682; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1683
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1684
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1679
- * cdef herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_189, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1686
- *         return r
- * 
- * cdef herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_link_creation_order(hid_t __pyx_v_plist_id, unsigned int *__pyx_v_crt_order_flags) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_link_creation_order", 0);
-
-  /* "h5py/defs.pyx":1688
- * cdef herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1689
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_link_creation_order(plist_id, crt_order_flags)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_link_creation_order(__pyx_v_plist_id, __pyx_v_crt_order_flags); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1689; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1690
- *     with rlock:
- *         r = _hdf5.H5Pget_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1691
- *         r = _hdf5.H5Pget_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1691; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1692
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1693
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1688
- * cdef herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_190, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1695
- *         return r
- * 
- * cdef herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pset_libver_bounds(hid_t __pyx_v_fapl_id, H5F_libver_t __pyx_v_libver_low, H5F_libver_t __pyx_v_libver_high) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pset_libver_bounds", 0);
-
-  /* "h5py/defs.pyx":1697
- * cdef herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1698
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pset_libver_bounds(fapl_id, libver_low, libver_high)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pset_libver_bounds(__pyx_v_fapl_id, __pyx_v_libver_low, __pyx_v_libver_high); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1698; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1699
- *     with rlock:
- *         r = _hdf5.H5Pset_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1700
- *         r = _hdf5.H5Pset_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1700; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1701
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1702
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1697
- * cdef herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pset_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_191, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pset_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1704
- *         return r
- * 
- * cdef herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Pget_libver_bounds(hid_t __pyx_v_fapl_id, H5F_libver_t *__pyx_v_libver_low, H5F_libver_t *__pyx_v_libver_high) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Pget_libver_bounds", 0);
-
-  /* "h5py/defs.pyx":1706
- * cdef herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1707
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Pget_libver_bounds(fapl_id, libver_low, libver_high)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Pget_libver_bounds(__pyx_v_fapl_id, __pyx_v_libver_low, __pyx_v_libver_high); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1707; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1708
- *     with rlock:
- *         r = _hdf5.H5Pget_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1709
- *         r = _hdf5.H5Pget_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1709; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1710
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1711
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1706
- * cdef herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Pget_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_192, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Pget_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1713
- *         return r
- * 
- * cdef herr_t H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Rcreate(void *__pyx_v_ref, hid_t __pyx_v_loc_id, char *__pyx_v_name, H5R_type_t __pyx_v_ref_type, hid_t __pyx_v_space_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Rcreate", 0);
-
-  /* "h5py/defs.pyx":1715
- * cdef herr_t H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rcreate(ref, loc_id, name, ref_type, space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1716
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Rcreate(ref, loc_id, name, ref_type, space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Rcreate(__pyx_v_ref, __pyx_v_loc_id, __pyx_v_name, __pyx_v_ref_type, __pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1716; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1717
- *     with rlock:
- *         r = _hdf5.H5Rcreate(ref, loc_id, name, ref_type, space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1718
- *         r = _hdf5.H5Rcreate(ref, loc_id, name, ref_type, space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1718; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1719
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1720
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1715
- * cdef herr_t H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rcreate(ref, loc_id, name, ref_type, space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Rcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_193, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Rcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1722
- *         return r
- * 
- * cdef hid_t H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Rdereference(hid_t __pyx_v_obj_id, H5R_type_t __pyx_v_ref_type, void *__pyx_v_ref) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Rdereference", 0);
-
-  /* "h5py/defs.pyx":1724
- * cdef hid_t H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rdereference(obj_id, ref_type, ref)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1725
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Rdereference(obj_id, ref_type, ref)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Rdereference(__pyx_v_obj_id, __pyx_v_ref_type, __pyx_v_ref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1725; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1726
- *     with rlock:
- *         r = _hdf5.H5Rdereference(obj_id, ref_type, ref)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1727
- *         r = _hdf5.H5Rdereference(obj_id, ref_type, ref)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1727; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1728
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1729
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1724
- * cdef hid_t H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rdereference(obj_id, ref_type, ref)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Rdereference", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_194, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Rdereference", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1731
- *         return r
- * 
- * cdef hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Rget_region(hid_t __pyx_v_dataset, H5R_type_t __pyx_v_ref_type, void *__pyx_v_ref) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Rget_region", 0);
-
-  /* "h5py/defs.pyx":1733
- * cdef hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_region(dataset, ref_type, ref)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1734
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Rget_region(dataset, ref_type, ref)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Rget_region(__pyx_v_dataset, __pyx_v_ref_type, __pyx_v_ref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1734; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1735
- *     with rlock:
- *         r = _hdf5.H5Rget_region(dataset, ref_type, ref)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1736
- *         r = _hdf5.H5Rget_region(dataset, ref_type, ref)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1736; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1737
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1738
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5G_obj_t H5Rget_obj_type(hid_t id, H5R_type_t ref_type, void *ref) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1733
- * cdef hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_region(dataset, ref_type, ref)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Rget_region", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_195, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Rget_region", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1740
- *         return r
- * 
- * cdef H5G_obj_t H5Rget_obj_type(hid_t id, H5R_type_t ref_type, void *ref) except *:             # <<<<<<<<<<<<<<
- *     cdef H5G_obj_t r
- *     with rlock:
- */
-
-static enum H5G_obj_t __pyx_f_4h5py_4defs_H5Rget_obj_type(hid_t __pyx_v_id, H5R_type_t __pyx_v_ref_type, void *__pyx_v_ref) {
-  enum H5G_obj_t __pyx_v_r;
-  enum H5G_obj_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  enum H5G_obj_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Rget_obj_type", 0);
-
-  /* "h5py/defs.pyx":1742
- * cdef H5G_obj_t H5Rget_obj_type(hid_t id, H5R_type_t ref_type, void *ref) except *:
- *     cdef H5G_obj_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_obj_type(id, ref_type, ref)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1743
- *     cdef H5G_obj_t r
- *     with rlock:
- *         r = _hdf5.H5Rget_obj_type(id, ref_type, ref)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Rget_obj_type(__pyx_v_id, __pyx_v_ref_type, __pyx_v_ref); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1743; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1744
- *     with rlock:
- *         r = _hdf5.H5Rget_obj_type(id, ref_type, ref)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5G_obj_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1745
- *         r = _hdf5.H5Rget_obj_type(id, ref_type, ref)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5G_obj_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1745; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1746
- *         if r<0:
- *             if set_exception():
- *                 return <H5G_obj_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((enum H5G_obj_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1747
- *             if set_exception():
- *                 return <H5G_obj_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1742
- * cdef H5G_obj_t H5Rget_obj_type(hid_t id, H5R_type_t ref_type, void *ref) except *:
- *     cdef H5G_obj_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_obj_type(id, ref_type, ref)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Rget_obj_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_196, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Rget_obj_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1749
- *         return r
- * 
- * cdef ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5Rget_name(hid_t __pyx_v_loc_id, H5R_type_t __pyx_v_ref_type, void *__pyx_v_ref, char *__pyx_v_name, size_t __pyx_v_size) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Rget_name", 0);
-
-  /* "h5py/defs.pyx":1751
- * cdef ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_name(loc_id, ref_type, ref, name, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1752
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5Rget_name(loc_id, ref_type, ref, name, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Rget_name(__pyx_v_loc_id, __pyx_v_ref_type, __pyx_v_ref, __pyx_v_name, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1752; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1753
- *     with rlock:
- *         r = _hdf5.H5Rget_name(loc_id, ref_type, ref, name, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1754
- *         r = _hdf5.H5Rget_name(loc_id, ref_type, ref, name, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1754; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1755
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1756
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Screate(H5S_class_t type) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1751
- * cdef ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_name(loc_id, ref_type, ref, name, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Rget_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_197, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Rget_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1758
- *         return r
- * 
- * cdef hid_t H5Screate(H5S_class_t type) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Screate(H5S_class_t __pyx_v_type) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Screate", 0);
-
-  /* "h5py/defs.pyx":1760
- * cdef hid_t H5Screate(H5S_class_t type) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Screate(type)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1761
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Screate(type)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Screate(__pyx_v_type); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1761; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1762
- *     with rlock:
- *         r = _hdf5.H5Screate(type)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1763
- *         r = _hdf5.H5Screate(type)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1763; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1764
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1765
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Scopy(hid_t space_id ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1760
- * cdef hid_t H5Screate(H5S_class_t type) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Screate(type)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Screate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_198, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Screate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1767
- *         return r
- * 
- * cdef hid_t H5Scopy(hid_t space_id ) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Scopy(hid_t __pyx_v_space_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Scopy", 0);
-
-  /* "h5py/defs.pyx":1769
- * cdef hid_t H5Scopy(hid_t space_id ) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Scopy(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1770
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Scopy(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Scopy(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1770; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1771
- *     with rlock:
- *         r = _hdf5.H5Scopy(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1772
- *         r = _hdf5.H5Scopy(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1772; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1773
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1774
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sclose(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1769
- * cdef hid_t H5Scopy(hid_t space_id ) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Scopy(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Scopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_199, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Scopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1776
- *         return r
- * 
- * cdef herr_t H5Sclose(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sclose(hid_t __pyx_v_space_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sclose", 0);
-
-  /* "h5py/defs.pyx":1778
- * cdef herr_t H5Sclose(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sclose(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1779
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sclose(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1779; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1780
- *     with rlock:
- *         r = _hdf5.H5Sclose(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1781
- *         r = _hdf5.H5Sclose(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1781; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1782
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1783
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Screate_simple(int rank, hsize_t *dims, hsize_t *maxdims) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1778
- * cdef herr_t H5Sclose(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sclose(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_200, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1785
- *         return r
- * 
- * cdef hid_t H5Screate_simple(int rank, hsize_t *dims, hsize_t *maxdims) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Screate_simple(int __pyx_v_rank, hsize_t *__pyx_v_dims, hsize_t *__pyx_v_maxdims) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Screate_simple", 0);
-
-  /* "h5py/defs.pyx":1787
- * cdef hid_t H5Screate_simple(int rank, hsize_t *dims, hsize_t *maxdims) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Screate_simple(rank, dims, maxdims)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1788
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Screate_simple(rank, dims, maxdims)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Screate_simple(__pyx_v_rank, __pyx_v_dims, __pyx_v_maxdims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1788; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1789
- *     with rlock:
- *         r = _hdf5.H5Screate_simple(rank, dims, maxdims)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1790
- *         r = _hdf5.H5Screate_simple(rank, dims, maxdims)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1790; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1791
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1792
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Sis_simple(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1787
- * cdef hid_t H5Screate_simple(int rank, hsize_t *dims, hsize_t *maxdims) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Screate_simple(rank, dims, maxdims)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Screate_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_201, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Screate_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1794
- *         return r
- * 
- * cdef htri_t H5Sis_simple(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Sis_simple(hid_t __pyx_v_space_id) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sis_simple", 0);
-
-  /* "h5py/defs.pyx":1796
- * cdef htri_t H5Sis_simple(hid_t space_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sis_simple(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1797
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Sis_simple(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sis_simple(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1797; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1798
- *     with rlock:
- *         r = _hdf5.H5Sis_simple(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1799
- *         r = _hdf5.H5Sis_simple(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1799; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1800
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1801
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Soffset_simple(hid_t space_id, hssize_t *offset ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1796
- * cdef htri_t H5Sis_simple(hid_t space_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sis_simple(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sis_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_202, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sis_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1803
- *         return r
- * 
- * cdef herr_t H5Soffset_simple(hid_t space_id, hssize_t *offset ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Soffset_simple(hid_t __pyx_v_space_id, hssize_t *__pyx_v_offset) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Soffset_simple", 0);
-
-  /* "h5py/defs.pyx":1805
- * cdef herr_t H5Soffset_simple(hid_t space_id, hssize_t *offset ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Soffset_simple(space_id, offset)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1806
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Soffset_simple(space_id, offset)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Soffset_simple(__pyx_v_space_id, __pyx_v_offset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1806; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1807
- *     with rlock:
- *         r = _hdf5.H5Soffset_simple(space_id, offset)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1808
- *         r = _hdf5.H5Soffset_simple(space_id, offset)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1808; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1809
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1810
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Sget_simple_extent_ndims(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1805
- * cdef herr_t H5Soffset_simple(hid_t space_id, hssize_t *offset ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Soffset_simple(space_id, offset)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Soffset_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_203, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Soffset_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1812
- *         return r
- * 
- * cdef int H5Sget_simple_extent_ndims(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(hid_t __pyx_v_space_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_simple_extent_ndims", 0);
-
-  /* "h5py/defs.pyx":1814
- * cdef int H5Sget_simple_extent_ndims(hid_t space_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_ndims(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1815
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Sget_simple_extent_ndims(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_simple_extent_ndims(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1815; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1816
- *     with rlock:
- *         r = _hdf5.H5Sget_simple_extent_ndims(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1817
- *         r = _hdf5.H5Sget_simple_extent_ndims(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1817; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":1818
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1819
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Sget_simple_extent_dims(hid_t space_id, hsize_t *dims, hsize_t *maxdims) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1814
- * cdef int H5Sget_simple_extent_ndims(hid_t space_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_ndims(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_simple_extent_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_204, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_simple_extent_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1821
- *         return r
- * 
- * cdef int H5Sget_simple_extent_dims(hid_t space_id, hsize_t *dims, hsize_t *maxdims) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(hid_t __pyx_v_space_id, hsize_t *__pyx_v_dims, hsize_t *__pyx_v_maxdims) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_simple_extent_dims", 0);
-
-  /* "h5py/defs.pyx":1823
- * cdef int H5Sget_simple_extent_dims(hid_t space_id, hsize_t *dims, hsize_t *maxdims) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_dims(space_id, dims, maxdims)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1824
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Sget_simple_extent_dims(space_id, dims, maxdims)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_simple_extent_dims(__pyx_v_space_id, __pyx_v_dims, __pyx_v_maxdims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1824; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1825
- *     with rlock:
- *         r = _hdf5.H5Sget_simple_extent_dims(space_id, dims, maxdims)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1826
- *         r = _hdf5.H5Sget_simple_extent_dims(space_id, dims, maxdims)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1826; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":1827
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1828
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hssize_t H5Sget_simple_extent_npoints(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1823
- * cdef int H5Sget_simple_extent_dims(hid_t space_id, hsize_t *dims, hsize_t *maxdims) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_dims(space_id, dims, maxdims)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_simple_extent_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_205, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_simple_extent_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1830
- *         return r
- * 
- * cdef hssize_t H5Sget_simple_extent_npoints(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hssize_t r
- *     with rlock:
- */
-
-static hssize_t __pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints(hid_t __pyx_v_space_id) {
-  hssize_t __pyx_v_r;
-  hssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_simple_extent_npoints", 0);
-
-  /* "h5py/defs.pyx":1832
- * cdef hssize_t H5Sget_simple_extent_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_npoints(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1833
- *     cdef hssize_t r
- *     with rlock:
- *         r = _hdf5.H5Sget_simple_extent_npoints(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_simple_extent_npoints(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1833; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1834
- *     with rlock:
- *         r = _hdf5.H5Sget_simple_extent_npoints(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1835
- *         r = _hdf5.H5Sget_simple_extent_npoints(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1835; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1836
- *         if r<0:
- *             if set_exception():
- *                 return <hssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1837
- *             if set_exception():
- *                 return <hssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5S_class_t H5Sget_simple_extent_type(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1832
- * cdef hssize_t H5Sget_simple_extent_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_npoints(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_simple_extent_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_206, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_simple_extent_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1839
- *         return r
- * 
- * cdef H5S_class_t H5Sget_simple_extent_type(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5S_class_t r
- *     with rlock:
- */
-
-static H5S_class_t __pyx_f_4h5py_4defs_H5Sget_simple_extent_type(hid_t __pyx_v_space_id) {
-  H5S_class_t __pyx_v_r;
-  H5S_class_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5S_class_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_simple_extent_type", 0);
-
-  /* "h5py/defs.pyx":1841
- * cdef H5S_class_t H5Sget_simple_extent_type(hid_t space_id) except *:
- *     cdef H5S_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_type(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1842
- *     cdef H5S_class_t r
- *     with rlock:
- *         r = _hdf5.H5Sget_simple_extent_type(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_simple_extent_type(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1842; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1843
- *     with rlock:
- *         r = _hdf5.H5Sget_simple_extent_type(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5S_class_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1844
- *         r = _hdf5.H5Sget_simple_extent_type(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5S_class_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1844; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1845
- *         if r<0:
- *             if set_exception():
- *                 return <H5S_class_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5S_class_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1846
- *             if set_exception():
- *                 return <H5S_class_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sextent_copy(hid_t dest_space_id, hid_t source_space_id ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1841
- * cdef H5S_class_t H5Sget_simple_extent_type(hid_t space_id) except *:
- *     cdef H5S_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_type(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_simple_extent_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_207, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_simple_extent_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1848
- *         return r
- * 
- * cdef herr_t H5Sextent_copy(hid_t dest_space_id, hid_t source_space_id ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sextent_copy(hid_t __pyx_v_dest_space_id, hid_t __pyx_v_source_space_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sextent_copy", 0);
-
-  /* "h5py/defs.pyx":1850
- * cdef herr_t H5Sextent_copy(hid_t dest_space_id, hid_t source_space_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sextent_copy(dest_space_id, source_space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1851
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sextent_copy(dest_space_id, source_space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sextent_copy(__pyx_v_dest_space_id, __pyx_v_source_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1851; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1852
- *     with rlock:
- *         r = _hdf5.H5Sextent_copy(dest_space_id, source_space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1853
- *         r = _hdf5.H5Sextent_copy(dest_space_id, source_space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1853; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1854
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1855
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sset_extent_simple(hid_t space_id, int rank, hsize_t *current_size, hsize_t *maximum_size ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1850
- * cdef herr_t H5Sextent_copy(hid_t dest_space_id, hid_t source_space_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sextent_copy(dest_space_id, source_space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sextent_copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_208, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sextent_copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1857
- *         return r
- * 
- * cdef herr_t H5Sset_extent_simple(hid_t space_id, int rank, hsize_t *current_size, hsize_t *maximum_size ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sset_extent_simple(hid_t __pyx_v_space_id, int __pyx_v_rank, hsize_t *__pyx_v_current_size, hsize_t *__pyx_v_maximum_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sset_extent_simple", 0);
-
-  /* "h5py/defs.pyx":1859
- * cdef herr_t H5Sset_extent_simple(hid_t space_id, int rank, hsize_t *current_size, hsize_t *maximum_size ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sset_extent_simple(space_id, rank, current_size, maximum_size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1860
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sset_extent_simple(space_id, rank, current_size, maximum_size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sset_extent_simple(__pyx_v_space_id, __pyx_v_rank, __pyx_v_current_size, __pyx_v_maximum_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1860; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1861
- *     with rlock:
- *         r = _hdf5.H5Sset_extent_simple(space_id, rank, current_size, maximum_size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1862
- *         r = _hdf5.H5Sset_extent_simple(space_id, rank, current_size, maximum_size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1862; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1863
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1864
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sset_extent_none(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1859
- * cdef herr_t H5Sset_extent_simple(hid_t space_id, int rank, hsize_t *current_size, hsize_t *maximum_size ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sset_extent_simple(space_id, rank, current_size, maximum_size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sset_extent_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_209, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sset_extent_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1866
- *         return r
- * 
- * cdef herr_t H5Sset_extent_none(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sset_extent_none(hid_t __pyx_v_space_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sset_extent_none", 0);
-
-  /* "h5py/defs.pyx":1868
- * cdef herr_t H5Sset_extent_none(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sset_extent_none(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1869
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sset_extent_none(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sset_extent_none(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1869; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1870
- *     with rlock:
- *         r = _hdf5.H5Sset_extent_none(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1871
- *         r = _hdf5.H5Sset_extent_none(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1871; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1872
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1873
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5S_sel_type H5Sget_select_type(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1868
- * cdef herr_t H5Sset_extent_none(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sset_extent_none(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sset_extent_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_210, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sset_extent_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1875
- *         return r
- * 
- * cdef H5S_sel_type H5Sget_select_type(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5S_sel_type r
- *     with rlock:
- */
-
-static H5S_sel_type __pyx_f_4h5py_4defs_H5Sget_select_type(hid_t __pyx_v_space_id) {
-  H5S_sel_type __pyx_v_r;
-  H5S_sel_type __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5S_sel_type __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_select_type", 0);
-
-  /* "h5py/defs.pyx":1877
- * cdef H5S_sel_type H5Sget_select_type(hid_t space_id) except *:
- *     cdef H5S_sel_type r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_type(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1878
- *     cdef H5S_sel_type r
- *     with rlock:
- *         r = _hdf5.H5Sget_select_type(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_select_type(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1878; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1879
- *     with rlock:
- *         r = _hdf5.H5Sget_select_type(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5S_sel_type>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1880
- *         r = _hdf5.H5Sget_select_type(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5S_sel_type>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1880; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1881
- *         if r<0:
- *             if set_exception():
- *                 return <H5S_sel_type>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5S_sel_type)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1882
- *             if set_exception():
- *                 return <H5S_sel_type>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hssize_t H5Sget_select_npoints(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1877
- * cdef H5S_sel_type H5Sget_select_type(hid_t space_id) except *:
- *     cdef H5S_sel_type r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_type(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_select_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_211, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_select_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1884
- *         return r
- * 
- * cdef hssize_t H5Sget_select_npoints(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hssize_t r
- *     with rlock:
- */
-
-static hssize_t __pyx_f_4h5py_4defs_H5Sget_select_npoints(hid_t __pyx_v_space_id) {
-  hssize_t __pyx_v_r;
-  hssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_select_npoints", 0);
-
-  /* "h5py/defs.pyx":1886
- * cdef hssize_t H5Sget_select_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_npoints(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1887
- *     cdef hssize_t r
- *     with rlock:
- *         r = _hdf5.H5Sget_select_npoints(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_select_npoints(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1887; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1888
- *     with rlock:
- *         r = _hdf5.H5Sget_select_npoints(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1889
- *         r = _hdf5.H5Sget_select_npoints(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1889; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1890
- *         if r<0:
- *             if set_exception():
- *                 return <hssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1891
- *             if set_exception():
- *                 return <hssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sget_select_bounds(hid_t space_id, hsize_t *start, hsize_t *end) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1886
- * cdef hssize_t H5Sget_select_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_npoints(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_select_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_212, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_select_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1893
- *         return r
- * 
- * cdef herr_t H5Sget_select_bounds(hid_t space_id, hsize_t *start, hsize_t *end) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sget_select_bounds(hid_t __pyx_v_space_id, hsize_t *__pyx_v_start, hsize_t *__pyx_v_end) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_select_bounds", 0);
-
-  /* "h5py/defs.pyx":1895
- * cdef herr_t H5Sget_select_bounds(hid_t space_id, hsize_t *start, hsize_t *end) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_bounds(space_id, start, end)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1896
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sget_select_bounds(space_id, start, end)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_select_bounds(__pyx_v_space_id, __pyx_v_start, __pyx_v_end); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1896; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1897
- *     with rlock:
- *         r = _hdf5.H5Sget_select_bounds(space_id, start, end)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1898
- *         r = _hdf5.H5Sget_select_bounds(space_id, start, end)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1898; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1899
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1900
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sselect_all(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1895
- * cdef herr_t H5Sget_select_bounds(hid_t space_id, hsize_t *start, hsize_t *end) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_bounds(space_id, start, end)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_select_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_213, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_select_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1902
- *         return r
- * 
- * cdef herr_t H5Sselect_all(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sselect_all(hid_t __pyx_v_space_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sselect_all", 0);
-
-  /* "h5py/defs.pyx":1904
- * cdef herr_t H5Sselect_all(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_all(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1905
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sselect_all(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sselect_all(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1905; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1906
- *     with rlock:
- *         r = _hdf5.H5Sselect_all(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1907
- *         r = _hdf5.H5Sselect_all(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1907; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1908
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1909
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sselect_none(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1904
- * cdef herr_t H5Sselect_all(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_all(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sselect_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_214, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sselect_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1911
- *         return r
- * 
- * cdef herr_t H5Sselect_none(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sselect_none(hid_t __pyx_v_space_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sselect_none", 0);
-
-  /* "h5py/defs.pyx":1913
- * cdef herr_t H5Sselect_none(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_none(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1914
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sselect_none(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sselect_none(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1914; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1915
- *     with rlock:
- *         r = _hdf5.H5Sselect_none(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1916
- *         r = _hdf5.H5Sselect_none(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1916; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1917
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1918
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Sselect_valid(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1913
- * cdef herr_t H5Sselect_none(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_none(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sselect_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_215, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sselect_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1920
- *         return r
- * 
- * cdef htri_t H5Sselect_valid(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Sselect_valid(hid_t __pyx_v_space_id) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sselect_valid", 0);
-
-  /* "h5py/defs.pyx":1922
- * cdef htri_t H5Sselect_valid(hid_t space_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_valid(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1923
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Sselect_valid(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sselect_valid(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1923; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1924
- *     with rlock:
- *         r = _hdf5.H5Sselect_valid(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1925
- *         r = _hdf5.H5Sselect_valid(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1925; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1926
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1927
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hssize_t H5Sget_select_elem_npoints(hid_t space_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1922
- * cdef htri_t H5Sselect_valid(hid_t space_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_valid(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sselect_valid", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_216, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sselect_valid", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1929
- *         return r
- * 
- * cdef hssize_t H5Sget_select_elem_npoints(hid_t space_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hssize_t r
- *     with rlock:
- */
-
-static hssize_t __pyx_f_4h5py_4defs_H5Sget_select_elem_npoints(hid_t __pyx_v_space_id) {
-  hssize_t __pyx_v_r;
-  hssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_select_elem_npoints", 0);
-
-  /* "h5py/defs.pyx":1931
- * cdef hssize_t H5Sget_select_elem_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_elem_npoints(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1932
- *     cdef hssize_t r
- *     with rlock:
- *         r = _hdf5.H5Sget_select_elem_npoints(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_select_elem_npoints(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1932; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1933
- *     with rlock:
- *         r = _hdf5.H5Sget_select_elem_npoints(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1934
- *         r = _hdf5.H5Sget_select_elem_npoints(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1934; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1935
- *         if r<0:
- *             if set_exception():
- *                 return <hssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1936
- *             if set_exception():
- *                 return <hssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sget_select_elem_pointlist(hid_t space_id, hsize_t startpoint,  hsize_t numpoints, hsize_t *buf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1931
- * cdef hssize_t H5Sget_select_elem_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_elem_npoints(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_select_elem_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_217, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_select_elem_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1938
- *         return r
- * 
- * cdef herr_t H5Sget_select_elem_pointlist(hid_t space_id, hsize_t startpoint,  hsize_t numpoints, hsize_t *buf) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist(hid_t __pyx_v_space_id, hsize_t __pyx_v_startpoint, hsize_t __pyx_v_numpoints, hsize_t *__pyx_v_buf) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_select_elem_pointlist", 0);
-
-  /* "h5py/defs.pyx":1940
- * cdef herr_t H5Sget_select_elem_pointlist(hid_t space_id, hsize_t startpoint,  hsize_t numpoints, hsize_t *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_elem_pointlist(space_id, startpoint, numpoints, buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1941
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sget_select_elem_pointlist(space_id, startpoint, numpoints, buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_select_elem_pointlist(__pyx_v_space_id, __pyx_v_startpoint, __pyx_v_numpoints, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1941; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1942
- *     with rlock:
- *         r = _hdf5.H5Sget_select_elem_pointlist(space_id, startpoint, numpoints, buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1943
- *         r = _hdf5.H5Sget_select_elem_pointlist(space_id, startpoint, numpoints, buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1943; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1944
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1945
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op,  size_t num_elements, hsize_t **coord) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1940
- * cdef herr_t H5Sget_select_elem_pointlist(hid_t space_id, hsize_t startpoint,  hsize_t numpoints, hsize_t *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_elem_pointlist(space_id, startpoint, numpoints, buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_select_elem_pointlist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_218, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_select_elem_pointlist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1947
- *         return r
- * 
- * cdef herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op,  size_t num_elements, hsize_t **coord) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sselect_elements(hid_t __pyx_v_space_id, H5S_seloper_t __pyx_v_op, size_t __pyx_v_num_elements, hsize_t **__pyx_v_coord) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sselect_elements", 0);
-
-  /* "h5py/defs.pyx":1949
- * cdef herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op,  size_t num_elements, hsize_t **coord) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_elements(space_id, op, num_elements, coord)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1950
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sselect_elements(space_id, op, num_elements, coord)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sselect_elements(__pyx_v_space_id, __pyx_v_op, __pyx_v_num_elements, __pyx_v_coord); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1950; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1951
- *     with rlock:
- *         r = _hdf5.H5Sselect_elements(space_id, op, num_elements, coord)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1952
- *         r = _hdf5.H5Sselect_elements(space_id, op, num_elements, coord)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1952; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1953
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1954
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hssize_t H5Sget_select_hyper_nblocks(hid_t space_id ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1949
- * cdef herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op,  size_t num_elements, hsize_t **coord) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_elements(space_id, op, num_elements, coord)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sselect_elements", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_219, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sselect_elements", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1956
- *         return r
- * 
- * cdef hssize_t H5Sget_select_hyper_nblocks(hid_t space_id ) except *:             # <<<<<<<<<<<<<<
- *     cdef hssize_t r
- *     with rlock:
- */
-
-static hssize_t __pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks(hid_t __pyx_v_space_id) {
-  hssize_t __pyx_v_r;
-  hssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_select_hyper_nblocks", 0);
-
-  /* "h5py/defs.pyx":1958
- * cdef hssize_t H5Sget_select_hyper_nblocks(hid_t space_id ) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_hyper_nblocks(space_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1959
- *     cdef hssize_t r
- *     with rlock:
- *         r = _hdf5.H5Sget_select_hyper_nblocks(space_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_select_hyper_nblocks(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1959; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1960
- *     with rlock:
- *         r = _hdf5.H5Sget_select_hyper_nblocks(space_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1961
- *         r = _hdf5.H5Sget_select_hyper_nblocks(space_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1961; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1962
- *         if r<0:
- *             if set_exception():
- *                 return <hssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1963
- *             if set_exception():
- *                 return <hssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sget_select_hyper_blocklist(hid_t space_id,  hsize_t startblock, hsize_t numblocks, hsize_t *buf ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1958
- * cdef hssize_t H5Sget_select_hyper_nblocks(hid_t space_id ) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_hyper_nblocks(space_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_select_hyper_nblocks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_220, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_select_hyper_nblocks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1965
- *         return r
- * 
- * cdef herr_t H5Sget_select_hyper_blocklist(hid_t space_id,  hsize_t startblock, hsize_t numblocks, hsize_t *buf ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist(hid_t __pyx_v_space_id, hsize_t __pyx_v_startblock, hsize_t __pyx_v_numblocks, hsize_t *__pyx_v_buf) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sget_select_hyper_blocklist", 0);
-
-  /* "h5py/defs.pyx":1967
- * cdef herr_t H5Sget_select_hyper_blocklist(hid_t space_id,  hsize_t startblock, hsize_t numblocks, hsize_t *buf ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_hyper_blocklist(space_id, startblock, numblocks, buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1968
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sget_select_hyper_blocklist(space_id, startblock, numblocks, buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sget_select_hyper_blocklist(__pyx_v_space_id, __pyx_v_startblock, __pyx_v_numblocks, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1968; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1969
- *     with rlock:
- *         r = _hdf5.H5Sget_select_hyper_blocklist(space_id, startblock, numblocks, buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1970
- *         r = _hdf5.H5Sget_select_hyper_blocklist(space_id, startblock, numblocks, buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1970; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1971
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1972
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1967
- * cdef herr_t H5Sget_select_hyper_blocklist(hid_t space_id,  hsize_t startblock, hsize_t numblocks, hsize_t *buf ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_hyper_blocklist(space_id, startblock, numblocks, buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sget_select_hyper_blocklist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_221, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sget_select_hyper_blocklist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1974
- *         return r
- * 
- * cdef herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sselect_hyperslab(hid_t __pyx_v_space_id, H5S_seloper_t __pyx_v_op, hsize_t *__pyx_v_start, hsize_t *__pyx_v__stride, hsize_t *__pyx_v_count, hsize_t *__pyx_v__block) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sselect_hyperslab", 0);
-
-  /* "h5py/defs.pyx":1976
- * cdef herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_hyperslab(space_id, op, start, _stride, count, _block)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1977
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sselect_hyperslab(space_id, op, start, _stride, count, _block)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sselect_hyperslab(__pyx_v_space_id, __pyx_v_op, __pyx_v_start, __pyx_v__stride, __pyx_v_count, __pyx_v__block); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1977; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1978
- *     with rlock:
- *         r = _hdf5.H5Sselect_hyperslab(space_id, op, start, _stride, count, _block)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1979
- *         r = _hdf5.H5Sselect_hyperslab(space_id, op, start, _stride, count, _block)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1979; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1980
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1981
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Sencode(hid_t obj_id, void *buf, size_t *nalloc) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1976
- * cdef herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_hyperslab(space_id, op, start, _stride, count, _block)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sselect_hyperslab", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_222, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sselect_hyperslab", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1983
- *         return r
- * 
- * cdef herr_t H5Sencode(hid_t obj_id, void *buf, size_t *nalloc) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Sencode(hid_t __pyx_v_obj_id, void *__pyx_v_buf, size_t *__pyx_v_nalloc) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sencode", 0);
-
-  /* "h5py/defs.pyx":1985
- * cdef herr_t H5Sencode(hid_t obj_id, void *buf, size_t *nalloc) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sencode(obj_id, buf, nalloc)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1986
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Sencode(obj_id, buf, nalloc)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sencode(__pyx_v_obj_id, __pyx_v_buf, __pyx_v_nalloc); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1986; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1987
- *     with rlock:
- *         r = _hdf5.H5Sencode(obj_id, buf, nalloc)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1988
- *         r = _hdf5.H5Sencode(obj_id, buf, nalloc)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1988; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1989
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1990
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Sdecode(void *buf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1985
- * cdef herr_t H5Sencode(hid_t obj_id, void *buf, size_t *nalloc) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sencode(obj_id, buf, nalloc)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sencode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_223, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sencode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":1992
- *         return r
- * 
- * cdef hid_t H5Sdecode(void *buf) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Sdecode(void *__pyx_v_buf) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Sdecode", 0);
-
-  /* "h5py/defs.pyx":1994
- * cdef hid_t H5Sdecode(void *buf) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sdecode(buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":1995
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Sdecode(buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Sdecode(__pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1995; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":1996
- *     with rlock:
- *         r = _hdf5.H5Sdecode(buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":1997
- *         r = _hdf5.H5Sdecode(buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1997; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":1998
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":1999
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tcreate(H5T_class_t type, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":1994
- * cdef hid_t H5Sdecode(void *buf) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sdecode(buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Sdecode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_224, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Sdecode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2001
- *         return r
- * 
- * cdef hid_t H5Tcreate(H5T_class_t type, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tcreate(enum H5T_class_t __pyx_v_type, size_t __pyx_v_size) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tcreate", 0);
-
-  /* "h5py/defs.pyx":2003
- * cdef hid_t H5Tcreate(H5T_class_t type, size_t size) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcreate(type, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2004
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tcreate(type, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tcreate(__pyx_v_type, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2004; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2005
- *     with rlock:
- *         r = _hdf5.H5Tcreate(type, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2006
- *         r = _hdf5.H5Tcreate(type, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2006; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2007
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2008
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Topen(hid_t loc, char* name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2003
- * cdef hid_t H5Tcreate(H5T_class_t type, size_t size) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcreate(type, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_225, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tcreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2010
- *         return r
- * 
- * cdef hid_t H5Topen(hid_t loc, char* name) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Topen(hid_t __pyx_v_loc, char *__pyx_v_name) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Topen", 0);
-
-  /* "h5py/defs.pyx":2012
- * cdef hid_t H5Topen(hid_t loc, char* name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Topen(loc, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2013
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Topen(loc, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Topen(__pyx_v_loc, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2013; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2014
- *     with rlock:
- *         r = _hdf5.H5Topen(loc, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2015
- *         r = _hdf5.H5Topen(loc, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2015; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2016
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2017
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tcommit(hid_t loc_id, char* name, hid_t type) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2012
- * cdef hid_t H5Topen(hid_t loc, char* name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Topen(loc, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Topen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_226, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Topen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2019
- *         return r
- * 
- * cdef herr_t H5Tcommit(hid_t loc_id, char* name, hid_t type) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tcommit(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_type) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tcommit", 0);
-
-  /* "h5py/defs.pyx":2021
- * cdef herr_t H5Tcommit(hid_t loc_id, char* name, hid_t type) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommit(loc_id, name, type)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2022
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tcommit(loc_id, name, type)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tcommit(__pyx_v_loc_id, __pyx_v_name, __pyx_v_type); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2022; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2023
- *     with rlock:
- *         r = _hdf5.H5Tcommit(loc_id, name, type)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2024
- *         r = _hdf5.H5Tcommit(loc_id, name, type)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2024; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2025
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2026
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Tcommitted(hid_t type) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2021
- * cdef herr_t H5Tcommit(hid_t loc_id, char* name, hid_t type) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommit(loc_id, name, type)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tcommit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_227, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tcommit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2028
- *         return r
- * 
- * cdef htri_t H5Tcommitted(hid_t type) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Tcommitted(hid_t __pyx_v_type) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tcommitted", 0);
-
-  /* "h5py/defs.pyx":2030
- * cdef htri_t H5Tcommitted(hid_t type) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommitted(type)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2031
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Tcommitted(type)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tcommitted(__pyx_v_type); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2031; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2032
- *     with rlock:
- *         r = _hdf5.H5Tcommitted(type)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2033
- *         r = _hdf5.H5Tcommitted(type)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2033; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2034
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2035
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tcopy(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2030
- * cdef htri_t H5Tcommitted(hid_t type) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommitted(type)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tcommitted", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_228, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tcommitted", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2037
- *         return r
- * 
- * cdef hid_t H5Tcopy(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tcopy(hid_t __pyx_v_type_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tcopy", 0);
-
-  /* "h5py/defs.pyx":2039
- * cdef hid_t H5Tcopy(hid_t type_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcopy(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2040
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tcopy(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tcopy(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2040; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2041
- *     with rlock:
- *         r = _hdf5.H5Tcopy(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2042
- *         r = _hdf5.H5Tcopy(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2042; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2043
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2044
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Tequal(hid_t type_id1, hid_t type_id2 ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2039
- * cdef hid_t H5Tcopy(hid_t type_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcopy(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tcopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_229, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tcopy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2046
- *         return r
- * 
- * cdef htri_t H5Tequal(hid_t type_id1, hid_t type_id2 ) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Tequal(hid_t __pyx_v_type_id1, hid_t __pyx_v_type_id2) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tequal", 0);
-
-  /* "h5py/defs.pyx":2048
- * cdef htri_t H5Tequal(hid_t type_id1, hid_t type_id2 ) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tequal(type_id1, type_id2)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2049
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Tequal(type_id1, type_id2)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tequal(__pyx_v_type_id1, __pyx_v_type_id2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2049; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2050
- *     with rlock:
- *         r = _hdf5.H5Tequal(type_id1, type_id2)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2051
- *         r = _hdf5.H5Tequal(type_id1, type_id2)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2051; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2052
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2053
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tlock(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2048
- * cdef htri_t H5Tequal(hid_t type_id1, hid_t type_id2 ) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tequal(type_id1, type_id2)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tequal", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_230, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tequal", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2055
- *         return r
- * 
- * cdef herr_t H5Tlock(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tlock(hid_t __pyx_v_type_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tlock", 0);
-
-  /* "h5py/defs.pyx":2057
- * cdef herr_t H5Tlock(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tlock(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2058
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tlock(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tlock(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2058; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2059
- *     with rlock:
- *         r = _hdf5.H5Tlock(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2060
- *         r = _hdf5.H5Tlock(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2060; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2061
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2062
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_class_t H5Tget_class(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2057
- * cdef herr_t H5Tlock(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tlock(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_231, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tlock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2064
- *         return r
- * 
- * cdef H5T_class_t H5Tget_class(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_class_t r
- *     with rlock:
- */
-
-static enum H5T_class_t __pyx_f_4h5py_4defs_H5Tget_class(hid_t __pyx_v_type_id) {
-  enum H5T_class_t __pyx_v_r;
-  enum H5T_class_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  enum H5T_class_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_class", 0);
-
-  /* "h5py/defs.pyx":2066
- * cdef H5T_class_t H5Tget_class(hid_t type_id) except *:
- *     cdef H5T_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_class(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2067
- *     cdef H5T_class_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_class(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_class(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2067; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2068
- *     with rlock:
- *         r = _hdf5.H5Tget_class(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_class_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2069
- *         r = _hdf5.H5Tget_class(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_class_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2069; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2070
- *         if r<0:
- *             if set_exception():
- *                 return <H5T_class_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((enum H5T_class_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2071
- *             if set_exception():
- *                 return <H5T_class_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef size_t H5Tget_size(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2066
- * cdef H5T_class_t H5Tget_class(hid_t type_id) except *:
- *     cdef H5T_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_class(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_232, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2073
- *         return r
- * 
- * cdef size_t H5Tget_size(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef size_t r
- *     with rlock:
- */
-
-static size_t __pyx_f_4h5py_4defs_H5Tget_size(hid_t __pyx_v_type_id) {
-  size_t __pyx_v_r;
-  size_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  size_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_size", 0);
-
-  /* "h5py/defs.pyx":2075
- * cdef size_t H5Tget_size(hid_t type_id) except *:
- *     cdef size_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_size(type_id)
- *         if r==0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2076
- *     cdef size_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_size(type_id)             # <<<<<<<<<<<<<<
- *         if r==0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_size(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2076; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2077
- *     with rlock:
- *         r = _hdf5.H5Tget_size(type_id)
- *         if r==0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <size_t>0;
- */
-          __pyx_t_9 = (__pyx_v_r == 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2078
- *         r = _hdf5.H5Tget_size(type_id)
- *         if r==0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <size_t>0;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2078; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2079
- *         if r==0:
- *             if set_exception():
- *                 return <size_t>0;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((size_t)0);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2080
- *             if set_exception():
- *                 return <size_t>0;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tget_super(hid_t type) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2075
- * cdef size_t H5Tget_size(hid_t type_id) except *:
- *     cdef size_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_size(type_id)
- *         if r==0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_233, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2082
- *         return r
- * 
- * cdef hid_t H5Tget_super(hid_t type) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tget_super(hid_t __pyx_v_type) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_super", 0);
-
-  /* "h5py/defs.pyx":2084
- * cdef hid_t H5Tget_super(hid_t type) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_super(type)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2085
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_super(type)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_super(__pyx_v_type); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2085; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2086
- *     with rlock:
- *         r = _hdf5.H5Tget_super(type)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2087
- *         r = _hdf5.H5Tget_super(type)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2087; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2088
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2089
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2084
- * cdef hid_t H5Tget_super(hid_t type) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_super(type)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_super", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_234, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_super", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2091
- *         return r
- * 
- * cdef htri_t H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Tdetect_class(hid_t __pyx_v_type_id, enum H5T_class_t __pyx_v_dtype_class) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tdetect_class", 0);
-
-  /* "h5py/defs.pyx":2093
- * cdef htri_t H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tdetect_class(type_id, dtype_class)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2094
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Tdetect_class(type_id, dtype_class)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tdetect_class(__pyx_v_type_id, __pyx_v_dtype_class); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2094; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2095
- *     with rlock:
- *         r = _hdf5.H5Tdetect_class(type_id, dtype_class)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2096
- *         r = _hdf5.H5Tdetect_class(type_id, dtype_class)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2096; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2097
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2098
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tclose(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2093
- * cdef htri_t H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tdetect_class(type_id, dtype_class)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tdetect_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_235, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tdetect_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2100
- *         return r
- * 
- * cdef herr_t H5Tclose(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tclose(hid_t __pyx_v_type_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tclose", 0);
-
-  /* "h5py/defs.pyx":2102
- * cdef herr_t H5Tclose(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tclose(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2103
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tclose(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tclose(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2103; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2104
- *     with rlock:
- *         r = _hdf5.H5Tclose(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2105
- *         r = _hdf5.H5Tclose(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2105; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2106
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2107
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2102
- * cdef herr_t H5Tclose(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tclose(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_236, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2109
- *         return r
- * 
- * cdef hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tget_native_type(hid_t __pyx_v_type_id, enum H5T_direction_t __pyx_v_direction) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_native_type", 0);
-
-  /* "h5py/defs.pyx":2111
- * cdef hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_native_type(type_id, direction)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2112
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_native_type(type_id, direction)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_native_type(__pyx_v_type_id, __pyx_v_direction); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2112; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2113
- *     with rlock:
- *         r = _hdf5.H5Tget_native_type(type_id, direction)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2114
- *         r = _hdf5.H5Tget_native_type(type_id, direction)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2114; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2115
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2116
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2111
- * cdef hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_native_type(type_id, direction)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_native_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_237, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_native_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2118
- *         return r
- * 
- * cdef herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tconvert(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, size_t __pyx_v_nelmts, void *__pyx_v_buf, void *__pyx_v_background, hid_t __pyx_v_plist_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tconvert", 0);
-
-  /* "h5py/defs.pyx":2120
- * cdef herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tconvert(src_id, dst_id, nelmts, buf, background, plist_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2121
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tconvert(src_id, dst_id, nelmts, buf, background, plist_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tconvert(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_nelmts, __pyx_v_buf, __pyx_v_background, __pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2121; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2122
- *     with rlock:
- *         r = _hdf5.H5Tconvert(src_id, dst_id, nelmts, buf, background, plist_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2123
- *         r = _hdf5.H5Tconvert(src_id, dst_id, nelmts, buf, background, plist_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2123; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2124
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2125
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_size(hid_t type_id, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2120
- * cdef herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tconvert(src_id, dst_id, nelmts, buf, background, plist_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tconvert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_238, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tconvert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2127
- *         return r
- * 
- * cdef herr_t H5Tset_size(hid_t type_id, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_size(hid_t __pyx_v_type_id, size_t __pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_size", 0);
-
-  /* "h5py/defs.pyx":2129
- * cdef herr_t H5Tset_size(hid_t type_id, size_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_size(type_id, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2130
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_size(type_id, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_size(__pyx_v_type_id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2130; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2131
- *     with rlock:
- *         r = _hdf5.H5Tset_size(type_id, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2132
- *         r = _hdf5.H5Tset_size(type_id, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2132; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2133
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2134
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_order_t H5Tget_order(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2129
- * cdef herr_t H5Tset_size(hid_t type_id, size_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_size(type_id, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_239, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2136
- *         return r
- * 
- * cdef H5T_order_t H5Tget_order(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_order_t r
- *     with rlock:
- */
-
-static H5T_order_t __pyx_f_4h5py_4defs_H5Tget_order(hid_t __pyx_v_type_id) {
-  H5T_order_t __pyx_v_r;
-  H5T_order_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5T_order_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_order", 0);
-
-  /* "h5py/defs.pyx":2138
- * cdef H5T_order_t H5Tget_order(hid_t type_id) except *:
- *     cdef H5T_order_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_order(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2139
- *     cdef H5T_order_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_order(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_order(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2139; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2140
- *     with rlock:
- *         r = _hdf5.H5Tget_order(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_order_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2141
- *         r = _hdf5.H5Tget_order(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_order_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2141; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2142
- *         if r<0:
- *             if set_exception():
- *                 return <H5T_order_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5T_order_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2143
- *             if set_exception():
- *                 return <H5T_order_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_order(hid_t type_id, H5T_order_t order) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2138
- * cdef H5T_order_t H5Tget_order(hid_t type_id) except *:
- *     cdef H5T_order_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_order(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_240, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2145
- *         return r
- * 
- * cdef herr_t H5Tset_order(hid_t type_id, H5T_order_t order) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_order(hid_t __pyx_v_type_id, H5T_order_t __pyx_v_order) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_order", 0);
-
-  /* "h5py/defs.pyx":2147
- * cdef herr_t H5Tset_order(hid_t type_id, H5T_order_t order) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_order(type_id, order)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2148
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_order(type_id, order)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_order(__pyx_v_type_id, __pyx_v_order); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2148; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2149
- *     with rlock:
- *         r = _hdf5.H5Tset_order(type_id, order)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2150
- *         r = _hdf5.H5Tset_order(type_id, order)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2150; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2151
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2152
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hsize_t H5Tget_precision(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2147
- * cdef herr_t H5Tset_order(hid_t type_id, H5T_order_t order) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_order(type_id, order)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_241, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2154
- *         return r
- * 
- * cdef hsize_t H5Tget_precision(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hsize_t r
- *     with rlock:
- */
-
-static hsize_t __pyx_f_4h5py_4defs_H5Tget_precision(hid_t __pyx_v_type_id) {
-  hsize_t __pyx_v_r;
-  hsize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hsize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_precision", 0);
-
-  /* "h5py/defs.pyx":2156
- * cdef hsize_t H5Tget_precision(hid_t type_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_precision(type_id)
- *         if r==0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2157
- *     cdef hsize_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_precision(type_id)             # <<<<<<<<<<<<<<
- *         if r==0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_precision(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2157; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2158
- *     with rlock:
- *         r = _hdf5.H5Tget_precision(type_id)
- *         if r==0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hsize_t>0;
- */
-          __pyx_t_9 = (__pyx_v_r == 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2159
- *         r = _hdf5.H5Tget_precision(type_id)
- *         if r==0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hsize_t>0;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2159; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2160
- *         if r==0:
- *             if set_exception():
- *                 return <hsize_t>0;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hsize_t)0);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2161
- *             if set_exception():
- *                 return <hsize_t>0;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_precision(hid_t type_id, size_t prec) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2156
- * cdef hsize_t H5Tget_precision(hid_t type_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_precision(type_id)
- *         if r==0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_242, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2163
- *         return r
- * 
- * cdef herr_t H5Tset_precision(hid_t type_id, size_t prec) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_precision(hid_t __pyx_v_type_id, size_t __pyx_v_prec) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_precision", 0);
-
-  /* "h5py/defs.pyx":2165
- * cdef herr_t H5Tset_precision(hid_t type_id, size_t prec) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_precision(type_id, prec)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2166
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_precision(type_id, prec)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_precision(__pyx_v_type_id, __pyx_v_prec); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2166; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2167
- *     with rlock:
- *         r = _hdf5.H5Tset_precision(type_id, prec)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2168
- *         r = _hdf5.H5Tset_precision(type_id, prec)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2168; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2169
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2170
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Tget_offset(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2165
- * cdef herr_t H5Tset_precision(hid_t type_id, size_t prec) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_precision(type_id, prec)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_243, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2172
- *         return r
- * 
- * cdef int H5Tget_offset(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Tget_offset(hid_t __pyx_v_type_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_offset", 0);
-
-  /* "h5py/defs.pyx":2174
- * cdef int H5Tget_offset(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_offset(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2175
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Tget_offset(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_offset(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2175; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2176
- *     with rlock:
- *         r = _hdf5.H5Tget_offset(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2177
- *         r = _hdf5.H5Tget_offset(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2177; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":2178
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2179
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_offset(hid_t type_id, size_t offset) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2174
- * cdef int H5Tget_offset(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_offset(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_244, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2181
- *         return r
- * 
- * cdef herr_t H5Tset_offset(hid_t type_id, size_t offset) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_offset(hid_t __pyx_v_type_id, size_t __pyx_v_offset) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_offset", 0);
-
-  /* "h5py/defs.pyx":2183
- * cdef herr_t H5Tset_offset(hid_t type_id, size_t offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_offset(type_id, offset)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2184
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_offset(type_id, offset)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_offset(__pyx_v_type_id, __pyx_v_offset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2184; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2185
- *     with rlock:
- *         r = _hdf5.H5Tset_offset(type_id, offset)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2186
- *         r = _hdf5.H5Tset_offset(type_id, offset)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2186; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2187
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2188
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tget_pad(hid_t type_id, H5T_pad_t * lsb, H5T_pad_t * msb ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2183
- * cdef herr_t H5Tset_offset(hid_t type_id, size_t offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_offset(type_id, offset)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_245, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2190
- *         return r
- * 
- * cdef herr_t H5Tget_pad(hid_t type_id, H5T_pad_t * lsb, H5T_pad_t * msb ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tget_pad(hid_t __pyx_v_type_id, H5T_pad_t *__pyx_v_lsb, H5T_pad_t *__pyx_v_msb) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_pad", 0);
-
-  /* "h5py/defs.pyx":2192
- * cdef herr_t H5Tget_pad(hid_t type_id, H5T_pad_t * lsb, H5T_pad_t * msb ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_pad(type_id, lsb, msb)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2193
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_pad(type_id, lsb, msb)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_pad(__pyx_v_type_id, __pyx_v_lsb, __pyx_v_msb); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2193; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2194
- *     with rlock:
- *         r = _hdf5.H5Tget_pad(type_id, lsb, msb)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2195
- *         r = _hdf5.H5Tget_pad(type_id, lsb, msb)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2195; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2196
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2197
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2192
- * cdef herr_t H5Tget_pad(hid_t type_id, H5T_pad_t * lsb, H5T_pad_t * msb ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_pad(type_id, lsb, msb)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_246, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2199
- *         return r
- * 
- * cdef herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_pad(hid_t __pyx_v_type_id, H5T_pad_t __pyx_v_lsb, H5T_pad_t __pyx_v_msb) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_pad", 0);
-
-  /* "h5py/defs.pyx":2201
- * cdef herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_pad(type_id, lsb, msb)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2202
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_pad(type_id, lsb, msb)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_pad(__pyx_v_type_id, __pyx_v_lsb, __pyx_v_msb); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2202; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2203
- *     with rlock:
- *         r = _hdf5.H5Tset_pad(type_id, lsb, msb)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2204
- *         r = _hdf5.H5Tset_pad(type_id, lsb, msb)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2204; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2205
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2206
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_sign_t H5Tget_sign(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2201
- * cdef herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_pad(type_id, lsb, msb)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_247, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2208
- *         return r
- * 
- * cdef H5T_sign_t H5Tget_sign(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_sign_t r
- *     with rlock:
- */
-
-static H5T_sign_t __pyx_f_4h5py_4defs_H5Tget_sign(hid_t __pyx_v_type_id) {
-  H5T_sign_t __pyx_v_r;
-  H5T_sign_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5T_sign_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_sign", 0);
-
-  /* "h5py/defs.pyx":2210
- * cdef H5T_sign_t H5Tget_sign(hid_t type_id) except *:
- *     cdef H5T_sign_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_sign(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2211
- *     cdef H5T_sign_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_sign(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_sign(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2211; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2212
- *     with rlock:
- *         r = _hdf5.H5Tget_sign(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_sign_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2213
- *         r = _hdf5.H5Tget_sign(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_sign_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2213; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2214
- *         if r<0:
- *             if set_exception():
- *                 return <H5T_sign_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5T_sign_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2215
- *             if set_exception():
- *                 return <H5T_sign_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2210
- * cdef H5T_sign_t H5Tget_sign(hid_t type_id) except *:
- *     cdef H5T_sign_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_sign(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_248, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2217
- *         return r
- * 
- * cdef herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_sign(hid_t __pyx_v_type_id, H5T_sign_t __pyx_v_sign) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_sign", 0);
-
-  /* "h5py/defs.pyx":2219
- * cdef herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_sign(type_id, sign)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2220
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_sign(type_id, sign)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_sign(__pyx_v_type_id, __pyx_v_sign); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2220; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2221
- *     with rlock:
- *         r = _hdf5.H5Tset_sign(type_id, sign)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2222
- *         r = _hdf5.H5Tset_sign(type_id, sign)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2222; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2223
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2224
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tget_fields(hid_t type_id, size_t *spos, size_t *epos, size_t *esize, size_t *mpos, size_t *msize ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2219
- * cdef herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_sign(type_id, sign)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_249, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2226
- *         return r
- * 
- * cdef herr_t H5Tget_fields(hid_t type_id, size_t *spos, size_t *epos, size_t *esize, size_t *mpos, size_t *msize ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tget_fields(hid_t __pyx_v_type_id, size_t *__pyx_v_spos, size_t *__pyx_v_epos, size_t *__pyx_v_esize, size_t *__pyx_v_mpos, size_t *__pyx_v_msize) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_fields", 0);
-
-  /* "h5py/defs.pyx":2228
- * cdef herr_t H5Tget_fields(hid_t type_id, size_t *spos, size_t *epos, size_t *esize, size_t *mpos, size_t *msize ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2229
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_fields(type_id, spos, epos, esize, mpos, msize)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_fields(__pyx_v_type_id, __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2229; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2230
- *     with rlock:
- *         r = _hdf5.H5Tget_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2231
- *         r = _hdf5.H5Tget_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2231; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2232
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2233
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2228
- * cdef herr_t H5Tget_fields(hid_t type_id, size_t *spos, size_t *epos, size_t *esize, size_t *mpos, size_t *msize ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_250, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2235
- *         return r
- * 
- * cdef herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_fields(hid_t __pyx_v_type_id, size_t __pyx_v_spos, size_t __pyx_v_epos, size_t __pyx_v_esize, size_t __pyx_v_mpos, size_t __pyx_v_msize) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_fields", 0);
-
-  /* "h5py/defs.pyx":2237
- * cdef herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2238
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_fields(type_id, spos, epos, esize, mpos, msize)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_fields(__pyx_v_type_id, __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2238; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2239
- *     with rlock:
- *         r = _hdf5.H5Tset_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2240
- *         r = _hdf5.H5Tset_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2240; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2241
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2242
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef size_t H5Tget_ebias(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2237
- * cdef herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_251, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2244
- *         return r
- * 
- * cdef size_t H5Tget_ebias(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef size_t r
- *     with rlock:
- */
-
-static size_t __pyx_f_4h5py_4defs_H5Tget_ebias(hid_t __pyx_v_type_id) {
-  size_t __pyx_v_r;
-  size_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  size_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_ebias", 0);
-
-  /* "h5py/defs.pyx":2246
- * cdef size_t H5Tget_ebias(hid_t type_id) except *:
- *     cdef size_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_ebias(type_id)
- *         if r==0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2247
- *     cdef size_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_ebias(type_id)             # <<<<<<<<<<<<<<
- *         if r==0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_ebias(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2247; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2248
- *     with rlock:
- *         r = _hdf5.H5Tget_ebias(type_id)
- *         if r==0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <size_t>0;
- */
-          __pyx_t_9 = (__pyx_v_r == 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2249
- *         r = _hdf5.H5Tget_ebias(type_id)
- *         if r==0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <size_t>0;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2249; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2250
- *         if r==0:
- *             if set_exception():
- *                 return <size_t>0;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((size_t)0);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2251
- *             if set_exception():
- *                 return <size_t>0;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_ebias(hid_t type_id, size_t ebias) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2246
- * cdef size_t H5Tget_ebias(hid_t type_id) except *:
- *     cdef size_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_ebias(type_id)
- *         if r==0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_252, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2253
- *         return r
- * 
- * cdef herr_t H5Tset_ebias(hid_t type_id, size_t ebias) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_ebias(hid_t __pyx_v_type_id, size_t __pyx_v_ebias) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_ebias", 0);
-
-  /* "h5py/defs.pyx":2255
- * cdef herr_t H5Tset_ebias(hid_t type_id, size_t ebias) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_ebias(type_id, ebias)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2256
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_ebias(type_id, ebias)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_ebias(__pyx_v_type_id, __pyx_v_ebias); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2256; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2257
- *     with rlock:
- *         r = _hdf5.H5Tset_ebias(type_id, ebias)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2258
- *         r = _hdf5.H5Tset_ebias(type_id, ebias)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2258; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2259
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2260
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_norm_t H5Tget_norm(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2255
- * cdef herr_t H5Tset_ebias(hid_t type_id, size_t ebias) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_ebias(type_id, ebias)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_253, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2262
- *         return r
- * 
- * cdef H5T_norm_t H5Tget_norm(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_norm_t r
- *     with rlock:
- */
-
-static H5T_norm_t __pyx_f_4h5py_4defs_H5Tget_norm(hid_t __pyx_v_type_id) {
-  H5T_norm_t __pyx_v_r;
-  H5T_norm_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5T_norm_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_norm", 0);
-
-  /* "h5py/defs.pyx":2264
- * cdef H5T_norm_t H5Tget_norm(hid_t type_id) except *:
- *     cdef H5T_norm_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_norm(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2265
- *     cdef H5T_norm_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_norm(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_norm(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2265; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2266
- *     with rlock:
- *         r = _hdf5.H5Tget_norm(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_norm_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2267
- *         r = _hdf5.H5Tget_norm(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_norm_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2267; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2268
- *         if r<0:
- *             if set_exception():
- *                 return <H5T_norm_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5T_norm_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2269
- *             if set_exception():
- *                 return <H5T_norm_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2264
- * cdef H5T_norm_t H5Tget_norm(hid_t type_id) except *:
- *     cdef H5T_norm_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_norm(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_254, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2271
- *         return r
- * 
- * cdef herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_norm(hid_t __pyx_v_type_id, H5T_norm_t __pyx_v_norm) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_norm", 0);
-
-  /* "h5py/defs.pyx":2273
- * cdef herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_norm(type_id, norm)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2274
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_norm(type_id, norm)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_norm(__pyx_v_type_id, __pyx_v_norm); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2274; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2275
- *     with rlock:
- *         r = _hdf5.H5Tset_norm(type_id, norm)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2276
- *         r = _hdf5.H5Tset_norm(type_id, norm)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2276; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2277
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2278
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_pad_t H5Tget_inpad(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2273
- * cdef herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_norm(type_id, norm)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_255, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2280
- *         return r
- * 
- * cdef H5T_pad_t H5Tget_inpad(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_pad_t r
- *     with rlock:
- */
-
-static H5T_pad_t __pyx_f_4h5py_4defs_H5Tget_inpad(hid_t __pyx_v_type_id) {
-  H5T_pad_t __pyx_v_r;
-  H5T_pad_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5T_pad_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_inpad", 0);
-
-  /* "h5py/defs.pyx":2282
- * cdef H5T_pad_t H5Tget_inpad(hid_t type_id) except *:
- *     cdef H5T_pad_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_inpad(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2283
- *     cdef H5T_pad_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_inpad(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_inpad(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2283; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2284
- *     with rlock:
- *         r = _hdf5.H5Tget_inpad(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_pad_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2285
- *         r = _hdf5.H5Tget_inpad(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_pad_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2285; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2286
- *         if r<0:
- *             if set_exception():
- *                 return <H5T_pad_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5T_pad_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2287
- *             if set_exception():
- *                 return <H5T_pad_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_inpad(hid_t type_id, H5T_pad_t inpad) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2282
- * cdef H5T_pad_t H5Tget_inpad(hid_t type_id) except *:
- *     cdef H5T_pad_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_inpad(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_256, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2289
- *         return r
- * 
- * cdef herr_t H5Tset_inpad(hid_t type_id, H5T_pad_t inpad) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_inpad(hid_t __pyx_v_type_id, H5T_pad_t __pyx_v_inpad) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_inpad", 0);
-
-  /* "h5py/defs.pyx":2291
- * cdef herr_t H5Tset_inpad(hid_t type_id, H5T_pad_t inpad) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_inpad(type_id, inpad)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2292
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_inpad(type_id, inpad)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_inpad(__pyx_v_type_id, __pyx_v_inpad); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2292; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2293
- *     with rlock:
- *         r = _hdf5.H5Tset_inpad(type_id, inpad)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2294
- *         r = _hdf5.H5Tset_inpad(type_id, inpad)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2294; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2295
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2296
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_cset_t H5Tget_cset(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2291
- * cdef herr_t H5Tset_inpad(hid_t type_id, H5T_pad_t inpad) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_inpad(type_id, inpad)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_257, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2298
- *         return r
- * 
- * cdef H5T_cset_t H5Tget_cset(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_cset_t r
- *     with rlock:
- */
-
-static H5T_cset_t __pyx_f_4h5py_4defs_H5Tget_cset(hid_t __pyx_v_type_id) {
-  H5T_cset_t __pyx_v_r;
-  H5T_cset_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5T_cset_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_cset", 0);
-
-  /* "h5py/defs.pyx":2300
- * cdef H5T_cset_t H5Tget_cset(hid_t type_id) except *:
- *     cdef H5T_cset_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_cset(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2301
- *     cdef H5T_cset_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_cset(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_cset(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2301; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2302
- *     with rlock:
- *         r = _hdf5.H5Tget_cset(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_cset_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2303
- *         r = _hdf5.H5Tget_cset(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_cset_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2303; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2304
- *         if r<0:
- *             if set_exception():
- *                 return <H5T_cset_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5T_cset_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2305
- *             if set_exception():
- *                 return <H5T_cset_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2300
- * cdef H5T_cset_t H5Tget_cset(hid_t type_id) except *:
- *     cdef H5T_cset_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_cset(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_258, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2307
- *         return r
- * 
- * cdef herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_cset(hid_t __pyx_v_type_id, H5T_cset_t __pyx_v_cset) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_cset", 0);
-
-  /* "h5py/defs.pyx":2309
- * cdef herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_cset(type_id, cset)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2310
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_cset(type_id, cset)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_cset(__pyx_v_type_id, __pyx_v_cset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2310; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2311
- *     with rlock:
- *         r = _hdf5.H5Tset_cset(type_id, cset)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2312
- *         r = _hdf5.H5Tset_cset(type_id, cset)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2312; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2313
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2314
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_str_t H5Tget_strpad(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2309
- * cdef herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_cset(type_id, cset)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_259, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2316
- *         return r
- * 
- * cdef H5T_str_t H5Tget_strpad(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_str_t r
- *     with rlock:
- */
-
-static H5T_str_t __pyx_f_4h5py_4defs_H5Tget_strpad(hid_t __pyx_v_type_id) {
-  H5T_str_t __pyx_v_r;
-  H5T_str_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5T_str_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_strpad", 0);
-
-  /* "h5py/defs.pyx":2318
- * cdef H5T_str_t H5Tget_strpad(hid_t type_id) except *:
- *     cdef H5T_str_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_strpad(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2319
- *     cdef H5T_str_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_strpad(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_strpad(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2319; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2320
- *     with rlock:
- *         r = _hdf5.H5Tget_strpad(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_str_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2321
- *         r = _hdf5.H5Tget_strpad(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_str_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2321; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2322
- *         if r<0:
- *             if set_exception():
- *                 return <H5T_str_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5T_str_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2323
- *             if set_exception():
- *                 return <H5T_str_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2318
- * cdef H5T_str_t H5Tget_strpad(hid_t type_id) except *:
- *     cdef H5T_str_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_strpad(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_260, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2325
- *         return r
- * 
- * cdef herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_strpad(hid_t __pyx_v_type_id, H5T_str_t __pyx_v_strpad) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_strpad", 0);
-
-  /* "h5py/defs.pyx":2327
- * cdef herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_strpad(type_id, strpad)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2328
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_strpad(type_id, strpad)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_strpad(__pyx_v_type_id, __pyx_v_strpad); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2328; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2329
- *     with rlock:
- *         r = _hdf5.H5Tset_strpad(type_id, strpad)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2330
- *         r = _hdf5.H5Tset_strpad(type_id, strpad)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2330; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2331
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2332
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tvlen_create(hid_t base_type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2327
- * cdef herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_strpad(type_id, strpad)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_261, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2334
- *         return r
- * 
- * cdef hid_t H5Tvlen_create(hid_t base_type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tvlen_create(hid_t __pyx_v_base_type_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tvlen_create", 0);
-
-  /* "h5py/defs.pyx":2336
- * cdef hid_t H5Tvlen_create(hid_t base_type_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tvlen_create(base_type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2337
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tvlen_create(base_type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tvlen_create(__pyx_v_base_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2337; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2338
- *     with rlock:
- *         r = _hdf5.H5Tvlen_create(base_type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2339
- *         r = _hdf5.H5Tvlen_create(base_type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2339; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2340
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2341
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Tis_variable_str(hid_t dtype_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2336
- * cdef hid_t H5Tvlen_create(hid_t base_type_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tvlen_create(base_type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tvlen_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_262, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tvlen_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2343
- *         return r
- * 
- * cdef htri_t H5Tis_variable_str(hid_t dtype_id) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Tis_variable_str(hid_t __pyx_v_dtype_id) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tis_variable_str", 0);
-
-  /* "h5py/defs.pyx":2345
- * cdef htri_t H5Tis_variable_str(hid_t dtype_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tis_variable_str(dtype_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2346
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Tis_variable_str(dtype_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tis_variable_str(__pyx_v_dtype_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2346; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2347
- *     with rlock:
- *         r = _hdf5.H5Tis_variable_str(dtype_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2348
- *         r = _hdf5.H5Tis_variable_str(dtype_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2348; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2349
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2350
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Tget_nmembers(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2345
- * cdef htri_t H5Tis_variable_str(hid_t dtype_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tis_variable_str(dtype_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tis_variable_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_263, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tis_variable_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2352
- *         return r
- * 
- * cdef int H5Tget_nmembers(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Tget_nmembers(hid_t __pyx_v_type_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_nmembers", 0);
-
-  /* "h5py/defs.pyx":2354
- * cdef int H5Tget_nmembers(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_nmembers(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2355
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Tget_nmembers(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_nmembers(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2355; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2356
- *     with rlock:
- *         r = _hdf5.H5Tget_nmembers(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2357
- *         r = _hdf5.H5Tget_nmembers(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2357; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":2358
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2359
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_class_t H5Tget_member_class(hid_t type_id, int member_no) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2354
- * cdef int H5Tget_nmembers(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_nmembers(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_nmembers", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_264, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_nmembers", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2361
- *         return r
- * 
- * cdef H5T_class_t H5Tget_member_class(hid_t type_id, int member_no) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_class_t r
- *     with rlock:
- */
-
-static enum H5T_class_t __pyx_f_4h5py_4defs_H5Tget_member_class(hid_t __pyx_v_type_id, int __pyx_v_member_no) {
-  enum H5T_class_t __pyx_v_r;
-  enum H5T_class_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  enum H5T_class_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_member_class", 0);
-
-  /* "h5py/defs.pyx":2363
- * cdef H5T_class_t H5Tget_member_class(hid_t type_id, int member_no) except *:
- *     cdef H5T_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_class(type_id, member_no)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2364
- *     cdef H5T_class_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_member_class(type_id, member_no)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_member_class(__pyx_v_type_id, __pyx_v_member_no); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2364; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2365
- *     with rlock:
- *         r = _hdf5.H5Tget_member_class(type_id, member_no)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_class_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2366
- *         r = _hdf5.H5Tget_member_class(type_id, member_no)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_class_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2366; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2367
- *         if r<0:
- *             if set_exception():
- *                 return <H5T_class_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((enum H5T_class_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2368
- *             if set_exception():
- *                 return <H5T_class_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef char* H5Tget_member_name(hid_t type_id, unsigned membno) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2363
- * cdef H5T_class_t H5Tget_member_class(hid_t type_id, int member_no) except *:
- *     cdef H5T_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_class(type_id, member_no)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_member_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_265, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_member_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2370
- *         return r
- * 
- * cdef char* H5Tget_member_name(hid_t type_id, unsigned membno) except *:             # <<<<<<<<<<<<<<
- *     cdef char* r
- *     with rlock:
- */
-
-static char *__pyx_f_4h5py_4defs_H5Tget_member_name(hid_t __pyx_v_type_id, unsigned int __pyx_v_membno) {
-  char *__pyx_v_r;
-  char *__pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  char *__pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_member_name", 0);
-
-  /* "h5py/defs.pyx":2372
- * cdef char* H5Tget_member_name(hid_t type_id, unsigned membno) except *:
- *     cdef char* r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_name(type_id, membno)
- *         if r==NULL:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2373
- *     cdef char* r
- *     with rlock:
- *         r = _hdf5.H5Tget_member_name(type_id, membno)             # <<<<<<<<<<<<<<
- *         if r==NULL:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_member_name(__pyx_v_type_id, __pyx_v_membno); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2373; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2374
- *     with rlock:
- *         r = _hdf5.H5Tget_member_name(type_id, membno)
- *         if r==NULL:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <char*>NULL;
- */
-          __pyx_t_9 = (__pyx_v_r == NULL);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2375
- *         r = _hdf5.H5Tget_member_name(type_id, membno)
- *         if r==NULL:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <char*>NULL;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2375; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2376
- *         if r==NULL:
- *             if set_exception():
- *                 return <char*>NULL;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((char *)NULL);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2377
- *             if set_exception():
- *                 return <char*>NULL;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tget_member_type(hid_t type_id, unsigned membno) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2372
- * cdef char* H5Tget_member_name(hid_t type_id, unsigned membno) except *:
- *     cdef char* r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_name(type_id, membno)
- *         if r==NULL:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_member_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_266, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_member_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2379
- *         return r
- * 
- * cdef hid_t H5Tget_member_type(hid_t type_id, unsigned membno) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tget_member_type(hid_t __pyx_v_type_id, unsigned int __pyx_v_membno) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_member_type", 0);
-
-  /* "h5py/defs.pyx":2381
- * cdef hid_t H5Tget_member_type(hid_t type_id, unsigned membno) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_type(type_id, membno)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2382
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_member_type(type_id, membno)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_member_type(__pyx_v_type_id, __pyx_v_membno); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2382; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2383
- *     with rlock:
- *         r = _hdf5.H5Tget_member_type(type_id, membno)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2384
- *         r = _hdf5.H5Tget_member_type(type_id, membno)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2384; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2385
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2386
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Tget_member_offset(hid_t type_id, int membno) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2381
- * cdef hid_t H5Tget_member_type(hid_t type_id, unsigned membno) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_type(type_id, membno)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_member_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_267, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_member_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2388
- *         return r
- * 
- * cdef int H5Tget_member_offset(hid_t type_id, int membno) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Tget_member_offset(hid_t __pyx_v_type_id, int __pyx_v_membno) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_member_offset", 0);
-
-  /* "h5py/defs.pyx":2390
- * cdef int H5Tget_member_offset(hid_t type_id, int membno) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_offset(type_id, membno)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2391
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Tget_member_offset(type_id, membno)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_member_offset(__pyx_v_type_id, __pyx_v_membno); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2391; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2392
- *     with rlock:
- *         r = _hdf5.H5Tget_member_offset(type_id, membno)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2393
- *         r = _hdf5.H5Tget_member_offset(type_id, membno)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2393; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":2394
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2395
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Tget_member_index(hid_t type_id, char* name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2390
- * cdef int H5Tget_member_offset(hid_t type_id, int membno) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_offset(type_id, membno)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_member_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_268, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_member_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2397
- *         return r
- * 
- * cdef int H5Tget_member_index(hid_t type_id, char* name) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Tget_member_index(hid_t __pyx_v_type_id, char *__pyx_v_name) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_member_index", 0);
-
-  /* "h5py/defs.pyx":2399
- * cdef int H5Tget_member_index(hid_t type_id, char* name) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_index(type_id, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2400
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Tget_member_index(type_id, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_member_index(__pyx_v_type_id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2400; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2401
- *     with rlock:
- *         r = _hdf5.H5Tget_member_index(type_id, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2402
- *         r = _hdf5.H5Tget_member_index(type_id, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2402; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":2403
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2404
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tinsert(hid_t parent_id, char *name, size_t offset, hid_t member_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2399
- * cdef int H5Tget_member_index(hid_t type_id, char* name) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_index(type_id, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_member_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_269, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_member_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2406
- *         return r
- * 
- * cdef herr_t H5Tinsert(hid_t parent_id, char *name, size_t offset, hid_t member_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tinsert(hid_t __pyx_v_parent_id, char *__pyx_v_name, size_t __pyx_v_offset, hid_t __pyx_v_member_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tinsert", 0);
-
-  /* "h5py/defs.pyx":2408
- * cdef herr_t H5Tinsert(hid_t parent_id, char *name, size_t offset, hid_t member_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tinsert(parent_id, name, offset, member_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2409
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tinsert(parent_id, name, offset, member_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tinsert(__pyx_v_parent_id, __pyx_v_name, __pyx_v_offset, __pyx_v_member_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2409; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2410
- *     with rlock:
- *         r = _hdf5.H5Tinsert(parent_id, name, offset, member_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2411
- *         r = _hdf5.H5Tinsert(parent_id, name, offset, member_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2411; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2412
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2413
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tpack(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2408
- * cdef herr_t H5Tinsert(hid_t parent_id, char *name, size_t offset, hid_t member_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tinsert(parent_id, name, offset, member_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tinsert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_270, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tinsert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2415
- *         return r
- * 
- * cdef herr_t H5Tpack(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tpack(hid_t __pyx_v_type_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tpack", 0);
-
-  /* "h5py/defs.pyx":2417
- * cdef herr_t H5Tpack(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tpack(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2418
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tpack(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tpack(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2418; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2419
- *     with rlock:
- *         r = _hdf5.H5Tpack(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2420
- *         r = _hdf5.H5Tpack(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2420; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2421
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2422
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tenum_create(hid_t base_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2417
- * cdef herr_t H5Tpack(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tpack(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tpack", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_271, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tpack", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2424
- *         return r
- * 
- * cdef hid_t H5Tenum_create(hid_t base_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tenum_create(hid_t __pyx_v_base_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tenum_create", 0);
-
-  /* "h5py/defs.pyx":2426
- * cdef hid_t H5Tenum_create(hid_t base_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_create(base_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2427
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tenum_create(base_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tenum_create(__pyx_v_base_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2427; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2428
- *     with rlock:
- *         r = _hdf5.H5Tenum_create(base_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2429
- *         r = _hdf5.H5Tenum_create(base_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2429; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2430
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2431
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tenum_insert(hid_t type, char *name, void *value) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2426
- * cdef hid_t H5Tenum_create(hid_t base_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_create(base_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tenum_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_272, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tenum_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2433
- *         return r
- * 
- * cdef herr_t H5Tenum_insert(hid_t type, char *name, void *value) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tenum_insert(hid_t __pyx_v_type, char *__pyx_v_name, void *__pyx_v_value) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tenum_insert", 0);
-
-  /* "h5py/defs.pyx":2435
- * cdef herr_t H5Tenum_insert(hid_t type, char *name, void *value) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_insert(type, name, value)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2436
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tenum_insert(type, name, value)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tenum_insert(__pyx_v_type, __pyx_v_name, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2436; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2437
- *     with rlock:
- *         r = _hdf5.H5Tenum_insert(type, name, value)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2438
- *         r = _hdf5.H5Tenum_insert(type, name, value)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2438; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2439
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2440
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tenum_nameof( hid_t type, void *value, char *name, size_t size ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2435
- * cdef herr_t H5Tenum_insert(hid_t type, char *name, void *value) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_insert(type, name, value)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tenum_insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_273, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tenum_insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2442
- *         return r
- * 
- * cdef herr_t H5Tenum_nameof( hid_t type, void *value, char *name, size_t size ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tenum_nameof(hid_t __pyx_v_type, void *__pyx_v_value, char *__pyx_v_name, size_t __pyx_v_size) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tenum_nameof", 0);
-
-  /* "h5py/defs.pyx":2444
- * cdef herr_t H5Tenum_nameof( hid_t type, void *value, char *name, size_t size ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_nameof(type, value, name, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2445
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tenum_nameof(type, value, name, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tenum_nameof(__pyx_v_type, __pyx_v_value, __pyx_v_name, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2445; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2446
- *     with rlock:
- *         r = _hdf5.H5Tenum_nameof(type, value, name, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2447
- *         r = _hdf5.H5Tenum_nameof(type, value, name, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2447; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2448
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2449
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tenum_valueof( hid_t type, char *name, void *value ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2444
- * cdef herr_t H5Tenum_nameof( hid_t type, void *value, char *name, size_t size ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_nameof(type, value, name, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tenum_nameof", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_274, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tenum_nameof", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2451
- *         return r
- * 
- * cdef herr_t H5Tenum_valueof( hid_t type, char *name, void *value ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tenum_valueof(hid_t __pyx_v_type, char *__pyx_v_name, void *__pyx_v_value) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tenum_valueof", 0);
-
-  /* "h5py/defs.pyx":2453
- * cdef herr_t H5Tenum_valueof( hid_t type, char *name, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_valueof(type, name, value)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2454
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tenum_valueof(type, name, value)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tenum_valueof(__pyx_v_type, __pyx_v_name, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2454; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2455
- *     with rlock:
- *         r = _hdf5.H5Tenum_valueof(type, name, value)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2456
- *         r = _hdf5.H5Tenum_valueof(type, name, value)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2456; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2457
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2458
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2453
- * cdef herr_t H5Tenum_valueof( hid_t type, char *name, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_valueof(type, name, value)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tenum_valueof", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_275, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tenum_valueof", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2460
- *         return r
- * 
- * cdef herr_t H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tget_member_value(hid_t __pyx_v_type, unsigned int __pyx_v_memb_no, void *__pyx_v_value) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_member_value", 0);
-
-  /* "h5py/defs.pyx":2462
- * cdef herr_t H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_value(type, memb_no, value)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2463
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tget_member_value(type, memb_no, value)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_member_value(__pyx_v_type, __pyx_v_memb_no, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2463; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2464
- *     with rlock:
- *         r = _hdf5.H5Tget_member_value(type, memb_no, value)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2465
- *         r = _hdf5.H5Tget_member_value(type, memb_no, value)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2465; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2466
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2467
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2462
- * cdef herr_t H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_value(type, memb_no, value)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_member_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_276, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_member_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2469
- *         return r
- * 
- * cdef hid_t H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tarray_create(hid_t __pyx_v_base_id, int __pyx_v_ndims, hsize_t *__pyx_v_dims, int *__pyx_v_perm) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tarray_create", 0);
-
-  /* "h5py/defs.pyx":2471
- * cdef hid_t H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tarray_create(base_id, ndims, dims, perm)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2472
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tarray_create(base_id, ndims, dims, perm)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tarray_create(__pyx_v_base_id, __pyx_v_ndims, __pyx_v_dims, __pyx_v_perm); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2472; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2473
- *     with rlock:
- *         r = _hdf5.H5Tarray_create(base_id, ndims, dims, perm)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2474
- *         r = _hdf5.H5Tarray_create(base_id, ndims, dims, perm)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2474; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2475
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2476
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Tget_array_ndims(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2471
- * cdef hid_t H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tarray_create(base_id, ndims, dims, perm)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tarray_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_277, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tarray_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2478
- *         return r
- * 
- * cdef int H5Tget_array_ndims(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Tget_array_ndims(hid_t __pyx_v_type_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_array_ndims", 0);
-
-  /* "h5py/defs.pyx":2480
- * cdef int H5Tget_array_ndims(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_array_ndims(type_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2481
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Tget_array_ndims(type_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_array_ndims(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2481; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2482
- *     with rlock:
- *         r = _hdf5.H5Tget_array_ndims(type_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2483
- *         r = _hdf5.H5Tget_array_ndims(type_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2483; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":2484
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2485
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2480
- * cdef int H5Tget_array_ndims(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_array_ndims(type_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_array_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_278, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_array_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2487
- *         return r
- * 
- * cdef int H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Tget_array_dims(hid_t __pyx_v_type_id, hsize_t *__pyx_v_dims, int *__pyx_v_perm) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_array_dims", 0);
-
-  /* "h5py/defs.pyx":2489
- * cdef int H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_array_dims(type_id, dims, perm)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2490
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Tget_array_dims(type_id, dims, perm)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_array_dims(__pyx_v_type_id, __pyx_v_dims, __pyx_v_perm); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2490; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2491
- *     with rlock:
- *         r = _hdf5.H5Tget_array_dims(type_id, dims, perm)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2492
- *         r = _hdf5.H5Tget_array_dims(type_id, dims, perm)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2492; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":2493
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2494
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tset_tag(hid_t type_id, char* tag) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2489
- * cdef int H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_array_dims(type_id, dims, perm)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_array_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_279, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_array_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2496
- *         return r
- * 
- * cdef herr_t H5Tset_tag(hid_t type_id, char* tag) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tset_tag(hid_t __pyx_v_type_id, char *__pyx_v_tag) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tset_tag", 0);
-
-  /* "h5py/defs.pyx":2498
- * cdef herr_t H5Tset_tag(hid_t type_id, char* tag) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_tag(type_id, tag)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2499
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tset_tag(type_id, tag)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tset_tag(__pyx_v_type_id, __pyx_v_tag); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2499; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2500
- *     with rlock:
- *         r = _hdf5.H5Tset_tag(type_id, tag)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2501
- *         r = _hdf5.H5Tset_tag(type_id, tag)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2501; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2502
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2503
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef char* H5Tget_tag(hid_t type_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2498
- * cdef herr_t H5Tset_tag(hid_t type_id, char* tag) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_tag(type_id, tag)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tset_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_280, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tset_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2505
- *         return r
- * 
- * cdef char* H5Tget_tag(hid_t type_id) except *:             # <<<<<<<<<<<<<<
- *     cdef char* r
- *     with rlock:
- */
-
-static char *__pyx_f_4h5py_4defs_H5Tget_tag(hid_t __pyx_v_type_id) {
-  char *__pyx_v_r;
-  char *__pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  char *__pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tget_tag", 0);
-
-  /* "h5py/defs.pyx":2507
- * cdef char* H5Tget_tag(hid_t type_id) except *:
- *     cdef char* r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_tag(type_id)
- *         if r==NULL:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2508
- *     cdef char* r
- *     with rlock:
- *         r = _hdf5.H5Tget_tag(type_id)             # <<<<<<<<<<<<<<
- *         if r==NULL:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tget_tag(__pyx_v_type_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2508; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2509
- *     with rlock:
- *         r = _hdf5.H5Tget_tag(type_id)
- *         if r==NULL:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <char*>NULL;
- */
-          __pyx_t_9 = (__pyx_v_r == NULL);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2510
- *         r = _hdf5.H5Tget_tag(type_id)
- *         if r==NULL:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <char*>NULL;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2510; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2511
- *         if r==NULL:
- *             if set_exception():
- *                 return <char*>NULL;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((char *)NULL);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2512
- *             if set_exception():
- *                 return <char*>NULL;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Tdecode(unsigned char *buf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2507
- * cdef char* H5Tget_tag(hid_t type_id) except *:
- *     cdef char* r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_tag(type_id)
- *         if r==NULL:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tget_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_281, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tget_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2514
- *         return r
- * 
- * cdef hid_t H5Tdecode(unsigned char *buf) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Tdecode(unsigned char *__pyx_v_buf) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tdecode", 0);
-
-  /* "h5py/defs.pyx":2516
- * cdef hid_t H5Tdecode(unsigned char *buf) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tdecode(buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2517
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Tdecode(buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tdecode(__pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2517; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2518
- *     with rlock:
- *         r = _hdf5.H5Tdecode(buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2519
- *         r = _hdf5.H5Tdecode(buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2519; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2520
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2521
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2516
- * cdef hid_t H5Tdecode(unsigned char *buf) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tdecode(buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tdecode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_282, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tdecode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2523
- *         return r
- * 
- * cdef herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tencode(hid_t __pyx_v_obj_id, unsigned char *__pyx_v_buf, size_t *__pyx_v_nalloc) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tencode", 0);
-
-  /* "h5py/defs.pyx":2525
- * cdef herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tencode(obj_id, buf, nalloc)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2526
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tencode(obj_id, buf, nalloc)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tencode(__pyx_v_obj_id, __pyx_v_buf, __pyx_v_nalloc); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2526; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2527
- *     with rlock:
- *         r = _hdf5.H5Tencode(obj_id, buf, nalloc)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2528
- *         r = _hdf5.H5Tencode(obj_id, buf, nalloc)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2528; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2529
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2530
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2525
- * cdef herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tencode(obj_id, buf, nalloc)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tencode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_283, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tencode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2532
- *         return r
- * 
- * cdef herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tcommit2(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_dtype_id, hid_t __pyx_v_lcpl_id, hid_t __pyx_v_tcpl_id, hid_t __pyx_v_tapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tcommit2", 0);
-
-  /* "h5py/defs.pyx":2534
- * cdef herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommit2(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2535
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tcommit2(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tcommit2(__pyx_v_loc_id, __pyx_v_name, __pyx_v_dtype_id, __pyx_v_lcpl_id, __pyx_v_tcpl_id, __pyx_v_tapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2535; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2536
- *     with rlock:
- *         r = _hdf5.H5Tcommit2(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2537
- *         r = _hdf5.H5Tcommit2(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2537; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2538
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2539
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2534
- * cdef herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommit2(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tcommit2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_284, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tcommit2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2541
- *         return r
- * 
- * cdef H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *:             # <<<<<<<<<<<<<<
- *     cdef H5T_conv_t r
- *     with rlock:
- */
-
-static H5T_conv_t __pyx_f_4h5py_4defs_H5Tfind(hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_cdata_t **__pyx_v_pcdata) {
-  H5T_conv_t __pyx_v_r;
-  H5T_conv_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  H5T_conv_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tfind", 0);
-
-  /* "h5py/defs.pyx":2543
- * cdef H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *:
- *     cdef H5T_conv_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tfind(src_id, dst_id, pcdata)
- *         if r==NULL:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2544
- *     cdef H5T_conv_t r
- *     with rlock:
- *         r = _hdf5.H5Tfind(src_id, dst_id, pcdata)             # <<<<<<<<<<<<<<
- *         if r==NULL:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tfind(__pyx_v_src_id, __pyx_v_dst_id, __pyx_v_pcdata); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2544; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2545
- *     with rlock:
- *         r = _hdf5.H5Tfind(src_id, dst_id, pcdata)
- *         if r==NULL:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <H5T_conv_t>NULL;
- */
-          __pyx_t_9 = (__pyx_v_r == NULL);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2546
- *         r = _hdf5.H5Tfind(src_id, dst_id, pcdata)
- *         if r==NULL:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <H5T_conv_t>NULL;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2546; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2547
- *         if r==NULL:
- *             if set_exception():
- *                 return <H5T_conv_t>NULL;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((H5T_conv_t)NULL);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2548
- *             if set_exception():
- *                 return <H5T_conv_t>NULL;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2543
- * cdef H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *:
- *     cdef H5T_conv_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tfind(src_id, dst_id, pcdata)
- *         if r==NULL:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tfind", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_285, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tfind", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2550
- *         return r
- * 
- * cdef herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tregister(H5T_pers_t __pyx_v_pers, char *__pyx_v_name, hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_conv_t __pyx_v_func) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tregister", 0);
-
-  /* "h5py/defs.pyx":2552
- * cdef herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tregister(pers, name, src_id, dst_id, func)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2553
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tregister(pers, name, src_id, dst_id, func)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tregister(__pyx_v_pers, __pyx_v_name, __pyx_v_src_id, __pyx_v_dst_id, __pyx_v_func); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2553; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2554
- *     with rlock:
- *         r = _hdf5.H5Tregister(pers, name, src_id, dst_id, func)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2555
- *         r = _hdf5.H5Tregister(pers, name, src_id, dst_id, func)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2555; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2556
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2557
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2552
- * cdef herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tregister(pers, name, src_id, dst_id, func)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_286, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2559
- *         return r
- * 
- * cdef herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Tunregister(H5T_pers_t __pyx_v_pers, char *__pyx_v_name, hid_t __pyx_v_src_id, hid_t __pyx_v_dst_id, H5T_conv_t __pyx_v_func) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Tunregister", 0);
-
-  /* "h5py/defs.pyx":2561
- * cdef herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tunregister(pers, name, src_id, dst_id, func)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2562
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Tunregister(pers, name, src_id, dst_id, func)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Tunregister(__pyx_v_pers, __pyx_v_name, __pyx_v_src_id, __pyx_v_dst_id, __pyx_v_func); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2562; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2563
- *     with rlock:
- *         r = _hdf5.H5Tunregister(pers, name, src_id, dst_id, func)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2564
- *         r = _hdf5.H5Tunregister(pers, name, src_id, dst_id, func)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2564; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2565
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2566
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Zfilter_avail(H5Z_filter_t id_) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2561
- * cdef herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tunregister(pers, name, src_id, dst_id, func)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Tunregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_287, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Tunregister", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2568
- *         return r
- * 
- * cdef htri_t H5Zfilter_avail(H5Z_filter_t id_) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Zfilter_avail(H5Z_filter_t __pyx_v_id_) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Zfilter_avail", 0);
-
-  /* "h5py/defs.pyx":2570
- * cdef htri_t H5Zfilter_avail(H5Z_filter_t id_) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Zfilter_avail(id_)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2571
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Zfilter_avail(id_)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Zfilter_avail(__pyx_v_id_); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2571; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2572
- *     with rlock:
- *         r = _hdf5.H5Zfilter_avail(id_)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2573
- *         r = _hdf5.H5Zfilter_avail(id_)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2573; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2574
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2575
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2570
- * cdef htri_t H5Zfilter_avail(H5Z_filter_t id_) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Zfilter_avail(id_)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Zfilter_avail", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_288, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Zfilter_avail", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2577
- *         return r
- * 
- * cdef herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Zget_filter_info(H5Z_filter_t __pyx_v_filter_, unsigned int *__pyx_v_filter_config_flags) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Zget_filter_info", 0);
-
-  /* "h5py/defs.pyx":2579
- * cdef herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Zget_filter_info(filter_, filter_config_flags)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2580
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Zget_filter_info(filter_, filter_config_flags)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Zget_filter_info(__pyx_v_filter_, __pyx_v_filter_config_flags); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2580; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2581
- *     with rlock:
- *         r = _hdf5.H5Zget_filter_info(filter_, filter_config_flags)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2582
- *         r = _hdf5.H5Zget_filter_info(filter_, filter_config_flags)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2582; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2583
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2584
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2579
- * cdef herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Zget_filter_info(filter_, filter_config_flags)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Zget_filter_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_289, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Zget_filter_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2586
- *         return r
- * 
- * cdef hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Acreate(hid_t __pyx_v_loc_id, char *__pyx_v_name, hid_t __pyx_v_type_id, hid_t __pyx_v_space_id, hid_t __pyx_v_create_plist) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Acreate", 0);
-
-  /* "h5py/defs.pyx":2588
- * cdef hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Acreate(loc_id, name, type_id, space_id, create_plist)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2589
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Acreate(loc_id, name, type_id, space_id, create_plist)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Acreate(__pyx_v_loc_id, __pyx_v_name, __pyx_v_type_id, __pyx_v_space_id, __pyx_v_create_plist); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2589; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2590
- *     with rlock:
- *         r = _hdf5.H5Acreate(loc_id, name, type_id, space_id, create_plist)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2591
- *         r = _hdf5.H5Acreate(loc_id, name, type_id, space_id, create_plist)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2591; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2592
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2593
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2588
- * cdef hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Acreate(loc_id, name, type_id, space_id, create_plist)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Acreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_290, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Acreate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2595
- *         return r
- * 
- * cdef hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Aopen_idx(hid_t __pyx_v_loc_id, unsigned int __pyx_v_idx) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aopen_idx", 0);
-
-  /* "h5py/defs.pyx":2597
- * cdef hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_idx(loc_id, idx)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2598
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Aopen_idx(loc_id, idx)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aopen_idx(__pyx_v_loc_id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2598; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2599
- *     with rlock:
- *         r = _hdf5.H5Aopen_idx(loc_id, idx)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2600
- *         r = _hdf5.H5Aopen_idx(loc_id, idx)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2600; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2601
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2602
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Aopen_name(hid_t loc_id, char *name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2597
- * cdef hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_idx(loc_id, idx)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aopen_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_291, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aopen_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2604
- *         return r
- * 
- * cdef hid_t H5Aopen_name(hid_t loc_id, char *name) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Aopen_name(hid_t __pyx_v_loc_id, char *__pyx_v_name) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aopen_name", 0);
-
-  /* "h5py/defs.pyx":2606
- * cdef hid_t H5Aopen_name(hid_t loc_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_name(loc_id, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2607
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Aopen_name(loc_id, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aopen_name(__pyx_v_loc_id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2607; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2608
- *     with rlock:
- *         r = _hdf5.H5Aopen_name(loc_id, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2609
- *         r = _hdf5.H5Aopen_name(loc_id, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2609; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2610
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2611
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aclose(hid_t attr_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2606
- * cdef hid_t H5Aopen_name(hid_t loc_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_name(loc_id, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aopen_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_292, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aopen_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2613
- *         return r
- * 
- * cdef herr_t H5Aclose(hid_t attr_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aclose(hid_t __pyx_v_attr_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aclose", 0);
-
-  /* "h5py/defs.pyx":2615
- * cdef herr_t H5Aclose(hid_t attr_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aclose(attr_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2616
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aclose(attr_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aclose(__pyx_v_attr_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2616; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2617
- *     with rlock:
- *         r = _hdf5.H5Aclose(attr_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2618
- *         r = _hdf5.H5Aclose(attr_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2618; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2619
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2620
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Adelete(hid_t loc_id, char *name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2615
- * cdef herr_t H5Aclose(hid_t attr_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aclose(attr_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_293, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aclose", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2622
- *         return r
- * 
- * cdef herr_t H5Adelete(hid_t loc_id, char *name) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Adelete(hid_t __pyx_v_loc_id, char *__pyx_v_name) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Adelete", 0);
-
-  /* "h5py/defs.pyx":2624
- * cdef herr_t H5Adelete(hid_t loc_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete(loc_id, name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2625
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Adelete(loc_id, name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Adelete(__pyx_v_loc_id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2625; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2626
- *     with rlock:
- *         r = _hdf5.H5Adelete(loc_id, name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2627
- *         r = _hdf5.H5Adelete(loc_id, name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2627; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2628
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2629
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2624
- * cdef herr_t H5Adelete(hid_t loc_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete(loc_id, name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Adelete", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_294, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Adelete", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2631
- *         return r
- * 
- * cdef herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aread(hid_t __pyx_v_attr_id, hid_t __pyx_v_mem_type_id, void *__pyx_v_buf) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aread", 0);
-
-  /* "h5py/defs.pyx":2633
- * cdef herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aread(attr_id, mem_type_id, buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2634
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aread(attr_id, mem_type_id, buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aread(__pyx_v_attr_id, __pyx_v_mem_type_id, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2634; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2635
- *     with rlock:
- *         r = _hdf5.H5Aread(attr_id, mem_type_id, buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2636
- *         r = _hdf5.H5Aread(attr_id, mem_type_id, buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2636; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2637
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2638
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2633
- * cdef herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aread(attr_id, mem_type_id, buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aread", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_295, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aread", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2640
- *         return r
- * 
- * cdef herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Awrite(hid_t __pyx_v_attr_id, hid_t __pyx_v_mem_type_id, void *__pyx_v_buf) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Awrite", 0);
-
-  /* "h5py/defs.pyx":2642
- * cdef herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Awrite(attr_id, mem_type_id, buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2643
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Awrite(attr_id, mem_type_id, buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Awrite(__pyx_v_attr_id, __pyx_v_mem_type_id, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2643; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2644
- *     with rlock:
- *         r = _hdf5.H5Awrite(attr_id, mem_type_id, buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2645
- *         r = _hdf5.H5Awrite(attr_id, mem_type_id, buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2645; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2646
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2647
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5Aget_num_attrs(hid_t loc_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2642
- * cdef herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Awrite(attr_id, mem_type_id, buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Awrite", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_296, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Awrite", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2649
- *         return r
- * 
- * cdef int H5Aget_num_attrs(hid_t loc_id) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5Aget_num_attrs(hid_t __pyx_v_loc_id) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aget_num_attrs", 0);
-
-  /* "h5py/defs.pyx":2651
- * cdef int H5Aget_num_attrs(hid_t loc_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_num_attrs(loc_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2652
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5Aget_num_attrs(loc_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aget_num_attrs(__pyx_v_loc_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2652; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2653
- *     with rlock:
- *         r = _hdf5.H5Aget_num_attrs(loc_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2654
- *         r = _hdf5.H5Aget_num_attrs(loc_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2654; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":2655
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2656
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2651
- * cdef int H5Aget_num_attrs(hid_t loc_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_num_attrs(loc_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aget_num_attrs", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_297, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5Aget_num_attrs", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2658
- *         return r
- * 
- * cdef ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5Aget_name(hid_t __pyx_v_attr_id, size_t __pyx_v_buf_size, char *__pyx_v_buf) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aget_name", 0);
-
-  /* "h5py/defs.pyx":2660
- * cdef ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_name(attr_id, buf_size, buf)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2661
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5Aget_name(attr_id, buf_size, buf)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aget_name(__pyx_v_attr_id, __pyx_v_buf_size, __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2661; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2662
- *     with rlock:
- *         r = _hdf5.H5Aget_name(attr_id, buf_size, buf)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2663
- *         r = _hdf5.H5Aget_name(attr_id, buf_size, buf)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2663; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2664
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2665
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Aget_space(hid_t attr_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2660
- * cdef ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_name(attr_id, buf_size, buf)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aget_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_298, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aget_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2667
- *         return r
- * 
- * cdef hid_t H5Aget_space(hid_t attr_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Aget_space(hid_t __pyx_v_attr_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aget_space", 0);
-
-  /* "h5py/defs.pyx":2669
- * cdef hid_t H5Aget_space(hid_t attr_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_space(attr_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2670
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Aget_space(attr_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aget_space(__pyx_v_attr_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2670; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2671
- *     with rlock:
- *         r = _hdf5.H5Aget_space(attr_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2672
- *         r = _hdf5.H5Aget_space(attr_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2672; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2673
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2674
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Aget_type(hid_t attr_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2669
- * cdef hid_t H5Aget_space(hid_t attr_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_space(attr_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aget_space", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_299, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aget_space", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2676
- *         return r
- * 
- * cdef hid_t H5Aget_type(hid_t attr_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Aget_type(hid_t __pyx_v_attr_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aget_type", 0);
-
-  /* "h5py/defs.pyx":2678
- * cdef hid_t H5Aget_type(hid_t attr_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_type(attr_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2679
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Aget_type(attr_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aget_type(__pyx_v_attr_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2679; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2680
- *     with rlock:
- *         r = _hdf5.H5Aget_type(attr_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2681
- *         r = _hdf5.H5Aget_type(attr_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2681; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2682
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2683
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2678
- * cdef hid_t H5Aget_type(hid_t attr_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_type(attr_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aget_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_300, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aget_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2685
- *         return r
- * 
- * cdef herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aiterate(hid_t __pyx_v_loc_id, unsigned int *__pyx_v_idx, H5A_operator_t __pyx_v_op, void *__pyx_v_op_data) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aiterate", 0);
-
-  /* "h5py/defs.pyx":2687
- * cdef herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aiterate(loc_id, idx, op, op_data)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2688
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aiterate(loc_id, idx, op, op_data)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aiterate(__pyx_v_loc_id, __pyx_v_idx, __pyx_v_op, __pyx_v_op_data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2688; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2689
- *     with rlock:
- *         r = _hdf5.H5Aiterate(loc_id, idx, op, op_data)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2690
- *         r = _hdf5.H5Aiterate(loc_id, idx, op, op_data)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2690; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2691
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2692
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2687
- * cdef herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aiterate(loc_id, idx, op, op_data)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aiterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_301, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aiterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2694
- *         return r
- * 
- * cdef herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Adelete_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, char *__pyx_v_attr_name, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Adelete_by_name", 0);
-
-  /* "h5py/defs.pyx":2696
- * cdef herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2697
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Adelete_by_name(loc_id, obj_name, attr_name, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Adelete_by_name(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_attr_name, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2697; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2698
- *     with rlock:
- *         r = _hdf5.H5Adelete_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2699
- *         r = _hdf5.H5Adelete_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2699; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2700
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2701
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2696
- * cdef herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Adelete_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_302, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Adelete_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2703
- *         return r
- * 
- * cdef herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Adelete_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Adelete_by_idx", 0);
-
-  /* "h5py/defs.pyx":2705
- * cdef herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2706
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Adelete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Adelete_by_idx(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2706; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2707
- *     with rlock:
- *         r = _hdf5.H5Adelete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2708
- *         r = _hdf5.H5Adelete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2708; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2709
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2710
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2705
- * cdef herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Adelete_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_303, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Adelete_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2712
- *         return r
- * 
- * cdef hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hid_t r
- *     with rlock:
- */
-
-static hid_t __pyx_f_4h5py_4defs_H5Acreate_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, char *__pyx_v_attr_name, hid_t __pyx_v_type_id, hid_t __pyx_v_space_id, hid_t __pyx_v_acpl_id, hid_t __pyx_v_aapl_id, hid_t __pyx_v_lapl_id) {
-  hid_t __pyx_v_r;
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hid_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Acreate_by_name", 0);
-
-  /* "h5py/defs.pyx":2714
- * cdef hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Acreate_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2715
- *     cdef hid_t r
- *     with rlock:
- *         r = _hdf5.H5Acreate_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Acreate_by_name(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_attr_name, __pyx_v_type_id, __pyx_v_space_id, __pyx_v_acpl_id, __pyx_v_aapl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2715; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2716
- *     with rlock:
- *         r = _hdf5.H5Acreate_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hid_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2717
- *         r = _hdf5.H5Acreate_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hid_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2717; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2718
- *         if r<0:
- *             if set_exception():
- *                 return <hid_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hid_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2719
- *             if set_exception():
- *                 return <hid_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2714
- * cdef hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Acreate_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Acreate_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_304, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Acreate_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2721
- *         return r
- * 
- * cdef herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aopen(hid_t __pyx_v_obj_id, char *__pyx_v_attr_name, hid_t __pyx_v_aapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aopen", 0);
-
-  /* "h5py/defs.pyx":2723
- * cdef herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen(obj_id, attr_name, aapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2724
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aopen(obj_id, attr_name, aapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aopen(__pyx_v_obj_id, __pyx_v_attr_name, __pyx_v_aapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2724; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2725
- *     with rlock:
- *         r = _hdf5.H5Aopen(obj_id, attr_name, aapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2726
- *         r = _hdf5.H5Aopen(obj_id, attr_name, aapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2726; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2727
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2728
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2723
- * cdef herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen(obj_id, attr_name, aapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_305, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2730
- *         return r
- * 
- * cdef herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aopen_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, char *__pyx_v_attr_name, hid_t __pyx_v_aapl_id, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aopen_by_name", 0);
-
-  /* "h5py/defs.pyx":2732
- * cdef herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_by_name(loc_id, obj_name, attr_name, aapl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2733
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aopen_by_name(loc_id, obj_name, attr_name, aapl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aopen_by_name(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_attr_name, __pyx_v_aapl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2733; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2734
- *     with rlock:
- *         r = _hdf5.H5Aopen_by_name(loc_id, obj_name, attr_name, aapl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2735
- *         r = _hdf5.H5Aopen_by_name(loc_id, obj_name, attr_name, aapl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2735; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2736
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2737
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2732
- * cdef herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_by_name(loc_id, obj_name, attr_name, aapl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aopen_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_306, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aopen_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2739
- *         return r
- * 
- * cdef herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aopen_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, hid_t __pyx_v_aapl_id, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aopen_by_idx", 0);
-
-  /* "h5py/defs.pyx":2741
- * cdef herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_by_idx(loc_id, obj_name, idx_type, order, n, aapl_id, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2742
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aopen_by_idx(loc_id, obj_name, idx_type, order, n, aapl_id, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aopen_by_idx(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_aapl_id, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2742; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2743
- *     with rlock:
- *         r = _hdf5.H5Aopen_by_idx(loc_id, obj_name, idx_type, order, n, aapl_id, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2744
- *         r = _hdf5.H5Aopen_by_idx(loc_id, obj_name, idx_type, order, n, aapl_id, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2744; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2745
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2746
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2741
- * cdef herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_by_idx(loc_id, obj_name, idx_type, order, n, aapl_id, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aopen_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_307, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aopen_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2748
- *         return r
- * 
- * cdef htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Aexists_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, char *__pyx_v_attr_name, hid_t __pyx_v_lapl_id) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aexists_by_name", 0);
-
-  /* "h5py/defs.pyx":2750
- * cdef htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aexists_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2751
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Aexists_by_name(loc_id, obj_name, attr_name, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aexists_by_name(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_attr_name, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2751; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2752
- *     with rlock:
- *         r = _hdf5.H5Aexists_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2753
- *         r = _hdf5.H5Aexists_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2753; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2754
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2755
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5Aexists(hid_t obj_id, char *attr_name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2750
- * cdef htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aexists_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aexists_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_308, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aexists_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2757
- *         return r
- * 
- * cdef htri_t H5Aexists(hid_t obj_id, char *attr_name) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5Aexists(hid_t __pyx_v_obj_id, char *__pyx_v_attr_name) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aexists", 0);
-
-  /* "h5py/defs.pyx":2759
- * cdef htri_t H5Aexists(hid_t obj_id, char *attr_name) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aexists(obj_id, attr_name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2760
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5Aexists(obj_id, attr_name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aexists(__pyx_v_obj_id, __pyx_v_attr_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2760; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2761
- *     with rlock:
- *         r = _hdf5.H5Aexists(obj_id, attr_name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2762
- *         r = _hdf5.H5Aexists(obj_id, attr_name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2762; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2763
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2764
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2759
- * cdef htri_t H5Aexists(hid_t obj_id, char *attr_name) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aexists(obj_id, attr_name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aexists", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_309, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aexists", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2766
- *         return r
- * 
- * cdef herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Arename(hid_t __pyx_v_loc_id, char *__pyx_v_old_attr_name, char *__pyx_v_new_attr_name) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Arename", 0);
-
-  /* "h5py/defs.pyx":2768
- * cdef herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Arename(loc_id, old_attr_name, new_attr_name)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2769
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Arename(loc_id, old_attr_name, new_attr_name)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Arename(__pyx_v_loc_id, __pyx_v_old_attr_name, __pyx_v_new_attr_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2769; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2770
- *     with rlock:
- *         r = _hdf5.H5Arename(loc_id, old_attr_name, new_attr_name)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2771
- *         r = _hdf5.H5Arename(loc_id, old_attr_name, new_attr_name)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2771; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2772
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2773
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2768
- * cdef herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Arename(loc_id, old_attr_name, new_attr_name)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Arename", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_310, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Arename", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2775
- *         return r
- * 
- * cdef herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Arename_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, char *__pyx_v_old_attr_name, char *__pyx_v_new_attr_name, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Arename_by_name", 0);
-
-  /* "h5py/defs.pyx":2777
- * cdef herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Arename_by_name(loc_id, obj_name, old_attr_name, new_attr_name, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2778
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Arename_by_name(loc_id, obj_name, old_attr_name, new_attr_name, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Arename_by_name(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_old_attr_name, __pyx_v_new_attr_name, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2778; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2779
- *     with rlock:
- *         r = _hdf5.H5Arename_by_name(loc_id, obj_name, old_attr_name, new_attr_name, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2780
- *         r = _hdf5.H5Arename_by_name(loc_id, obj_name, old_attr_name, new_attr_name, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2780; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2781
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2782
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2777
- * cdef herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Arename_by_name(loc_id, obj_name, old_attr_name, new_attr_name, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Arename_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_311, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Arename_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2784
- *         return r
- * 
- * cdef herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aget_info(hid_t __pyx_v_attr_id, H5A_info_t *__pyx_v_ainfo) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aget_info", 0);
-
-  /* "h5py/defs.pyx":2786
- * cdef herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info(attr_id, ainfo)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2787
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aget_info(attr_id, ainfo)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aget_info(__pyx_v_attr_id, __pyx_v_ainfo); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2787; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2788
- *     with rlock:
- *         r = _hdf5.H5Aget_info(attr_id, ainfo)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2789
- *         r = _hdf5.H5Aget_info(attr_id, ainfo)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2789; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2790
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2791
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2786
- * cdef herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info(attr_id, ainfo)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aget_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_312, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aget_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2793
- *         return r
- * 
- * cdef herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aget_info_by_name(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, char *__pyx_v_attr_name, H5A_info_t *__pyx_v_ainfo, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aget_info_by_name", 0);
-
-  /* "h5py/defs.pyx":2795
- * cdef herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info_by_name(loc_id, obj_name, attr_name, ainfo, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2796
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aget_info_by_name(loc_id, obj_name, attr_name, ainfo, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aget_info_by_name(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_attr_name, __pyx_v_ainfo, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2796; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2797
- *     with rlock:
- *         r = _hdf5.H5Aget_info_by_name(loc_id, obj_name, attr_name, ainfo, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2798
- *         r = _hdf5.H5Aget_info_by_name(loc_id, obj_name, attr_name, ainfo, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2798; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2799
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2800
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2795
- * cdef herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info_by_name(loc_id, obj_name, attr_name, ainfo, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aget_info_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_313, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aget_info_by_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2802
- *         return r
- * 
- * cdef herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aget_info_by_idx(hid_t __pyx_v_loc_id, char *__pyx_v_obj_name, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t __pyx_v_n, H5A_info_t *__pyx_v_ainfo, hid_t __pyx_v_lapl_id) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aget_info_by_idx", 0);
-
-  /* "h5py/defs.pyx":2804
- * cdef herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info_by_idx(loc_id, obj_name, idx_type, order, n, ainfo, lapl_id)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2805
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aget_info_by_idx(loc_id, obj_name, idx_type, order, n, ainfo, lapl_id)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aget_info_by_idx(__pyx_v_loc_id, __pyx_v_obj_name, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_ainfo, __pyx_v_lapl_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2805; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2806
- *     with rlock:
- *         r = _hdf5.H5Aget_info_by_idx(loc_id, obj_name, idx_type, order, n, ainfo, lapl_id)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2807
- *         r = _hdf5.H5Aget_info_by_idx(loc_id, obj_name, idx_type, order, n, ainfo, lapl_id)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2807; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2808
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2809
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2804
- * cdef herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info_by_idx(loc_id, obj_name, idx_type, order, n, ainfo, lapl_id)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aget_info_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_314, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aget_info_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2811
- *         return r
- * 
- * cdef herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5Aiterate2(hid_t __pyx_v_obj_id, H5_index_t __pyx_v_idx_type, H5_iter_order_t __pyx_v_order, hsize_t *__pyx_v_n, H5A_operator2_t __pyx_v_op, void *__pyx_v_op_data) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aiterate2", 0);
-
-  /* "h5py/defs.pyx":2813
- * cdef herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aiterate2(obj_id, idx_type, order, n, op, op_data)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2814
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5Aiterate2(obj_id, idx_type, order, n, op, op_data)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aiterate2(__pyx_v_obj_id, __pyx_v_idx_type, __pyx_v_order, __pyx_v_n, __pyx_v_op, __pyx_v_op_data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2814; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2815
- *     with rlock:
- *         r = _hdf5.H5Aiterate2(obj_id, idx_type, order, n, op, op_data)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2816
- *         r = _hdf5.H5Aiterate2(obj_id, idx_type, order, n, op, op_data)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2816; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2817
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2818
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef hsize_t H5Aget_storage_size(hid_t attr_id) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2813
- * cdef herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aiterate2(obj_id, idx_type, order, n, op, op_data)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aiterate2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_315, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aiterate2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2820
- *         return r
- * 
- * cdef hsize_t H5Aget_storage_size(hid_t attr_id) except *:             # <<<<<<<<<<<<<<
- *     cdef hsize_t r
- *     with rlock:
- */
-
-static hsize_t __pyx_f_4h5py_4defs_H5Aget_storage_size(hid_t __pyx_v_attr_id) {
-  hsize_t __pyx_v_r;
-  hsize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  hsize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5Aget_storage_size", 0);
-
-  /* "h5py/defs.pyx":2822
- * cdef hsize_t H5Aget_storage_size(hid_t attr_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_storage_size(attr_id)
- *         if r==0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2823
- *     cdef hsize_t r
- *     with rlock:
- *         r = _hdf5.H5Aget_storage_size(attr_id)             # <<<<<<<<<<<<<<
- *         if r==0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5Aget_storage_size(__pyx_v_attr_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2823; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2824
- *     with rlock:
- *         r = _hdf5.H5Aget_storage_size(attr_id)
- *         if r==0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <hsize_t>0;
- */
-          __pyx_t_9 = (__pyx_v_r == 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2825
- *         r = _hdf5.H5Aget_storage_size(attr_id)
- *         if r==0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <hsize_t>0;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2825; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2826
- *         if r==0:
- *             if set_exception():
- *                 return <hsize_t>0;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((hsize_t)0);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2827
- *             if set_exception():
- *                 return <hsize_t>0;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * IF MPI:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2822
- * cdef hsize_t H5Aget_storage_size(hid_t attr_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_storage_size(attr_id)
- *         if r==0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5Aget_storage_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_316, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5Aget_storage_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2871
- *                 return r
- * 
- * cdef herr_t H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5DSattach_scale(hid_t __pyx_v_did, hid_t __pyx_v_dsid, unsigned int __pyx_v_idx) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSattach_scale", 0);
-
-  /* "h5py/defs.pyx":2873
- * cdef herr_t H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSattach_scale(did, dsid, idx)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2874
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5DSattach_scale(did, dsid, idx)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSattach_scale(__pyx_v_did, __pyx_v_dsid, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2874; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2875
- *     with rlock:
- *         r = _hdf5.H5DSattach_scale(did, dsid, idx)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2876
- *         r = _hdf5.H5DSattach_scale(did, dsid, idx)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2876; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2877
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2878
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2873
- * cdef herr_t H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSattach_scale(did, dsid, idx)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSattach_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_317, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSattach_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2880
- *         return r
- * 
- * cdef herr_t H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5DSdetach_scale(hid_t __pyx_v_did, hid_t __pyx_v_dsid, unsigned int __pyx_v_idx) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSdetach_scale", 0);
-
-  /* "h5py/defs.pyx":2882
- * cdef herr_t H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSdetach_scale(did, dsid, idx)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2883
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5DSdetach_scale(did, dsid, idx)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSdetach_scale(__pyx_v_did, __pyx_v_dsid, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2883; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2884
- *     with rlock:
- *         r = _hdf5.H5DSdetach_scale(did, dsid, idx)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2885
- *         r = _hdf5.H5DSdetach_scale(did, dsid, idx)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2885; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2886
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2887
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5DSset_scale(hid_t dsid, char *dimname) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2882
- * cdef herr_t H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSdetach_scale(did, dsid, idx)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSdetach_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_318, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSdetach_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2889
- *         return r
- * 
- * cdef herr_t H5DSset_scale(hid_t dsid, char *dimname) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5DSset_scale(hid_t __pyx_v_dsid, char *__pyx_v_dimname) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSset_scale", 0);
-
-  /* "h5py/defs.pyx":2891
- * cdef herr_t H5DSset_scale(hid_t dsid, char *dimname) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSset_scale(dsid, dimname)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2892
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5DSset_scale(dsid, dimname)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSset_scale(__pyx_v_dsid, __pyx_v_dimname); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2892; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2893
- *     with rlock:
- *         r = _hdf5.H5DSset_scale(dsid, dimname)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2894
- *         r = _hdf5.H5DSset_scale(dsid, dimname)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2894; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2895
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2896
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef int H5DSget_num_scales(hid_t did, unsigned int dim) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2891
- * cdef herr_t H5DSset_scale(hid_t dsid, char *dimname) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSset_scale(dsid, dimname)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSset_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_319, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSset_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2898
- *         return r
- * 
- * cdef int H5DSget_num_scales(hid_t did, unsigned int dim) except *:             # <<<<<<<<<<<<<<
- *     cdef int r
- *     with rlock:
- */
-
-static int __pyx_f_4h5py_4defs_H5DSget_num_scales(hid_t __pyx_v_did, unsigned int __pyx_v_dim) {
-  int __pyx_v_r;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSget_num_scales", 0);
-
-  /* "h5py/defs.pyx":2900
- * cdef int H5DSget_num_scales(hid_t did, unsigned int dim) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_num_scales(did, dim)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2901
- *     cdef int r
- *     with rlock:
- *         r = _hdf5.H5DSget_num_scales(did, dim)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSget_num_scales(__pyx_v_did, __pyx_v_dim); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2901; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2902
- *     with rlock:
- *         r = _hdf5.H5DSget_num_scales(did, dim)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <int>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2903
- *         r = _hdf5.H5DSget_num_scales(did, dim)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <int>-1;
- *         return r
- */
-            __pyx_t_8 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2903; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_8) {
-
-              /* "h5py/defs.pyx":2904
- *         if r<0:
- *             if set_exception():
- *                 return <int>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((int)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2905
- *             if set_exception():
- *                 return <int>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5DSset_label(hid_t did, unsigned int idx, char *label) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2900
- * cdef int H5DSget_num_scales(hid_t did, unsigned int dim) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_num_scales(did, dim)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSget_num_scales", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_10 = PyTuple_New(3); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_10, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_11 = PyObject_Call(__pyx_t_2, __pyx_t_10, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_9);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_320, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.defs.H5DSget_num_scales", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2907
- *         return r
- * 
- * cdef herr_t H5DSset_label(hid_t did, unsigned int idx, char *label) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5DSset_label(hid_t __pyx_v_did, unsigned int __pyx_v_idx, char *__pyx_v_label) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSset_label", 0);
-
-  /* "h5py/defs.pyx":2909
- * cdef herr_t H5DSset_label(hid_t did, unsigned int idx, char *label) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSset_label(did, idx, label)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2910
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5DSset_label(did, idx, label)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSset_label(__pyx_v_did, __pyx_v_idx, __pyx_v_label); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2910; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2911
- *     with rlock:
- *         r = _hdf5.H5DSset_label(did, idx, label)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2912
- *         r = _hdf5.H5DSset_label(did, idx, label)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2912; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2913
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2914
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2909
- * cdef herr_t H5DSset_label(hid_t did, unsigned int idx, char *label) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSset_label(did, idx, label)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSset_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_321, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSset_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2916
- *         return r
- * 
- * cdef ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5DSget_label(hid_t __pyx_v_did, unsigned int __pyx_v_idx, char *__pyx_v_label, size_t __pyx_v_size) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSget_label", 0);
-
-  /* "h5py/defs.pyx":2918
- * cdef ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_label(did, idx, label, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2919
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5DSget_label(did, idx, label, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSget_label(__pyx_v_did, __pyx_v_idx, __pyx_v_label, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2919; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2920
- *     with rlock:
- *         r = _hdf5.H5DSget_label(did, idx, label, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2921
- *         r = _hdf5.H5DSget_label(did, idx, label, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2921; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2922
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2923
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2918
- * cdef ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_label(did, idx, label, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSget_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_322, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSget_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2925
- *         return r
- * 
- * cdef ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size) except *:             # <<<<<<<<<<<<<<
- *     cdef ssize_t r
- *     with rlock:
- */
-
-static Py_ssize_t __pyx_f_4h5py_4defs_H5DSget_scale_name(hid_t __pyx_v_did, char *__pyx_v_name, size_t __pyx_v_size) {
-  Py_ssize_t __pyx_v_r;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSget_scale_name", 0);
-
-  /* "h5py/defs.pyx":2927
- * cdef ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_scale_name(did, name, size)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2928
- *     cdef ssize_t r
- *     with rlock:
- *         r = _hdf5.H5DSget_scale_name(did, name, size)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSget_scale_name(__pyx_v_did, __pyx_v_name, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2928; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2929
- *     with rlock:
- *         r = _hdf5.H5DSget_scale_name(did, name, size)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <ssize_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2930
- *         r = _hdf5.H5DSget_scale_name(did, name, size)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <ssize_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2930; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2931
- *         if r<0:
- *             if set_exception():
- *                 return <ssize_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((Py_ssize_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2932
- *             if set_exception():
- *                 return <ssize_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5DSis_scale(hid_t did) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2927
- * cdef ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_scale_name(did, name, size)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSget_scale_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_323, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSget_scale_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2934
- *         return r
- * 
- * cdef htri_t H5DSis_scale(hid_t did) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5DSis_scale(hid_t __pyx_v_did) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSis_scale", 0);
-
-  /* "h5py/defs.pyx":2936
- * cdef htri_t H5DSis_scale(hid_t did) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSis_scale(did)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2937
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5DSis_scale(did)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSis_scale(__pyx_v_did); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2937; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2938
- *     with rlock:
- *         r = _hdf5.H5DSis_scale(did)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2939
- *         r = _hdf5.H5DSis_scale(did)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2939; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2940
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2941
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2936
- * cdef htri_t H5DSis_scale(hid_t did) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSis_scale(did)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSis_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_324, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSis_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2943
- *         return r
- * 
- * cdef herr_t H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data) except *:             # <<<<<<<<<<<<<<
- *     cdef herr_t r
- *     with rlock:
- */
-
-static herr_t __pyx_f_4h5py_4defs_H5DSiterate_scales(hid_t __pyx_v_did, unsigned int __pyx_v_dim, int *__pyx_v_idx, H5DS_iterate_t __pyx_v_visitor, void *__pyx_v_visitor_data) {
-  herr_t __pyx_v_r;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSiterate_scales", 0);
-
-  /* "h5py/defs.pyx":2945
- * cdef herr_t H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSiterate_scales(did, dim, idx, visitor, visitor_data)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2946
- *     cdef herr_t r
- *     with rlock:
- *         r = _hdf5.H5DSiterate_scales(did, dim, idx, visitor, visitor_data)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSiterate_scales(__pyx_v_did, __pyx_v_dim, __pyx_v_idx, __pyx_v_visitor, __pyx_v_visitor_data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2946; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2947
- *     with rlock:
- *         r = _hdf5.H5DSiterate_scales(did, dim, idx, visitor, visitor_data)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <herr_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2948
- *         r = _hdf5.H5DSiterate_scales(did, dim, idx, visitor, visitor_data)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <herr_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2948; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2949
- *         if r<0:
- *             if set_exception():
- *                 return <herr_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((herr_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2950
- *             if set_exception():
- *                 return <herr_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- * cdef htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *:
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2945
- * cdef herr_t H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSiterate_scales(did, dim, idx, visitor, visitor_data)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSiterate_scales", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_325, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSiterate_scales", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/defs.pyx":2952
- *         return r
- * 
- * cdef htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *:             # <<<<<<<<<<<<<<
- *     cdef htri_t r
- *     with rlock:
- */
-
-static htri_t __pyx_f_4h5py_4defs_H5DSis_attached(hid_t __pyx_v_did, hid_t __pyx_v_dsid, unsigned int __pyx_v_idx) {
-  htri_t __pyx_v_r;
-  htri_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  htri_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("H5DSis_attached", 0);
-
-  /* "h5py/defs.pyx":2954
- * cdef htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSis_attached(did, dsid, idx)
- *         if r<0:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__rlock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/defs.pyx":2955
- *     cdef htri_t r
- *     with rlock:
- *         r = _hdf5.H5DSis_attached(did, dsid, idx)             # <<<<<<<<<<<<<<
- *         if r<0:
- *             if set_exception():
- */
-          __pyx_t_8 = H5DSis_attached(__pyx_v_did, __pyx_v_dsid, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2955; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __pyx_v_r = __pyx_t_8;
-
-          /* "h5py/defs.pyx":2956
- *     with rlock:
- *         r = _hdf5.H5DSis_attached(did, dsid, idx)
- *         if r<0:             # <<<<<<<<<<<<<<
- *             if set_exception():
- *                 return <htri_t>-1;
- */
-          __pyx_t_9 = (__pyx_v_r < 0);
-          if (__pyx_t_9) {
-
-            /* "h5py/defs.pyx":2957
- *         r = _hdf5.H5DSis_attached(did, dsid, idx)
- *         if r<0:
- *             if set_exception():             # <<<<<<<<<<<<<<
- *                 return <htri_t>-1;
- *         return r
- */
-            __pyx_t_10 = __pyx_f_4h5py_7_errors_set_exception(); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2957; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            if (__pyx_t_10) {
-
-              /* "h5py/defs.pyx":2958
- *         if r<0:
- *             if set_exception():
- *                 return <htri_t>-1;             # <<<<<<<<<<<<<<
- *         return r
- * 
- */
-              __pyx_r = ((htri_t)-1);
-              goto __pyx_L11_try_return;
-              goto __pyx_L16;
-            }
-            __pyx_L16:;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-
-          /* "h5py/defs.pyx":2959
- *             if set_exception():
- *                 return <htri_t>-1;
- *         return r             # <<<<<<<<<<<<<<
- * 
- */
-          __pyx_r = __pyx_v_r;
-          goto __pyx_L11_try_return;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L11_try_return:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L4;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-        /* "h5py/defs.pyx":2954
- * cdef htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSis_attached(did, dsid, idx)
- *         if r<0:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.defs.H5DSis_attached", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_3);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_3);
-          __Pyx_GIVEREF(__pyx_t_3);
-          __pyx_t_12 = PyObject_Call(__pyx_t_2, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_13 = (!__pyx_t_9);
-          if (__pyx_t_13) {
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_3);
-            __Pyx_ErrRestore(__pyx_t_1, __pyx_t_4, __pyx_t_3);
-            __pyx_t_1 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; 
-            {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L19;
-          }
-          __pyx_L19:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      int __pyx_why;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_why = 3; goto __pyx_L6;
-      __pyx_L6:;
-      if (__pyx_t_2) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_2, __pyx_k_tuple_326, NULL);
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_13 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_13 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-      }
-    }
-    goto __pyx_L20;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L1_error;
-    __pyx_L20:;
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.defs.H5DSis_attached", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_4defs_FastRLock(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  if (__pyx_pw_4h5py_4defs_9FastRLock_1__cinit__(o, __pyx_empty_tuple, NULL) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_4defs_FastRLock(PyObject *o) {
-  {
-    PyObject *etype, *eval, *etb;
-    PyErr_Fetch(&etype, &eval, &etb);
-    ++Py_REFCNT(o);
-    __pyx_pw_4h5py_4defs_9FastRLock_3__dealloc__(o);
-    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
-    --Py_REFCNT(o);
-    PyErr_Restore(etype, eval, etb);
-  }
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_4defs_FastRLock[] = {
-  {__Pyx_NAMESTR("acquire"), (PyCFunction)__pyx_pw_4h5py_4defs_9FastRLock_5acquire, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("release"), (PyCFunction)__pyx_pw_4h5py_4defs_9FastRLock_7release, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("__enter__"), (PyCFunction)__pyx_pw_4h5py_4defs_9FastRLock_9__enter__, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("__exit__"), (PyCFunction)__pyx_pw_4h5py_4defs_9FastRLock_11__exit__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("_is_owned"), (PyCFunction)__pyx_pw_4h5py_4defs_9FastRLock_13_is_owned, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_FastRLock = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_FastRLock = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_FastRLock = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_FastRLock = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_4defs_FastRLock = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.defs.FastRLock"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_4defs_FastRLock), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_4defs_FastRLock, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_FastRLock, /*tp_as_number*/
-  &__pyx_tp_as_sequence_FastRLock, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_FastRLock, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_FastRLock, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  __Pyx_DOCSTR("Fast, re-entrant locking.\n\n    Under uncongested conditions, the lock is never acquired but only\n    counted.  Only when a second thread comes in and notices that the\n    lock is needed, it acquires the lock and notifies the first thread\n    to release it when it's done.  This is all made possible by the\n    wonderful GIL.\n    "), /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_4defs_FastRLock, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_4defs_FastRLock, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("defs"),
-    0, /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s__blocking, __pyx_k__blocking, sizeof(__pyx_k__blocking), 0, 0, 1, 1},
-  {&__pyx_n_s__rlock, __pyx_k__rlock, sizeof(__pyx_k__rlock), 0, 0, 1, 1},
-  {&__pyx_n_s__t, __pyx_k__t, sizeof(__pyx_k__t), 0, 0, 1, 1},
-  {&__pyx_n_s__tb, __pyx_k__tb, sizeof(__pyx_k__tb), 0, 0, 1, 1},
-  {&__pyx_n_s__v, __pyx_k__v, sizeof(__pyx_k__v), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":39
- *     def release(self):
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")             # <<<<<<<<<<<<<<
- *         unlock_lock(self)
- * 
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-
-  /* "/home/computer/h5py/h5py/_locks.pxi":51
- *         # self.release()
- *         if self._owner != pythread.PyThread_get_thread_ident():
- *             raise RuntimeError("cannot release un-acquired lock")             # <<<<<<<<<<<<<<
- *         unlock_lock(self)
- * 
- */
-  __pyx_k_tuple_3 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_3);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-
-  /* "h5py/defs.pyx":14
- * cdef herr_t H5open() except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5open()
- *         if r<0:
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-
-  /* "h5py/defs.pyx":23
- * cdef herr_t H5close() except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5close()
- *         if r<0:
- */
-  __pyx_k_tuple_5 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_5);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_5));
-
-  /* "h5py/defs.pyx":32
- * cdef herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5get_libversion(majnum, minnum, relnum)
- *         if r<0:
- */
-  __pyx_k_tuple_6 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_6);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
-
-  /* "h5py/defs.pyx":41
- * cdef hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dcreate2(loc_id, name, type_id, space_id, lcpl_id, dcpl_id, dapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_7 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_7)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_7);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_7));
-
-  /* "h5py/defs.pyx":50
- * cdef hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dcreate_anon(file_id, type_id, space_id, plist_id, dapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_8 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_8);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
-
-  /* "h5py/defs.pyx":59
- * cdef hid_t H5Dopen(hid_t file_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dopen(file_id, name)
- *         if r<0:
- */
-  __pyx_k_tuple_9 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_9);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));
-
-  /* "h5py/defs.pyx":68
- * cdef herr_t H5Dclose(hid_t dset_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dclose(dset_id)
- *         if r<0:
- */
-  __pyx_k_tuple_10 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_10);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_10));
-
-  /* "h5py/defs.pyx":77
- * cdef hid_t H5Dget_space(hid_t dset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_space(dset_id)
- *         if r<0:
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-
-  /* "h5py/defs.pyx":86
- * cdef herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_space_status(dset_id, status)
- *         if r<0:
- */
-  __pyx_k_tuple_12 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_12);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));
-
-  /* "h5py/defs.pyx":95
- * cdef hid_t H5Dget_type(hid_t dset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_type(dset_id)
- *         if r<0:
- */
-  __pyx_k_tuple_13 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_13);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_13));
-
-  /* "h5py/defs.pyx":104
- * cdef hid_t H5Dget_create_plist(hid_t dataset_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_create_plist(dataset_id)
- *         if r<0:
- */
-  __pyx_k_tuple_14 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_14);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14));
-
-  /* "h5py/defs.pyx":113
- * cdef haddr_t H5Dget_offset(hid_t dset_id) except *:
- *     cdef haddr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_offset(dset_id)
- *         if r==0:
- */
-  __pyx_k_tuple_15 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_15);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
-
-  /* "h5py/defs.pyx":122
- * cdef hsize_t H5Dget_storage_size(hid_t dset_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dget_storage_size(dset_id)
- *         if r==0:
- */
-  __pyx_k_tuple_16 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_16);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16));
-
-  /* "h5py/defs.pyx":131
- * cdef herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dread(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf)
- *         if r<0:
- */
-  __pyx_k_tuple_17 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_17);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));
-
-  /* "h5py/defs.pyx":140
- * cdef herr_t H5Dwrite(hid_t dset_id, hid_t mem_type, hid_t mem_space, hid_t file_space, hid_t xfer_plist, void* buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dwrite(dset_id, mem_type, mem_space, file_space, xfer_plist, buf)
- *         if r<0:
- */
-  __pyx_k_tuple_18 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_18);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18));
-
-  /* "h5py/defs.pyx":149
- * cdef herr_t H5Dextend(hid_t dataset_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dextend(dataset_id, size)
- *         if r<0:
- */
-  __pyx_k_tuple_19 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_19);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));
-
-  /* "h5py/defs.pyx":158
- * cdef herr_t H5Dfill(void *fill, hid_t fill_type_id, void *buf,  hid_t buf_type_id, hid_t space_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dfill(fill, fill_type_id, buf, buf_type_id, space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_20 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_20)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_20);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_20));
-
-  /* "h5py/defs.pyx":167
- * cdef herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dvlen_get_buf_size(dset_id, type_id, space_id, size)
- *         if r<0:
- */
-  __pyx_k_tuple_21 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_21)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_21);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_21));
-
-  /* "h5py/defs.pyx":176
- * cdef herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id,  hid_t plist, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dvlen_reclaim(type_id, space_id, plist, buf)
- *         if r<0:
- */
-  __pyx_k_tuple_22 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_22);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22));
-
-  /* "h5py/defs.pyx":185
- * cdef herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,  H5D_operator_t op, void* operator_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Diterate(buf, type_id, space_id, op, operator_data)
- *         if r<0:
- */
-  __pyx_k_tuple_23 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_23)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_23);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_23));
-
-  /* "h5py/defs.pyx":194
- * cdef herr_t H5Dset_extent(hid_t dset_id, hsize_t* size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Dset_extent(dset_id, size)
- *         if r<0:
- */
-  __pyx_k_tuple_24 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_24)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_24);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_24));
-
-  /* "h5py/defs.pyx":203
- * cdef hid_t H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fcreate(filename, flags, create_plist, access_plist)
- *         if r<0:
- */
-  __pyx_k_tuple_25 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_25)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_25);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_25));
-
-  /* "h5py/defs.pyx":212
- * cdef hid_t H5Fopen(char *name, unsigned flags, hid_t access_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fopen(name, flags, access_id)
- *         if r<0:
- */
-  __pyx_k_tuple_26 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_26)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_26);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_26));
-
-  /* "h5py/defs.pyx":221
- * cdef herr_t H5Fclose(hid_t file_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fclose(file_id)
- *         if r<0:
- */
-  __pyx_k_tuple_27 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_27)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_27);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_27));
-
-  /* "h5py/defs.pyx":230
- * cdef htri_t H5Fis_hdf5(char *name) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fis_hdf5(name)
- *         if r<0:
- */
-  __pyx_k_tuple_28 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_28);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_28));
-
-  /* "h5py/defs.pyx":239
- * cdef herr_t H5Fflush(hid_t object_id, H5F_scope_t scope) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fflush(object_id, scope)
- *         if r<0:
- */
-  __pyx_k_tuple_29 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_29)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_29);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_29));
-
-  /* "h5py/defs.pyx":248
- * cdef hid_t H5Freopen(hid_t file_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Freopen(file_id)
- *         if r<0:
- */
-  __pyx_k_tuple_30 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_30)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_30);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_30));
-
-  /* "h5py/defs.pyx":257
- * cdef herr_t H5Fmount(hid_t loc_id, char *name, hid_t child_id, hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fmount(loc_id, name, child_id, plist_id)
- *         if r<0:
- */
-  __pyx_k_tuple_31 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_31)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_31);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_31));
-
-  /* "h5py/defs.pyx":266
- * cdef herr_t H5Funmount(hid_t loc_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Funmount(loc_id, name)
- *         if r<0:
- */
-  __pyx_k_tuple_32 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_32)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_32);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_32));
-
-  /* "h5py/defs.pyx":275
- * cdef herr_t H5Fget_filesize(hid_t file_id, hsize_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_filesize(file_id, size)
- *         if r<0:
- */
-  __pyx_k_tuple_33 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_33)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_33);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_33));
-
-  /* "h5py/defs.pyx":284
- * cdef hid_t H5Fget_create_plist(hid_t file_id ) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_create_plist(file_id)
- *         if r<0:
- */
-  __pyx_k_tuple_34 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_34)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 284; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_34);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_34));
-
-  /* "h5py/defs.pyx":293
- * cdef hid_t H5Fget_access_plist(hid_t file_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_access_plist(file_id)
- *         if r<0:
- */
-  __pyx_k_tuple_35 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_35)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_35);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_35));
-
-  /* "h5py/defs.pyx":302
- * cdef hssize_t H5Fget_freespace(hid_t file_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_freespace(file_id)
- *         if r<0:
- */
-  __pyx_k_tuple_36 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_36)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_36);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_36));
-
-  /* "h5py/defs.pyx":311
- * cdef ssize_t H5Fget_name(hid_t obj_id, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_name(obj_id, name, size)
- *         if r<0:
- */
-  __pyx_k_tuple_37 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_37)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_37);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_37));
-
-  /* "h5py/defs.pyx":320
- * cdef int H5Fget_obj_count(hid_t file_id, unsigned int types) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_obj_count(file_id, types)
- *         if r<0:
- */
-  __pyx_k_tuple_38 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_38)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_38);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_38));
-
-  /* "h5py/defs.pyx":329
- * cdef int H5Fget_obj_ids(hid_t file_id, unsigned int types, int max_objs, hid_t *obj_id_list) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_obj_ids(file_id, types, max_objs, obj_id_list)
- *         if r<0:
- */
-  __pyx_k_tuple_39 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_39)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_39);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_39));
-
-  /* "h5py/defs.pyx":338
- * cdef herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_vfd_handle(file_id, fapl_id, file_handle)
- *         if r<0:
- */
-  __pyx_k_tuple_40 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_40)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_40);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_40));
-
-  /* "h5py/defs.pyx":347
- * cdef herr_t H5Fget_intent(hid_t file_id, unsigned int *intent) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_intent(file_id, intent)
- *         if r<0:
- */
-  __pyx_k_tuple_41 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_41)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 347; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_41);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_41));
-
-  /* "h5py/defs.pyx":356
- * cdef herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_config(file_id, config_ptr)
- *         if r<0:
- */
-  __pyx_k_tuple_42 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_42)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_42);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_42));
-
-  /* "h5py/defs.pyx":365
- * cdef herr_t H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_hit_rate(file_id, hit_rate_ptr)
- *         if r<0:
- */
-  __pyx_k_tuple_43 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_43)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_43);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_43));
-
-  /* "h5py/defs.pyx":374
- * cdef herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fget_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr)
- *         if r<0:
- */
-  __pyx_k_tuple_44 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_44)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_44);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_44));
-
-  /* "h5py/defs.pyx":383
- * cdef herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Freset_mdc_hit_rate_stats(file_id)
- *         if r<0:
- */
-  __pyx_k_tuple_45 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_45)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_45);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_45));
-
-  /* "h5py/defs.pyx":392
- * cdef herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Fset_mdc_config(file_id, config_ptr)
- *         if r<0:
- */
-  __pyx_k_tuple_46 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_46)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_46);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_46));
-
-  /* "h5py/defs.pyx":401
- * cdef hid_t H5Gcreate(hid_t loc_id, char *name, size_t size_hint) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate(loc_id, name, size_hint)
- *         if r<0:
- */
-  __pyx_k_tuple_47 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_47)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_47);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_47));
-
-  /* "h5py/defs.pyx":410
- * cdef hid_t H5Gopen(hid_t loc_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gopen(loc_id, name)
- *         if r<0:
- */
-  __pyx_k_tuple_48 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_48)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_48);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_48));
-
-  /* "h5py/defs.pyx":419
- * cdef herr_t H5Gclose(hid_t group_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gclose(group_id)
- *         if r<0:
- */
-  __pyx_k_tuple_49 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_49)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_49);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_49));
-
-  /* "h5py/defs.pyx":428
- * cdef herr_t H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Glink2(curr_loc_id, current_name, link_type, new_loc_id, new_name)
- *         if r<0:
- */
-  __pyx_k_tuple_50 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_50)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_50);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_50));
-
-  /* "h5py/defs.pyx":437
- * cdef herr_t H5Gunlink(hid_t file_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gunlink(file_id, name)
- *         if r<0:
- */
-  __pyx_k_tuple_51 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_51)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_51);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_51));
-
-  /* "h5py/defs.pyx":446
- * cdef herr_t H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gmove2(src_loc_id, src_name, dst_loc_id, dst_name)
- *         if r<0:
- */
-  __pyx_k_tuple_52 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_52)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_52);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_52));
-
-  /* "h5py/defs.pyx":455
- * cdef herr_t H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_num_objs(loc_id, num_obj)
- *         if r<0:
- */
-  __pyx_k_tuple_53 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_53)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 455; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_53);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_53));
-
-  /* "h5py/defs.pyx":464
- * cdef int H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objname_by_idx(loc_id, idx, name, size)
- *         if r<0:
- */
-  __pyx_k_tuple_54 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_54)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_54);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_54));
-
-  /* "h5py/defs.pyx":473
- * cdef int H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objtype_by_idx(loc_id, idx)
- *         if r<0:
- */
-  __pyx_k_tuple_55 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_55)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_55);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_55));
-
-  /* "h5py/defs.pyx":482
- * cdef herr_t H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Giterate(loc_id, name, idx, op, data)
- *         if r<0:
- */
-  __pyx_k_tuple_56 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_56)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_56);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_56));
-
-  /* "h5py/defs.pyx":491
- * cdef herr_t H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_objinfo(loc_id, name, follow_link, statbuf)
- *         if r<0:
- */
-  __pyx_k_tuple_57 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_57)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 491; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_57);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_57));
-
-  /* "h5py/defs.pyx":500
- * cdef herr_t H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_linkval(loc_id, name, size, value)
- *         if r<0:
- */
-  __pyx_k_tuple_58 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_58)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 500; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_58);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_58));
-
-  /* "h5py/defs.pyx":509
- * cdef herr_t H5Gset_comment(hid_t loc_id, char *name, char *comment) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gset_comment(loc_id, name, comment)
- *         if r<0:
- */
-  __pyx_k_tuple_59 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_59)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 509; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_59);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_59));
-
-  /* "h5py/defs.pyx":518
- * cdef int H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_comment(loc_id, name, bufsize, comment)
- *         if r<0:
- */
-  __pyx_k_tuple_60 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_60)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_60);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_60));
-
-  /* "h5py/defs.pyx":527
- * cdef hid_t H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate_anon(loc_id, gcpl_id, gapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_61 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_61)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 527; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_61);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_61));
-
-  /* "h5py/defs.pyx":536
- * cdef hid_t H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gcreate2(loc_id, name, lcpl_id, gcpl_id, gapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_62 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_62)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_62);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_62));
-
-  /* "h5py/defs.pyx":545
- * cdef hid_t H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gopen2(loc_id, name, gapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_63 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_63)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_63);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_63));
-
-  /* "h5py/defs.pyx":554
- * cdef herr_t H5Gget_info( hid_t group_id, H5G_info_t *group_info) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_info(group_id, group_info)
- *         if r<0:
- */
-  __pyx_k_tuple_64 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_64)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_64);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_64));
-
-  /* "h5py/defs.pyx":563
- * cdef herr_t H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_info_by_name(loc_id, group_name, group_info, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_65 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_65)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 563; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_65);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_65));
-
-  /* "h5py/defs.pyx":572
- * cdef hid_t H5Gget_create_plist(hid_t group_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Gget_create_plist(group_id)
- *         if r<0:
- */
-  __pyx_k_tuple_66 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_66)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_66);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_66));
-
-  /* "h5py/defs.pyx":581
- * cdef H5I_type_t H5Iget_type(hid_t obj_id) except *:
- *     cdef H5I_type_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_type(obj_id)
- *         if r<0:
- */
-  __pyx_k_tuple_67 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_67)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 581; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_67);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_67));
-
-  /* "h5py/defs.pyx":590
- * cdef ssize_t H5Iget_name( hid_t obj_id, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_name(obj_id, name, size)
- *         if r<0:
- */
-  __pyx_k_tuple_68 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_68)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_68);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_68));
-
-  /* "h5py/defs.pyx":599
- * cdef hid_t H5Iget_file_id(hid_t obj_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_file_id(obj_id)
- *         if r<0:
- */
-  __pyx_k_tuple_69 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_69)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_69);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_69));
-
-  /* "h5py/defs.pyx":608
- * cdef int H5Idec_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Idec_ref(obj_id)
- *         if r<0:
- */
-  __pyx_k_tuple_70 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_70)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_70);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_70));
-
-  /* "h5py/defs.pyx":617
- * cdef int H5Iget_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iget_ref(obj_id)
- *         if r<0:
- */
-  __pyx_k_tuple_71 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_71)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 617; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_71);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_71));
-
-  /* "h5py/defs.pyx":626
- * cdef int H5Iinc_ref(hid_t obj_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Iinc_ref(obj_id)
- *         if r<0:
- */
-  __pyx_k_tuple_72 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_72)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 626; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_72);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_72));
-
-  /* "h5py/defs.pyx":635
- * cdef herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lmove(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_73 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_73)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 635; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_73);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_73));
-
-  /* "h5py/defs.pyx":644
- * cdef herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcopy(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_74 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_74)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 644; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_74);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_74));
-
-  /* "h5py/defs.pyx":653
- * cdef herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_hard(cur_loc, cur_name, dst_loc, dst_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_75 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_75)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_75);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_75));
-
-  /* "h5py/defs.pyx":662
- * cdef herr_t H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_soft(link_target, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_76 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_76)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_76);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_76));
-
-  /* "h5py/defs.pyx":671
- * cdef herr_t H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ldelete(loc_id, name, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_77 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_77)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 671; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_77);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_77));
-
-  /* "h5py/defs.pyx":680
- * cdef herr_t H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ldelete_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_78 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_78)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_78);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_78));
-
-  /* "h5py/defs.pyx":689
- * cdef herr_t H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_val(loc_id, name, bufout, size, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_79 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_79)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 689; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_79);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_79));
-
-  /* "h5py/defs.pyx":698
- * cdef herr_t H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_val_by_idx(loc_id, group_name, idx_type, order, n, bufout, size, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_80 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_80)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_80);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_80));
-
-  /* "h5py/defs.pyx":707
- * cdef htri_t H5Lexists(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lexists(loc_id, name, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_81 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_81)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_81);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_81));
-
-  /* "h5py/defs.pyx":716
- * cdef herr_t H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_info(loc_id, name, linfo, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_82 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_82)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_82);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_82));
-
-  /* "h5py/defs.pyx":725
- * cdef herr_t H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_info_by_idx(loc_id, group_name, idx_type, order, n, linfo, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_83 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_83)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 725; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_83);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_83));
-
-  /* "h5py/defs.pyx":734
- * cdef ssize_t H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lget_name_by_idx(loc_id, group_name, idx_type, order, n, name, size, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_84 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_84)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 734; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_84);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_84));
-
-  /* "h5py/defs.pyx":743
- * cdef herr_t H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Literate(grp_id, idx_type, order, idx, op, op_data)
- *         if r<0:
- */
-  __pyx_k_tuple_85 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_85)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_85);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_85));
-
-  /* "h5py/defs.pyx":752
- * cdef herr_t H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Literate_by_name(loc_id, group_name, idx_type, order, idx, op, op_data, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_86 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_86)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 752; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_86);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_86));
-
-  /* "h5py/defs.pyx":761
- * cdef herr_t H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lvisit(grp_id, idx_type, order, op, op_data)
- *         if r<0:
- */
-  __pyx_k_tuple_87 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_87)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_87);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_87));
-
-  /* "h5py/defs.pyx":770
- * cdef herr_t H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lvisit_by_name(loc_id, group_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_88 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_88)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_88);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_88));
-
-  /* "h5py/defs.pyx":779
- * cdef herr_t H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lunpack_elink_val(ext_linkval, link_size, flags, filename, obj_path)
- *         if r<0:
- */
-  __pyx_k_tuple_89 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_89)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_89);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_89));
-
-  /* "h5py/defs.pyx":788
- * cdef herr_t H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Lcreate_external(file_name, obj_name, link_loc_id, link_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_90 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_90)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_90);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_90));
-
-  /* "h5py/defs.pyx":797
- * cdef hid_t H5Oopen(hid_t loc_id, char *name, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen(loc_id, name, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_91 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_91)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_91);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_91));
-
-  /* "h5py/defs.pyx":806
- * cdef hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen_by_addr(loc_id, addr)
- *         if r<0:
- */
-  __pyx_k_tuple_92 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_92)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_92);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_92));
-
-  /* "h5py/defs.pyx":815
- * cdef hid_t H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oopen_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_93 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_93)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_93);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_93));
-
-  /* "h5py/defs.pyx":824
- * cdef herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info(loc_id, oinfo)
- *         if r<0:
- */
-  __pyx_k_tuple_94 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_94)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_94);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_94));
-
-  /* "h5py/defs.pyx":833
- * cdef herr_t H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info_by_name(loc_id, name, oinfo, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_95 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_95)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_95);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_95));
-
-  /* "h5py/defs.pyx":842
- * cdef herr_t H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_96 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_96)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 842; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_96);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_96));
-
-  /* "h5py/defs.pyx":851
- * cdef herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Olink(obj_id, new_loc_id, new_name, lcpl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_97 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_97)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_97);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_97));
-
-  /* "h5py/defs.pyx":860
- * cdef herr_t H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ocopy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_98 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_98)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_98);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_98));
-
-  /* "h5py/defs.pyx":869
- * cdef herr_t H5Oincr_refcount(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oincr_refcount(object_id)
- *         if r<0:
- */
-  __pyx_k_tuple_99 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_99)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_99);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_99));
-
-  /* "h5py/defs.pyx":878
- * cdef herr_t H5Odecr_refcount(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Odecr_refcount(object_id)
- *         if r<0:
- */
-  __pyx_k_tuple_100 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_100)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_100);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_100));
-
-  /* "h5py/defs.pyx":887
- * cdef herr_t H5Oset_comment(hid_t obj_id, char *comment) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oset_comment(obj_id, comment)
- *         if r<0:
- */
-  __pyx_k_tuple_101 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_101)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_101);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_101));
-
-  /* "h5py/defs.pyx":896
- * cdef herr_t H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oset_comment_by_name(loc_id, name, comment, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_102 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_102)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_102);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_102));
-
-  /* "h5py/defs.pyx":905
- * cdef ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_comment(obj_id, comment, bufsize)
- *         if r<0:
- */
-  __pyx_k_tuple_103 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_103)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_103);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_103));
-
-  /* "h5py/defs.pyx":914
- * cdef ssize_t H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oget_comment_by_name(loc_id, name, comment, bufsize, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_104 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_104)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_104);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_104));
-
-  /* "h5py/defs.pyx":923
- * cdef herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ovisit(obj_id, idx_type, order, op, op_data)
- *         if r<0:
- */
-  __pyx_k_tuple_105 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_105)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_105);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_105));
-
-  /* "h5py/defs.pyx":932
- * cdef herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Ovisit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_106 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_106)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_106);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_106));
-
-  /* "h5py/defs.pyx":941
- * cdef herr_t H5Oclose(hid_t object_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Oclose(object_id)
- *         if r<0:
- */
-  __pyx_k_tuple_107 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_107)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_107);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_107));
-
-  /* "h5py/defs.pyx":950
- * cdef hid_t H5Pcreate(hid_t plist_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pcreate(plist_id)
- *         if r<0:
- */
-  __pyx_k_tuple_108 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_108)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_108);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_108));
-
-  /* "h5py/defs.pyx":959
- * cdef hid_t H5Pcopy(hid_t plist_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pcopy(plist_id)
- *         if r<0:
- */
-  __pyx_k_tuple_109 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_109)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 959; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_109);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_109));
-
-  /* "h5py/defs.pyx":968
- * cdef int H5Pget_class(hid_t plist_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_class(plist_id)
- *         if r<0:
- */
-  __pyx_k_tuple_110 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_110)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_110);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_110));
-
-  /* "h5py/defs.pyx":977
- * cdef herr_t H5Pclose(hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pclose(plist_id)
- *         if r<0:
- */
-  __pyx_k_tuple_111 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_111)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_111);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_111));
-
-  /* "h5py/defs.pyx":986
- * cdef htri_t H5Pequal( hid_t id1, hid_t id2 ) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pequal(id1, id2)
- *         if r<0:
- */
-  __pyx_k_tuple_112 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_112)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 986; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_112);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_112));
-
-  /* "h5py/defs.pyx":995
- * cdef herr_t H5Pclose_class(hid_t id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pclose_class(id)
- *         if r<0:
- */
-  __pyx_k_tuple_113 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_113)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_113);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_113));
-
-  /* "h5py/defs.pyx":1004
- * cdef herr_t H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_version(plist, super_, freelist, stab, shhdr)
- *         if r<0:
- */
-  __pyx_k_tuple_114 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_114)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1004; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_114);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_114));
-
-  /* "h5py/defs.pyx":1013
- * cdef herr_t H5Pset_userblock(hid_t plist, hsize_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_userblock(plist, size)
- *         if r<0:
- */
-  __pyx_k_tuple_115 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_115)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1013; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_115);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_115));
-
-  /* "h5py/defs.pyx":1022
- * cdef herr_t H5Pget_userblock(hid_t plist, hsize_t * size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_userblock(plist, size)
- *         if r<0:
- */
-  __pyx_k_tuple_116 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_116)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_116);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_116));
-
-  /* "h5py/defs.pyx":1031
- * cdef herr_t H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:
- */
-  __pyx_k_tuple_117 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_117)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_117);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_117));
-
-  /* "h5py/defs.pyx":1040
- * cdef herr_t H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sizes(plist, sizeof_addr, sizeof_size)
- *         if r<0:
- */
-  __pyx_k_tuple_118 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_118)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1040; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_118);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_118));
-
-  /* "h5py/defs.pyx":1049
- * cdef herr_t H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sym_k(plist, ik, lk)
- *         if r<0:
- */
-  __pyx_k_tuple_119 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_119)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1049; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_119);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_119));
-
-  /* "h5py/defs.pyx":1058
- * cdef herr_t H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sym_k(plist, ik, lk)
- *         if r<0:
- */
-  __pyx_k_tuple_120 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_120)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1058; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_120);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_120));
-
-  /* "h5py/defs.pyx":1067
- * cdef herr_t H5Pset_istore_k(hid_t plist, unsigned int ik) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_istore_k(plist, ik)
- *         if r<0:
- */
-  __pyx_k_tuple_121 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_121)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_121);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_121));
-
-  /* "h5py/defs.pyx":1076
- * cdef herr_t H5Pget_istore_k(hid_t plist, unsigned int *ik) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_istore_k(plist, ik)
- *         if r<0:
- */
-  __pyx_k_tuple_122 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_122)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1076; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_122);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_122));
-
-  /* "h5py/defs.pyx":1085
- * cdef herr_t H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t fc_degree) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fclose_degree(fapl_id, fc_degree)
- *         if r<0:
- */
-  __pyx_k_tuple_123 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_123)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1085; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_123);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_123));
-
-  /* "h5py/defs.pyx":1094
- * cdef herr_t H5Pget_fclose_degree(hid_t fapl_id, H5F_close_degree_t *fc_degree) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fclose_degree(fapl_id, fc_degree)
- *         if r<0:
- */
-  __pyx_k_tuple_124 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_124)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1094; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_124);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_124));
-
-  /* "h5py/defs.pyx":1103
- * cdef herr_t H5Pset_fapl_core( hid_t fapl_id, size_t increment, hbool_t backing_store) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:
- */
-  __pyx_k_tuple_125 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_125)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_125);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_125));
-
-  /* "h5py/defs.pyx":1112
- * cdef herr_t H5Pget_fapl_core( hid_t fapl_id, size_t *increment, hbool_t *backing_store) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fapl_core(fapl_id, increment, backing_store)
- *         if r<0:
- */
-  __pyx_k_tuple_126 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_126)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_126);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_126));
-
-  /* "h5py/defs.pyx":1121
- * cdef herr_t H5Pset_fapl_family( hid_t fapl_id,  hsize_t memb_size, hid_t memb_fapl_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_127 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_127)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_127);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_127));
-
-  /* "h5py/defs.pyx":1130
- * cdef herr_t H5Pget_fapl_family( hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fapl_family(fapl_id, memb_size, memb_fapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_128 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_128)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_128);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_128));
-
-  /* "h5py/defs.pyx":1139
- * cdef herr_t H5Pset_family_offset( hid_t fapl_id, hsize_t offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_family_offset(fapl_id, offset)
- *         if r<0:
- */
-  __pyx_k_tuple_129 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_129)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_129);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_129));
-
-  /* "h5py/defs.pyx":1148
- * cdef herr_t H5Pget_family_offset( hid_t fapl_id, hsize_t *offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_family_offset(fapl_id, offset)
- *         if r<0:
- */
-  __pyx_k_tuple_130 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_130)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_130);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_130));
-
-  /* "h5py/defs.pyx":1157
- * cdef herr_t H5Pset_fapl_log(hid_t fapl_id, char *logfile, unsigned int flags, size_t buf_size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_log(fapl_id, logfile, flags, buf_size)
- *         if r<0:
- */
-  __pyx_k_tuple_131 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_131)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_131);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_131));
-
-  /* "h5py/defs.pyx":1166
- * cdef herr_t H5Pset_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map, hid_t *memb_fapl, char **memb_name, haddr_t *memb_addr, hbool_t relax) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax)
- *         if r<0:
- */
-  __pyx_k_tuple_132 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_132)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_132);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_132));
-
-  /* "h5py/defs.pyx":1175
- * cdef herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-  __pyx_k_tuple_133 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_133)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_133);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_133));
-
-  /* "h5py/defs.pyx":1184
- * cdef herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-  __pyx_k_tuple_134 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_134)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_134);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_134));
-
-  /* "h5py/defs.pyx":1193
- * cdef herr_t H5Pset_fapl_sec2(hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_sec2(fapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_135 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_135)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_135);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_135));
-
-  /* "h5py/defs.pyx":1202
- * cdef herr_t H5Pset_fapl_stdio(hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fapl_stdio(fapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_136 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_136)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_136);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_136));
-
-  /* "h5py/defs.pyx":1211
- * cdef hid_t H5Pget_driver(hid_t fapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_driver(fapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_137 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_137)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_137);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_137));
-
-  /* "h5py/defs.pyx":1220
- * cdef herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_mdc_config(plist_id, config_ptr)
- *         if r<0:
- */
-  __pyx_k_tuple_138 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_138)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_138);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_138));
-
-  /* "h5py/defs.pyx":1229
- * cdef herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_mdc_config(plist_id, config_ptr)
- *         if r<0:
- */
-  __pyx_k_tuple_139 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_139)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1229; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_139);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_139));
-
-  /* "h5py/defs.pyx":1238
- * cdef herr_t H5Pset_layout(hid_t plist, int layout) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_layout(plist, layout)
- *         if r<0:
- */
-  __pyx_k_tuple_140 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_140)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_140);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_140));
-
-  /* "h5py/defs.pyx":1247
- * cdef H5D_layout_t H5Pget_layout(hid_t plist) except *:
- *     cdef H5D_layout_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_layout(plist)
- *         if r<0:
- */
-  __pyx_k_tuple_141 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_141)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_141);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_141));
-
-  /* "h5py/defs.pyx":1256
- * cdef herr_t H5Pset_chunk(hid_t plist, int ndims, hsize_t * dim) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_chunk(plist, ndims, dim)
- *         if r<0:
- */
-  __pyx_k_tuple_142 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_142)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_142);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_142));
-
-  /* "h5py/defs.pyx":1265
- * cdef int H5Pget_chunk(hid_t plist, int max_ndims, hsize_t * dims ) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_chunk(plist, max_ndims, dims)
- *         if r<0:
- */
-  __pyx_k_tuple_143 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_143)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_143);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_143));
-
-  /* "h5py/defs.pyx":1274
- * cdef herr_t H5Pset_deflate( hid_t plist, int level) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_deflate(plist, level)
- *         if r<0:
- */
-  __pyx_k_tuple_144 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_144)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_144);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_144));
-
-  /* "h5py/defs.pyx":1283
- * cdef herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fill_value(plist_id, type_id, value)
- *         if r<0:
- */
-  __pyx_k_tuple_145 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_145)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_145);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_145));
-
-  /* "h5py/defs.pyx":1292
- * cdef herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fill_value(plist_id, type_id, value)
- *         if r<0:
- */
-  __pyx_k_tuple_146 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_146)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_146);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_146));
-
-  /* "h5py/defs.pyx":1301
- * cdef herr_t H5Pfill_value_defined(hid_t plist_id, H5D_fill_value_t *status ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pfill_value_defined(plist_id, status)
- *         if r<0:
- */
-  __pyx_k_tuple_147 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_147)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_147);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_147));
-
-  /* "h5py/defs.pyx":1310
- * cdef herr_t H5Pset_fill_time(hid_t plist_id, H5D_fill_time_t fill_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fill_time(plist_id, fill_time)
- *         if r<0:
- */
-  __pyx_k_tuple_148 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_148)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_148);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_148));
-
-  /* "h5py/defs.pyx":1319
- * cdef herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t *fill_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_fill_time(plist_id, fill_time)
- *         if r<0:
- */
-  __pyx_k_tuple_149 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_149)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_149);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_149));
-
-  /* "h5py/defs.pyx":1328
- * cdef herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t alloc_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_alloc_time(plist_id, alloc_time)
- *         if r<0:
- */
-  __pyx_k_tuple_150 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_150)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_150);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_150));
-
-  /* "h5py/defs.pyx":1337
- * cdef herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t *alloc_time ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_alloc_time(plist_id, alloc_time)
- *         if r<0:
- */
-  __pyx_k_tuple_151 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_151)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_151);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_151));
-
-  /* "h5py/defs.pyx":1346
- * cdef herr_t H5Pset_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int* cd_values ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:
- */
-  __pyx_k_tuple_152 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_152)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_152);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_152));
-
-  /* "h5py/defs.pyx":1355
- * cdef htri_t H5Pall_filters_avail(hid_t dcpl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pall_filters_avail(dcpl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_153 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_153)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_153);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_153));
-
-  /* "h5py/defs.pyx":1364
- * cdef int H5Pget_nfilters(hid_t plist) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_nfilters(plist)
- *         if r<0:
- */
-  __pyx_k_tuple_154 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_154)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_154);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_154));
-
-  /* "h5py/defs.pyx":1373
- * cdef H5Z_filter_t H5Pget_filter(hid_t plist, unsigned int filter_number,   unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name ) except *:
- *     cdef H5Z_filter_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_filter(plist, filter_number, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:
- */
-  __pyx_k_tuple_155 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_155)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1373; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_155);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_155));
-
-  /* "h5py/defs.pyx":1382
- * cdef herr_t H5Pget_filter_by_id( hid_t plist_id, H5Z_filter_t filter,  unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_filter_by_id(plist_id, filter, flags, cd_nelmts, cd_values, namelen, name)
- *         if r<0:
- */
-  __pyx_k_tuple_156 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_156)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1382; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_156);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_156));
-
-  /* "h5py/defs.pyx":1391
- * cdef herr_t H5Pmodify_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int *cd_values) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pmodify_filter(plist, filter, flags, cd_nelmts, cd_values)
- *         if r<0:
- */
-  __pyx_k_tuple_157 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_157)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_157);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_157));
-
-  /* "h5py/defs.pyx":1400
- * cdef herr_t H5Premove_filter(hid_t plist, H5Z_filter_t filter ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Premove_filter(plist, filter)
- *         if r<0:
- */
-  __pyx_k_tuple_158 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_158)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_158);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_158));
-
-  /* "h5py/defs.pyx":1409
- * cdef herr_t H5Pset_fletcher32(hid_t plist) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_fletcher32(plist)
- *         if r<0:
- */
-  __pyx_k_tuple_159 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_159)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1409; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_159);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_159));
-
-  /* "h5py/defs.pyx":1418
- * cdef herr_t H5Pset_shuffle(hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_shuffle(plist_id)
- *         if r<0:
- */
-  __pyx_k_tuple_160 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_160)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_160);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_160));
-
-  /* "h5py/defs.pyx":1427
- * cdef herr_t H5Pset_szip(hid_t plist, unsigned int options_mask, unsigned int pixels_per_block) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_szip(plist, options_mask, pixels_per_block)
- *         if r<0:
- */
-  __pyx_k_tuple_161 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_161)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_161);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_161));
-
-  /* "h5py/defs.pyx":1436
- * cdef herr_t H5Pset_scaleoffset(hid_t plist, H5Z_SO_scale_type_t scale_type, int scale_factor) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_scaleoffset(plist, scale_type, scale_factor)
- *         if r<0:
- */
-  __pyx_k_tuple_162 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_162)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1436; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_162);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_162));
-
-  /* "h5py/defs.pyx":1445
- * cdef herr_t H5Pset_edc_check(hid_t plist, H5Z_EDC_t check) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_edc_check(plist, check)
- *         if r<0:
- */
-  __pyx_k_tuple_163 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_163)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_163);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_163));
-
-  /* "h5py/defs.pyx":1454
- * cdef H5Z_EDC_t H5Pget_edc_check(hid_t plist) except *:
- *     cdef H5Z_EDC_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_edc_check(plist)
- *         if r<0:
- */
-  __pyx_k_tuple_164 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_164)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1454; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_164);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_164));
-
-  /* "h5py/defs.pyx":1463
- * cdef herr_t H5Pset_chunk_cache( hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0 ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-  __pyx_k_tuple_165 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_165)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_165);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_165));
-
-  /* "h5py/defs.pyx":1472
- * cdef herr_t H5Pget_chunk_cache( hid_t dapl_id, size_t *rdcc_nslots, size_t *rdcc_nbytes, double *rdcc_w0 ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- *         if r<0:
- */
-  __pyx_k_tuple_166 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_166)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1472; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_166);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_166));
-
-  /* "h5py/defs.pyx":1481
- * cdef herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_sieve_buf_size(fapl_id, size)
- *         if r<0:
- */
-  __pyx_k_tuple_167 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_167)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1481; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_167);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_167));
-
-  /* "h5py/defs.pyx":1490
- * cdef herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_sieve_buf_size(fapl_id, size)
- *         if r<0:
- */
-  __pyx_k_tuple_168 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_168)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_168);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_168));
-
-  /* "h5py/defs.pyx":1499
- * cdef herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_nlinks(plist_id, nlinks)
- *         if r<0:
- */
-  __pyx_k_tuple_169 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_169)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_169);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_169));
-
-  /* "h5py/defs.pyx":1508
- * cdef herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_nlinks(plist_id, nlinks)
- *         if r<0:
- */
-  __pyx_k_tuple_170 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_170)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_170);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_170));
-
-  /* "h5py/defs.pyx":1517
- * cdef herr_t H5Pset_elink_prefix(hid_t plist_id, char *prefix) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_elink_prefix(plist_id, prefix)
- *         if r<0:
- */
-  __pyx_k_tuple_171 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_171)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1517; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_171);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_171));
-
-  /* "h5py/defs.pyx":1526
- * cdef ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_elink_prefix(plist_id, prefix, size)
- *         if r<0:
- */
-  __pyx_k_tuple_172 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_172)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1526; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_172);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_172));
-
-  /* "h5py/defs.pyx":1535
- * cdef hid_t H5Pget_elink_fapl(hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_elink_fapl(lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_173 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_173)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_173);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_173));
-
-  /* "h5py/defs.pyx":1544
- * cdef herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_elink_fapl(lapl_id, fapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_174 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_174)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_174);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_174));
-
-  /* "h5py/defs.pyx":1553
- * cdef herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:
- */
-  __pyx_k_tuple_175 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_175)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1553; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_175);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_175));
-
-  /* "h5py/defs.pyx":1562
- * cdef herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_create_intermediate_group(plist_id, crt_intmd)
- *         if r<0:
- */
-  __pyx_k_tuple_176 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_176)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_176);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_176));
-
-  /* "h5py/defs.pyx":1571
- * cdef herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_copy_object(plist_id, crt_intmd)
- *         if r<0:
- */
-  __pyx_k_tuple_177 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_177)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1571; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_177);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_177));
-
-  /* "h5py/defs.pyx":1580
- * cdef herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_copy_object(plist_id, crt_intmd)
- *         if r<0:
- */
-  __pyx_k_tuple_178 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_178)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1580; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_178);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_178));
-
-  /* "h5py/defs.pyx":1589
- * cdef herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_char_encoding(plist_id, encoding)
- *         if r<0:
- */
-  __pyx_k_tuple_179 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_179)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_179);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_179));
-
-  /* "h5py/defs.pyx":1598
- * cdef herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_char_encoding(plist_id, encoding)
- *         if r<0:
- */
-  __pyx_k_tuple_180 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_180)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_180);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_180));
-
-  /* "h5py/defs.pyx":1607
- * cdef herr_t H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_obj_track_times(ocpl_id, track_times)
- *         if r<0:
- */
-  __pyx_k_tuple_181 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_181)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_181);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_181));
-
-  /* "h5py/defs.pyx":1616
- * cdef herr_t H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_obj_track_times(ocpl_id, track_times)
- *         if r<0:
- */
-  __pyx_k_tuple_182 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_182)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_182);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_182));
-
-  /* "h5py/defs.pyx":1625
- * cdef herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:
- */
-  __pyx_k_tuple_183 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_183)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1625; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_183);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_183));
-
-  /* "h5py/defs.pyx":1634
- * cdef herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_local_heap_size_hint(plist_id, size_hint)
- *         if r<0:
- */
-  __pyx_k_tuple_184 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_184)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1634; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_184);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_184));
-
-  /* "h5py/defs.pyx":1643
- * cdef herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:
- */
-  __pyx_k_tuple_185 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_185)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_185);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_185));
-
-  /* "h5py/defs.pyx":1652
- * cdef herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_link_phase_change(plist_id, max_compact, min_dense)
- *         if r<0:
- */
-  __pyx_k_tuple_186 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_186)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_186);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_186));
-
-  /* "h5py/defs.pyx":1661
- * cdef herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:
- */
-  __pyx_k_tuple_187 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_187)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_187);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_187));
-
-  /* "h5py/defs.pyx":1670
- * cdef herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_est_link_info(plist_id, est_num_entries, est_name_len)
- *         if r<0:
- */
-  __pyx_k_tuple_188 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_188)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_188);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_188));
-
-  /* "h5py/defs.pyx":1679
- * cdef herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:
- */
-  __pyx_k_tuple_189 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_189)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_189);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_189));
-
-  /* "h5py/defs.pyx":1688
- * cdef herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_link_creation_order(plist_id, crt_order_flags)
- *         if r<0:
- */
-  __pyx_k_tuple_190 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_190)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1688; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_190);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_190));
-
-  /* "h5py/defs.pyx":1697
- * cdef herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pset_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:
- */
-  __pyx_k_tuple_191 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_191)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1697; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_191);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_191));
-
-  /* "h5py/defs.pyx":1706
- * cdef herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Pget_libver_bounds(fapl_id, libver_low, libver_high)
- *         if r<0:
- */
-  __pyx_k_tuple_192 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_192)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1706; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_192);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_192));
-
-  /* "h5py/defs.pyx":1715
- * cdef herr_t H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rcreate(ref, loc_id, name, ref_type, space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_193 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_193)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_193);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_193));
-
-  /* "h5py/defs.pyx":1724
- * cdef hid_t H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rdereference(obj_id, ref_type, ref)
- *         if r<0:
- */
-  __pyx_k_tuple_194 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_194)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_194);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_194));
-
-  /* "h5py/defs.pyx":1733
- * cdef hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_region(dataset, ref_type, ref)
- *         if r<0:
- */
-  __pyx_k_tuple_195 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_195)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_195);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_195));
-
-  /* "h5py/defs.pyx":1742
- * cdef H5G_obj_t H5Rget_obj_type(hid_t id, H5R_type_t ref_type, void *ref) except *:
- *     cdef H5G_obj_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_obj_type(id, ref_type, ref)
- *         if r<0:
- */
-  __pyx_k_tuple_196 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_196)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_196);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_196));
-
-  /* "h5py/defs.pyx":1751
- * cdef ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Rget_name(loc_id, ref_type, ref, name, size)
- *         if r<0:
- */
-  __pyx_k_tuple_197 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_197)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1751; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_197);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_197));
-
-  /* "h5py/defs.pyx":1760
- * cdef hid_t H5Screate(H5S_class_t type) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Screate(type)
- *         if r<0:
- */
-  __pyx_k_tuple_198 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_198)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_198);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_198));
-
-  /* "h5py/defs.pyx":1769
- * cdef hid_t H5Scopy(hid_t space_id ) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Scopy(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_199 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_199)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_199);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_199));
-
-  /* "h5py/defs.pyx":1778
- * cdef herr_t H5Sclose(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sclose(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_200 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_200)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_200);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_200));
-
-  /* "h5py/defs.pyx":1787
- * cdef hid_t H5Screate_simple(int rank, hsize_t *dims, hsize_t *maxdims) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Screate_simple(rank, dims, maxdims)
- *         if r<0:
- */
-  __pyx_k_tuple_201 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_201)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_201);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_201));
-
-  /* "h5py/defs.pyx":1796
- * cdef htri_t H5Sis_simple(hid_t space_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sis_simple(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_202 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_202)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_202);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_202));
-
-  /* "h5py/defs.pyx":1805
- * cdef herr_t H5Soffset_simple(hid_t space_id, hssize_t *offset ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Soffset_simple(space_id, offset)
- *         if r<0:
- */
-  __pyx_k_tuple_203 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_203)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_203);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_203));
-
-  /* "h5py/defs.pyx":1814
- * cdef int H5Sget_simple_extent_ndims(hid_t space_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_ndims(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_204 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_204)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_204);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_204));
-
-  /* "h5py/defs.pyx":1823
- * cdef int H5Sget_simple_extent_dims(hid_t space_id, hsize_t *dims, hsize_t *maxdims) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_dims(space_id, dims, maxdims)
- *         if r<0:
- */
-  __pyx_k_tuple_205 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_205)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_205);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_205));
-
-  /* "h5py/defs.pyx":1832
- * cdef hssize_t H5Sget_simple_extent_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_npoints(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_206 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_206)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_206);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_206));
-
-  /* "h5py/defs.pyx":1841
- * cdef H5S_class_t H5Sget_simple_extent_type(hid_t space_id) except *:
- *     cdef H5S_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_simple_extent_type(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_207 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_207)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_207);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_207));
-
-  /* "h5py/defs.pyx":1850
- * cdef herr_t H5Sextent_copy(hid_t dest_space_id, hid_t source_space_id ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sextent_copy(dest_space_id, source_space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_208 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_208)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_208);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_208));
-
-  /* "h5py/defs.pyx":1859
- * cdef herr_t H5Sset_extent_simple(hid_t space_id, int rank, hsize_t *current_size, hsize_t *maximum_size ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sset_extent_simple(space_id, rank, current_size, maximum_size)
- *         if r<0:
- */
-  __pyx_k_tuple_209 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_209)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_209);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_209));
-
-  /* "h5py/defs.pyx":1868
- * cdef herr_t H5Sset_extent_none(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sset_extent_none(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_210 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_210)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_210);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_210));
-
-  /* "h5py/defs.pyx":1877
- * cdef H5S_sel_type H5Sget_select_type(hid_t space_id) except *:
- *     cdef H5S_sel_type r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_type(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_211 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_211)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_211);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_211));
-
-  /* "h5py/defs.pyx":1886
- * cdef hssize_t H5Sget_select_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_npoints(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_212 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_212)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_212);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_212));
-
-  /* "h5py/defs.pyx":1895
- * cdef herr_t H5Sget_select_bounds(hid_t space_id, hsize_t *start, hsize_t *end) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_bounds(space_id, start, end)
- *         if r<0:
- */
-  __pyx_k_tuple_213 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_213)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_213);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_213));
-
-  /* "h5py/defs.pyx":1904
- * cdef herr_t H5Sselect_all(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_all(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_214 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_214)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_214);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_214));
-
-  /* "h5py/defs.pyx":1913
- * cdef herr_t H5Sselect_none(hid_t space_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_none(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_215 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_215)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1913; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_215);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_215));
-
-  /* "h5py/defs.pyx":1922
- * cdef htri_t H5Sselect_valid(hid_t space_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_valid(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_216 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_216)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1922; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_216);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_216));
-
-  /* "h5py/defs.pyx":1931
- * cdef hssize_t H5Sget_select_elem_npoints(hid_t space_id) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_elem_npoints(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_217 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_217)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_217);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_217));
-
-  /* "h5py/defs.pyx":1940
- * cdef herr_t H5Sget_select_elem_pointlist(hid_t space_id, hsize_t startpoint,  hsize_t numpoints, hsize_t *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_elem_pointlist(space_id, startpoint, numpoints, buf)
- *         if r<0:
- */
-  __pyx_k_tuple_218 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_218)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1940; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_218);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_218));
-
-  /* "h5py/defs.pyx":1949
- * cdef herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op,  size_t num_elements, hsize_t **coord) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_elements(space_id, op, num_elements, coord)
- *         if r<0:
- */
-  __pyx_k_tuple_219 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_219)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_219);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_219));
-
-  /* "h5py/defs.pyx":1958
- * cdef hssize_t H5Sget_select_hyper_nblocks(hid_t space_id ) except *:
- *     cdef hssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_hyper_nblocks(space_id)
- *         if r<0:
- */
-  __pyx_k_tuple_220 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_220)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_220);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_220));
-
-  /* "h5py/defs.pyx":1967
- * cdef herr_t H5Sget_select_hyper_blocklist(hid_t space_id,  hsize_t startblock, hsize_t numblocks, hsize_t *buf ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sget_select_hyper_blocklist(space_id, startblock, numblocks, buf)
- *         if r<0:
- */
-  __pyx_k_tuple_221 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_221)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1967; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_221);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_221));
-
-  /* "h5py/defs.pyx":1976
- * cdef herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sselect_hyperslab(space_id, op, start, _stride, count, _block)
- *         if r<0:
- */
-  __pyx_k_tuple_222 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_222)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1976; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_222);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_222));
-
-  /* "h5py/defs.pyx":1985
- * cdef herr_t H5Sencode(hid_t obj_id, void *buf, size_t *nalloc) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sencode(obj_id, buf, nalloc)
- *         if r<0:
- */
-  __pyx_k_tuple_223 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_223)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_223);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_223));
-
-  /* "h5py/defs.pyx":1994
- * cdef hid_t H5Sdecode(void *buf) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Sdecode(buf)
- *         if r<0:
- */
-  __pyx_k_tuple_224 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_224)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1994; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_224);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_224));
-
-  /* "h5py/defs.pyx":2003
- * cdef hid_t H5Tcreate(H5T_class_t type, size_t size) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcreate(type, size)
- *         if r<0:
- */
-  __pyx_k_tuple_225 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_225)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_225);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_225));
-
-  /* "h5py/defs.pyx":2012
- * cdef hid_t H5Topen(hid_t loc, char* name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Topen(loc, name)
- *         if r<0:
- */
-  __pyx_k_tuple_226 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_226)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2012; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_226);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_226));
-
-  /* "h5py/defs.pyx":2021
- * cdef herr_t H5Tcommit(hid_t loc_id, char* name, hid_t type) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommit(loc_id, name, type)
- *         if r<0:
- */
-  __pyx_k_tuple_227 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_227)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2021; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_227);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_227));
-
-  /* "h5py/defs.pyx":2030
- * cdef htri_t H5Tcommitted(hid_t type) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommitted(type)
- *         if r<0:
- */
-  __pyx_k_tuple_228 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_228)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_228);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_228));
-
-  /* "h5py/defs.pyx":2039
- * cdef hid_t H5Tcopy(hid_t type_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcopy(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_229 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_229)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2039; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_229);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_229));
-
-  /* "h5py/defs.pyx":2048
- * cdef htri_t H5Tequal(hid_t type_id1, hid_t type_id2 ) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tequal(type_id1, type_id2)
- *         if r<0:
- */
-  __pyx_k_tuple_230 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_230)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_230);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_230));
-
-  /* "h5py/defs.pyx":2057
- * cdef herr_t H5Tlock(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tlock(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_231 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_231)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2057; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_231);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_231));
-
-  /* "h5py/defs.pyx":2066
- * cdef H5T_class_t H5Tget_class(hid_t type_id) except *:
- *     cdef H5T_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_class(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_232 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_232)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2066; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_232);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_232));
-
-  /* "h5py/defs.pyx":2075
- * cdef size_t H5Tget_size(hid_t type_id) except *:
- *     cdef size_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_size(type_id)
- *         if r==0:
- */
-  __pyx_k_tuple_233 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_233)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2075; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_233);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_233));
-
-  /* "h5py/defs.pyx":2084
- * cdef hid_t H5Tget_super(hid_t type) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_super(type)
- *         if r<0:
- */
-  __pyx_k_tuple_234 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_234)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2084; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_234);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_234));
-
-  /* "h5py/defs.pyx":2093
- * cdef htri_t H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tdetect_class(type_id, dtype_class)
- *         if r<0:
- */
-  __pyx_k_tuple_235 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_235)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2093; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_235);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_235));
-
-  /* "h5py/defs.pyx":2102
- * cdef herr_t H5Tclose(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tclose(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_236 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_236)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_236);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_236));
-
-  /* "h5py/defs.pyx":2111
- * cdef hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_native_type(type_id, direction)
- *         if r<0:
- */
-  __pyx_k_tuple_237 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_237)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_237);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_237));
-
-  /* "h5py/defs.pyx":2120
- * cdef herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tconvert(src_id, dst_id, nelmts, buf, background, plist_id)
- *         if r<0:
- */
-  __pyx_k_tuple_238 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_238)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_238);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_238));
-
-  /* "h5py/defs.pyx":2129
- * cdef herr_t H5Tset_size(hid_t type_id, size_t size) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_size(type_id, size)
- *         if r<0:
- */
-  __pyx_k_tuple_239 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_239)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_239);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_239));
-
-  /* "h5py/defs.pyx":2138
- * cdef H5T_order_t H5Tget_order(hid_t type_id) except *:
- *     cdef H5T_order_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_order(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_240 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_240)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_240);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_240));
-
-  /* "h5py/defs.pyx":2147
- * cdef herr_t H5Tset_order(hid_t type_id, H5T_order_t order) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_order(type_id, order)
- *         if r<0:
- */
-  __pyx_k_tuple_241 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_241)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_241);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_241));
-
-  /* "h5py/defs.pyx":2156
- * cdef hsize_t H5Tget_precision(hid_t type_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_precision(type_id)
- *         if r==0:
- */
-  __pyx_k_tuple_242 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_242)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_242);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_242));
-
-  /* "h5py/defs.pyx":2165
- * cdef herr_t H5Tset_precision(hid_t type_id, size_t prec) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_precision(type_id, prec)
- *         if r<0:
- */
-  __pyx_k_tuple_243 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_243)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_243);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_243));
-
-  /* "h5py/defs.pyx":2174
- * cdef int H5Tget_offset(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_offset(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_244 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_244)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_244);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_244));
-
-  /* "h5py/defs.pyx":2183
- * cdef herr_t H5Tset_offset(hid_t type_id, size_t offset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_offset(type_id, offset)
- *         if r<0:
- */
-  __pyx_k_tuple_245 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_245)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_245);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_245));
-
-  /* "h5py/defs.pyx":2192
- * cdef herr_t H5Tget_pad(hid_t type_id, H5T_pad_t * lsb, H5T_pad_t * msb ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_pad(type_id, lsb, msb)
- *         if r<0:
- */
-  __pyx_k_tuple_246 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_246)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_246);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_246));
-
-  /* "h5py/defs.pyx":2201
- * cdef herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_pad(type_id, lsb, msb)
- *         if r<0:
- */
-  __pyx_k_tuple_247 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_247)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_247);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_247));
-
-  /* "h5py/defs.pyx":2210
- * cdef H5T_sign_t H5Tget_sign(hid_t type_id) except *:
- *     cdef H5T_sign_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_sign(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_248 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_248)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_248);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_248));
-
-  /* "h5py/defs.pyx":2219
- * cdef herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_sign(type_id, sign)
- *         if r<0:
- */
-  __pyx_k_tuple_249 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_249)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_249);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_249));
-
-  /* "h5py/defs.pyx":2228
- * cdef herr_t H5Tget_fields(hid_t type_id, size_t *spos, size_t *epos, size_t *esize, size_t *mpos, size_t *msize ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:
- */
-  __pyx_k_tuple_250 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_250)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_250);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_250));
-
-  /* "h5py/defs.pyx":2237
- * cdef herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_fields(type_id, spos, epos, esize, mpos, msize)
- *         if r<0:
- */
-  __pyx_k_tuple_251 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_251)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_251);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_251));
-
-  /* "h5py/defs.pyx":2246
- * cdef size_t H5Tget_ebias(hid_t type_id) except *:
- *     cdef size_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_ebias(type_id)
- *         if r==0:
- */
-  __pyx_k_tuple_252 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_252)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_252);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_252));
-
-  /* "h5py/defs.pyx":2255
- * cdef herr_t H5Tset_ebias(hid_t type_id, size_t ebias) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_ebias(type_id, ebias)
- *         if r<0:
- */
-  __pyx_k_tuple_253 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_253)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2255; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_253);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_253));
-
-  /* "h5py/defs.pyx":2264
- * cdef H5T_norm_t H5Tget_norm(hid_t type_id) except *:
- *     cdef H5T_norm_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_norm(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_254 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_254)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2264; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_254);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_254));
-
-  /* "h5py/defs.pyx":2273
- * cdef herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_norm(type_id, norm)
- *         if r<0:
- */
-  __pyx_k_tuple_255 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_255)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_255);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_255));
-
-  /* "h5py/defs.pyx":2282
- * cdef H5T_pad_t H5Tget_inpad(hid_t type_id) except *:
- *     cdef H5T_pad_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_inpad(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_256 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_256)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_256);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_256));
-
-  /* "h5py/defs.pyx":2291
- * cdef herr_t H5Tset_inpad(hid_t type_id, H5T_pad_t inpad) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_inpad(type_id, inpad)
- *         if r<0:
- */
-  __pyx_k_tuple_257 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_257)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_257);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_257));
-
-  /* "h5py/defs.pyx":2300
- * cdef H5T_cset_t H5Tget_cset(hid_t type_id) except *:
- *     cdef H5T_cset_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_cset(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_258 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_258)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_258);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_258));
-
-  /* "h5py/defs.pyx":2309
- * cdef herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_cset(type_id, cset)
- *         if r<0:
- */
-  __pyx_k_tuple_259 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_259)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_259);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_259));
-
-  /* "h5py/defs.pyx":2318
- * cdef H5T_str_t H5Tget_strpad(hid_t type_id) except *:
- *     cdef H5T_str_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_strpad(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_260 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_260)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_260);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_260));
-
-  /* "h5py/defs.pyx":2327
- * cdef herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_strpad(type_id, strpad)
- *         if r<0:
- */
-  __pyx_k_tuple_261 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_261)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_261);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_261));
-
-  /* "h5py/defs.pyx":2336
- * cdef hid_t H5Tvlen_create(hid_t base_type_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tvlen_create(base_type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_262 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_262)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2336; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_262);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_262));
-
-  /* "h5py/defs.pyx":2345
- * cdef htri_t H5Tis_variable_str(hid_t dtype_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tis_variable_str(dtype_id)
- *         if r<0:
- */
-  __pyx_k_tuple_263 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_263)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_263);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_263));
-
-  /* "h5py/defs.pyx":2354
- * cdef int H5Tget_nmembers(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_nmembers(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_264 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_264)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_264);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_264));
-
-  /* "h5py/defs.pyx":2363
- * cdef H5T_class_t H5Tget_member_class(hid_t type_id, int member_no) except *:
- *     cdef H5T_class_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_class(type_id, member_no)
- *         if r<0:
- */
-  __pyx_k_tuple_265 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_265)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_265);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_265));
-
-  /* "h5py/defs.pyx":2372
- * cdef char* H5Tget_member_name(hid_t type_id, unsigned membno) except *:
- *     cdef char* r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_name(type_id, membno)
- *         if r==NULL:
- */
-  __pyx_k_tuple_266 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_266)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_266);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_266));
-
-  /* "h5py/defs.pyx":2381
- * cdef hid_t H5Tget_member_type(hid_t type_id, unsigned membno) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_type(type_id, membno)
- *         if r<0:
- */
-  __pyx_k_tuple_267 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_267)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2381; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_267);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_267));
-
-  /* "h5py/defs.pyx":2390
- * cdef int H5Tget_member_offset(hid_t type_id, int membno) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_offset(type_id, membno)
- *         if r<0:
- */
-  __pyx_k_tuple_268 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_268)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2390; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_268);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_268));
-
-  /* "h5py/defs.pyx":2399
- * cdef int H5Tget_member_index(hid_t type_id, char* name) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_index(type_id, name)
- *         if r<0:
- */
-  __pyx_k_tuple_269 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_269)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_269);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_269));
-
-  /* "h5py/defs.pyx":2408
- * cdef herr_t H5Tinsert(hid_t parent_id, char *name, size_t offset, hid_t member_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tinsert(parent_id, name, offset, member_id)
- *         if r<0:
- */
-  __pyx_k_tuple_270 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_270)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_270);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_270));
-
-  /* "h5py/defs.pyx":2417
- * cdef herr_t H5Tpack(hid_t type_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tpack(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_271 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_271)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_271);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_271));
-
-  /* "h5py/defs.pyx":2426
- * cdef hid_t H5Tenum_create(hid_t base_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_create(base_id)
- *         if r<0:
- */
-  __pyx_k_tuple_272 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_272)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_272);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_272));
-
-  /* "h5py/defs.pyx":2435
- * cdef herr_t H5Tenum_insert(hid_t type, char *name, void *value) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_insert(type, name, value)
- *         if r<0:
- */
-  __pyx_k_tuple_273 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_273)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_273);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_273));
-
-  /* "h5py/defs.pyx":2444
- * cdef herr_t H5Tenum_nameof( hid_t type, void *value, char *name, size_t size ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_nameof(type, value, name, size)
- *         if r<0:
- */
-  __pyx_k_tuple_274 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_274)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2444; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_274);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_274));
-
-  /* "h5py/defs.pyx":2453
- * cdef herr_t H5Tenum_valueof( hid_t type, char *name, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tenum_valueof(type, name, value)
- *         if r<0:
- */
-  __pyx_k_tuple_275 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_275)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_275);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_275));
-
-  /* "h5py/defs.pyx":2462
- * cdef herr_t H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_member_value(type, memb_no, value)
- *         if r<0:
- */
-  __pyx_k_tuple_276 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_276)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2462; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_276);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_276));
-
-  /* "h5py/defs.pyx":2471
- * cdef hid_t H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tarray_create(base_id, ndims, dims, perm)
- *         if r<0:
- */
-  __pyx_k_tuple_277 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_277)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2471; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_277);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_277));
-
-  /* "h5py/defs.pyx":2480
- * cdef int H5Tget_array_ndims(hid_t type_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_array_ndims(type_id)
- *         if r<0:
- */
-  __pyx_k_tuple_278 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_278)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_278);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_278));
-
-  /* "h5py/defs.pyx":2489
- * cdef int H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_array_dims(type_id, dims, perm)
- *         if r<0:
- */
-  __pyx_k_tuple_279 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_279)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2489; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_279);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_279));
-
-  /* "h5py/defs.pyx":2498
- * cdef herr_t H5Tset_tag(hid_t type_id, char* tag) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tset_tag(type_id, tag)
- *         if r<0:
- */
-  __pyx_k_tuple_280 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_280)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_280);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_280));
-
-  /* "h5py/defs.pyx":2507
- * cdef char* H5Tget_tag(hid_t type_id) except *:
- *     cdef char* r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tget_tag(type_id)
- *         if r==NULL:
- */
-  __pyx_k_tuple_281 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_281)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_281);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_281));
-
-  /* "h5py/defs.pyx":2516
- * cdef hid_t H5Tdecode(unsigned char *buf) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tdecode(buf)
- *         if r<0:
- */
-  __pyx_k_tuple_282 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_282)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_282);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_282));
-
-  /* "h5py/defs.pyx":2525
- * cdef herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tencode(obj_id, buf, nalloc)
- *         if r<0:
- */
-  __pyx_k_tuple_283 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_283)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2525; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_283);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_283));
-
-  /* "h5py/defs.pyx":2534
- * cdef herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tcommit2(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_284 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_284)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2534; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_284);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_284));
-
-  /* "h5py/defs.pyx":2543
- * cdef H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *:
- *     cdef H5T_conv_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tfind(src_id, dst_id, pcdata)
- *         if r==NULL:
- */
-  __pyx_k_tuple_285 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_285)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_285);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_285));
-
-  /* "h5py/defs.pyx":2552
- * cdef herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tregister(pers, name, src_id, dst_id, func)
- *         if r<0:
- */
-  __pyx_k_tuple_286 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_286)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_286);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_286));
-
-  /* "h5py/defs.pyx":2561
- * cdef herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Tunregister(pers, name, src_id, dst_id, func)
- *         if r<0:
- */
-  __pyx_k_tuple_287 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_287)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2561; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_287);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_287));
-
-  /* "h5py/defs.pyx":2570
- * cdef htri_t H5Zfilter_avail(H5Z_filter_t id_) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Zfilter_avail(id_)
- *         if r<0:
- */
-  __pyx_k_tuple_288 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_288)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_288);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_288));
-
-  /* "h5py/defs.pyx":2579
- * cdef herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Zget_filter_info(filter_, filter_config_flags)
- *         if r<0:
- */
-  __pyx_k_tuple_289 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_289)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2579; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_289);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_289));
-
-  /* "h5py/defs.pyx":2588
- * cdef hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Acreate(loc_id, name, type_id, space_id, create_plist)
- *         if r<0:
- */
-  __pyx_k_tuple_290 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_290)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2588; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_290);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_290));
-
-  /* "h5py/defs.pyx":2597
- * cdef hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_idx(loc_id, idx)
- *         if r<0:
- */
-  __pyx_k_tuple_291 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_291)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_291);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_291));
-
-  /* "h5py/defs.pyx":2606
- * cdef hid_t H5Aopen_name(hid_t loc_id, char *name) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_name(loc_id, name)
- *         if r<0:
- */
-  __pyx_k_tuple_292 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_292)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2606; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_292);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_292));
-
-  /* "h5py/defs.pyx":2615
- * cdef herr_t H5Aclose(hid_t attr_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aclose(attr_id)
- *         if r<0:
- */
-  __pyx_k_tuple_293 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_293)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_293);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_293));
-
-  /* "h5py/defs.pyx":2624
- * cdef herr_t H5Adelete(hid_t loc_id, char *name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete(loc_id, name)
- *         if r<0:
- */
-  __pyx_k_tuple_294 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_294)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_294);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_294));
-
-  /* "h5py/defs.pyx":2633
- * cdef herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aread(attr_id, mem_type_id, buf)
- *         if r<0:
- */
-  __pyx_k_tuple_295 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_295)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2633; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_295);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_295));
-
-  /* "h5py/defs.pyx":2642
- * cdef herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Awrite(attr_id, mem_type_id, buf)
- *         if r<0:
- */
-  __pyx_k_tuple_296 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_296)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2642; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_296);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_296));
-
-  /* "h5py/defs.pyx":2651
- * cdef int H5Aget_num_attrs(hid_t loc_id) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_num_attrs(loc_id)
- *         if r<0:
- */
-  __pyx_k_tuple_297 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_297)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_297);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_297));
-
-  /* "h5py/defs.pyx":2660
- * cdef ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_name(attr_id, buf_size, buf)
- *         if r<0:
- */
-  __pyx_k_tuple_298 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_298)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_298);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_298));
-
-  /* "h5py/defs.pyx":2669
- * cdef hid_t H5Aget_space(hid_t attr_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_space(attr_id)
- *         if r<0:
- */
-  __pyx_k_tuple_299 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_299)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2669; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_299);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_299));
-
-  /* "h5py/defs.pyx":2678
- * cdef hid_t H5Aget_type(hid_t attr_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_type(attr_id)
- *         if r<0:
- */
-  __pyx_k_tuple_300 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_300)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2678; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_300);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_300));
-
-  /* "h5py/defs.pyx":2687
- * cdef herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aiterate(loc_id, idx, op, op_data)
- *         if r<0:
- */
-  __pyx_k_tuple_301 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_301)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_301);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_301));
-
-  /* "h5py/defs.pyx":2696
- * cdef herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_302 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_302)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_302);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_302));
-
-  /* "h5py/defs.pyx":2705
- * cdef herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Adelete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_303 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_303)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_303);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_303));
-
-  /* "h5py/defs.pyx":2714
- * cdef hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef hid_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Acreate_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_304 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_304)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_304);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_304));
-
-  /* "h5py/defs.pyx":2723
- * cdef herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen(obj_id, attr_name, aapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_305 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_305)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2723; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_305);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_305));
-
-  /* "h5py/defs.pyx":2732
- * cdef herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_by_name(loc_id, obj_name, attr_name, aapl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_306 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_306)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_306);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_306));
-
-  /* "h5py/defs.pyx":2741
- * cdef herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aopen_by_idx(loc_id, obj_name, idx_type, order, n, aapl_id, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_307 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_307)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_307);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_307));
-
-  /* "h5py/defs.pyx":2750
- * cdef htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aexists_by_name(loc_id, obj_name, attr_name, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_308 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_308)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2750; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_308);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_308));
-
-  /* "h5py/defs.pyx":2759
- * cdef htri_t H5Aexists(hid_t obj_id, char *attr_name) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aexists(obj_id, attr_name)
- *         if r<0:
- */
-  __pyx_k_tuple_309 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_309)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_309);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_309));
-
-  /* "h5py/defs.pyx":2768
- * cdef herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Arename(loc_id, old_attr_name, new_attr_name)
- *         if r<0:
- */
-  __pyx_k_tuple_310 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_310)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_310);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_310));
-
-  /* "h5py/defs.pyx":2777
- * cdef herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Arename_by_name(loc_id, obj_name, old_attr_name, new_attr_name, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_311 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_311)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_311);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_311));
-
-  /* "h5py/defs.pyx":2786
- * cdef herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info(attr_id, ainfo)
- *         if r<0:
- */
-  __pyx_k_tuple_312 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_312)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_312);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_312));
-
-  /* "h5py/defs.pyx":2795
- * cdef herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info_by_name(loc_id, obj_name, attr_name, ainfo, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_313 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_313)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_313);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_313));
-
-  /* "h5py/defs.pyx":2804
- * cdef herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_info_by_idx(loc_id, obj_name, idx_type, order, n, ainfo, lapl_id)
- *         if r<0:
- */
-  __pyx_k_tuple_314 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_314)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_314);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_314));
-
-  /* "h5py/defs.pyx":2813
- * cdef herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aiterate2(obj_id, idx_type, order, n, op, op_data)
- *         if r<0:
- */
-  __pyx_k_tuple_315 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_315)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_315);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_315));
-
-  /* "h5py/defs.pyx":2822
- * cdef hsize_t H5Aget_storage_size(hid_t attr_id) except *:
- *     cdef hsize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5Aget_storage_size(attr_id)
- *         if r==0:
- */
-  __pyx_k_tuple_316 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_316)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_316);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_316));
-
-  /* "h5py/defs.pyx":2873
- * cdef herr_t H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSattach_scale(did, dsid, idx)
- *         if r<0:
- */
-  __pyx_k_tuple_317 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_317)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_317);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_317));
-
-  /* "h5py/defs.pyx":2882
- * cdef herr_t H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSdetach_scale(did, dsid, idx)
- *         if r<0:
- */
-  __pyx_k_tuple_318 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_318)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_318);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_318));
-
-  /* "h5py/defs.pyx":2891
- * cdef herr_t H5DSset_scale(hid_t dsid, char *dimname) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSset_scale(dsid, dimname)
- *         if r<0:
- */
-  __pyx_k_tuple_319 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_319)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_319);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_319));
-
-  /* "h5py/defs.pyx":2900
- * cdef int H5DSget_num_scales(hid_t did, unsigned int dim) except *:
- *     cdef int r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_num_scales(did, dim)
- *         if r<0:
- */
-  __pyx_k_tuple_320 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_320)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2900; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_320);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_320));
-
-  /* "h5py/defs.pyx":2909
- * cdef herr_t H5DSset_label(hid_t did, unsigned int idx, char *label) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSset_label(did, idx, label)
- *         if r<0:
- */
-  __pyx_k_tuple_321 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_321)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2909; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_321);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_321));
-
-  /* "h5py/defs.pyx":2918
- * cdef ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_label(did, idx, label, size)
- *         if r<0:
- */
-  __pyx_k_tuple_322 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_322)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_322);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_322));
-
-  /* "h5py/defs.pyx":2927
- * cdef ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size) except *:
- *     cdef ssize_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSget_scale_name(did, name, size)
- *         if r<0:
- */
-  __pyx_k_tuple_323 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_323)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2927; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_323);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_323));
-
-  /* "h5py/defs.pyx":2936
- * cdef htri_t H5DSis_scale(hid_t did) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSis_scale(did)
- *         if r<0:
- */
-  __pyx_k_tuple_324 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_324)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2936; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_324);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_324));
-
-  /* "h5py/defs.pyx":2945
- * cdef herr_t H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data) except *:
- *     cdef herr_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSiterate_scales(did, dim, idx, visitor, visitor_data)
- *         if r<0:
- */
-  __pyx_k_tuple_325 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_325)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2945; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_325);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_325));
-
-  /* "h5py/defs.pyx":2954
- * cdef htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *:
- *     cdef htri_t r
- *     with rlock:             # <<<<<<<<<<<<<<
- *         r = _hdf5.H5DSis_attached(did, dsid, idx)
- *         if r<0:
- */
-  __pyx_k_tuple_326 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_326)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 2954; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_326);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_326));
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC initdefs(void); /*proto*/
-PyMODINIT_FUNC initdefs(void)
-#else
-PyMODINIT_FUNC PyInit_defs(void); /*proto*/
-PyMODINIT_FUNC PyInit_defs(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_defs(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("defs"), __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.defs")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.defs", __pyx_m) < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__defs) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("H5open", (void (*)(void))__pyx_f_4h5py_4defs_H5open, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5close", (void (*)(void))__pyx_f_4h5py_4defs_H5close, "herr_t (void)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5get_libversion", (void (*)(void))__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dcreate2", (void (*)(void))__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dcreate_anon", (void (*)(void))__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dopen", (void (*)(void))__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dclose", (void (*)(void))__pyx_f_4h5py_4defs_H5Dclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dget_space", (void (*)(void))__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dget_space_status", (void (*)(void))__pyx_f_4h5py_4defs_H5Dget_space_status, "herr_t (hid_t, H5D_space_status_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dget_type", (void (*)(void))__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dget_create_plist", (void (*)(void))__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dget_offset", (void (*)(void))__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dget_storage_size", (void (*)(void))__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dread", (void (*)(void))__pyx_f_4h5py_4defs_H5Dread, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dwrite", (void (*)(void))__pyx_f_4h5py_4defs_H5Dwrite, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dextend", (void (*)(void))__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dfill", (void (*)(void))__pyx_f_4h5py_4defs_H5Dfill, "herr_t (void *, hid_t, void *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dvlen_get_buf_size", (void (*)(void))__pyx_f_4h5py_4defs_H5Dvlen_get_buf_size, "herr_t (hid_t, hid_t, hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dvlen_reclaim", (void (*)(void))__pyx_f_4h5py_4defs_H5Dvlen_reclaim, "herr_t (hid_t, hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Diterate", (void (*)(void))__pyx_f_4h5py_4defs_H5Diterate, "herr_t (void *, hid_t, hid_t, H5D_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Dset_extent", (void (*)(void))__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fcreate", (void (*)(void))__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fopen", (void (*)(void))__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fclose", (void (*)(void))__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fis_hdf5", (void (*)(void))__pyx_f_4h5py_4defs_H5Fis_hdf5, "htri_t (char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fflush", (void (*)(void))__pyx_f_4h5py_4defs_H5Fflush, "herr_t (hid_t, enum H5F_scope_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Freopen", (void (*)(void))__pyx_f_4h5py_4defs_H5Freopen, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fmount", (void (*)(void))__pyx_f_4h5py_4defs_H5Fmount, "herr_t (hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Funmount", (void (*)(void))__pyx_f_4h5py_4defs_H5Funmount, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_filesize", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_filesize, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_create_plist", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_access_plist", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_access_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_freespace", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_freespace, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_obj_count", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_obj_ids", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_vfd_handle", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_vfd_handle, "herr_t (hid_t, hid_t, void **)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_intent", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_mdc_config", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_mdc_hit_rate", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_mdc_hit_rate, "herr_t (hid_t, double *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fget_mdc_size", (void (*)(void))__pyx_f_4h5py_4defs_H5Fget_mdc_size, "herr_t (hid_t, size_t *, size_t *, size_t *, int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Freset_mdc_hit_rate_stats", (void (*)(void))__pyx_f_4h5py_4defs_H5Freset_mdc_hit_rate_stats, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Fset_mdc_config", (void (*)(void))__pyx_f_4h5py_4defs_H5Fset_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gcreate", (void (*)(void))__pyx_f_4h5py_4defs_H5Gcreate, "hid_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gopen", (void (*)(void))__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gclose", (void (*)(void))__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Glink2", (void (*)(void))__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gunlink", (void (*)(void))__pyx_f_4h5py_4defs_H5Gunlink, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gmove2", (void (*)(void))__pyx_f_4h5py_4defs_H5Gmove2, "herr_t (hid_t, char *, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_num_objs", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_num_objs, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_objname_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_objname_by_idx, "int (hid_t, hsize_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_objtype_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx, "int (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Giterate", (void (*)(void))__pyx_f_4h5py_4defs_H5Giterate, "herr_t (hid_t, char *, int *, H5G_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_objinfo", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_linkval", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_linkval, "herr_t (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gset_comment", (void (*)(void))__pyx_f_4h5py_4defs_H5Gset_comment, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_comment", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gcreate_anon", (void (*)(void))__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gcreate2", (void (*)(void))__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gopen2", (void (*)(void))__pyx_f_4h5py_4defs_H5Gopen2, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_info", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_info, "herr_t (hid_t, H5G_info_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_info_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_info_by_name, "herr_t (hid_t, char *, H5G_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Gget_create_plist", (void (*)(void))__pyx_f_4h5py_4defs_H5Gget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Iget_type", (void (*)(void))__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Iget_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Iget_file_id", (void (*)(void))__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Idec_ref", (void (*)(void))__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Iget_ref", (void (*)(void))__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Iinc_ref", (void (*)(void))__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lmove", (void (*)(void))__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lcopy", (void (*)(void))__pyx_f_4h5py_4defs_H5Lcopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lcreate_hard", (void (*)(void))__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lcreate_soft", (void (*)(void))__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Ldelete", (void (*)(void))__pyx_f_4h5py_4defs_H5Ldelete, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Ldelete_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Ldelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lget_val", (void (*)(void))__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lget_val_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Lget_val_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lexists", (void (*)(void))__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lget_info", (void (*)(void))__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lget_info_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Lget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lget_name_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Lget_name_by_idx, "Py_ssize_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Literate", (void (*)(void))__pyx_f_4h5py_4defs_H5Literate, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Literate_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lvisit", (void (*)(void))__pyx_f_4h5py_4defs_H5Lvisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lvisit_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lunpack_elink_val", (void (*)(void))__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Lcreate_external", (void (*)(void))__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oopen", (void (*)(void))__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oopen_by_addr", (void (*)(void))__pyx_f_4h5py_4defs_H5Oopen_by_addr, "hid_t (hid_t, haddr_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oopen_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Oopen_by_idx, "hid_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oget_info", (void (*)(void))__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oget_info_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oget_info_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Olink", (void (*)(void))__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Ocopy", (void (*)(void))__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oincr_refcount", (void (*)(void))__pyx_f_4h5py_4defs_H5Oincr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Odecr_refcount", (void (*)(void))__pyx_f_4h5py_4defs_H5Odecr_refcount, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oset_comment", (void (*)(void))__pyx_f_4h5py_4defs_H5Oset_comment, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oset_comment_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oget_comment", (void (*)(void))__pyx_f_4h5py_4defs_H5Oget_comment, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oget_comment_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Ovisit", (void (*)(void))__pyx_f_4h5py_4defs_H5Ovisit, "herr_t (hid_t, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Ovisit_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Oclose", (void (*)(void))__pyx_f_4h5py_4defs_H5Oclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pcreate", (void (*)(void))__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pcopy", (void (*)(void))__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_class", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pclose", (void (*)(void))__pyx_f_4h5py_4defs_H5Pclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pequal", (void (*)(void))__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pclose_class", (void (*)(void))__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_version", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_userblock", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_userblock", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_sizes", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_sizes", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_sym_k", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_sym_k, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_sym_k", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_sym_k, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_istore_k", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_istore_k, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_istore_k", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_istore_k, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fclose_degree", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_fclose_degree", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fapl_core", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_fapl_core", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fapl_family", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_fapl_family", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_family_offset", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_family_offset, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_family_offset", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_family_offset, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fapl_log", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fapl_multi", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fapl_multi, "herr_t (hid_t, H5FD_mem_t *, hid_t *, char **, haddr_t *, hbool_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_cache", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_cache", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fapl_sec2", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fapl_stdio", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_driver", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_mdc_config", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_mdc_config", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_layout", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_layout", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_chunk", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_chunk", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_deflate", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fill_value", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_fill_value", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pfill_value_defined", (void (*)(void))__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fill_time", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_fill_time", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_alloc_time", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_alloc_time", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_filter", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pall_filters_avail", (void (*)(void))__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_nfilters", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_filter", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_filter_by_id", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pmodify_filter", (void (*)(void))__pyx_f_4h5py_4defs_H5Pmodify_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Premove_filter", (void (*)(void))__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_fletcher32", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_shuffle", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_szip", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_scaleoffset", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_scaleoffset, "herr_t (hid_t, enum H5Z_SO_scale_type_t, int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_edc_check", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_edc_check, "herr_t (hid_t, enum H5Z_EDC_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_edc_check", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_edc_check, "enum H5Z_EDC_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_chunk_cache", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_chunk_cache, "herr_t (hid_t, size_t, size_t, double)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_chunk_cache", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_chunk_cache, "herr_t (hid_t, size_t *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_sieve_buf_size", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_sieve_buf_size", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_nlinks", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_nlinks", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_elink_prefix", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_elink_prefix", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_elink_fapl", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_elink_fapl", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_create_intermediate_group", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_create_intermediate_group", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_copy_object", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_copy_object", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_char_encoding", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_char_encoding", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_obj_track_times", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_obj_track_times, "herr_t (hid_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_obj_track_times", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_obj_track_times, "herr_t (hid_t, hbool_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_local_heap_size_hint", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_local_heap_size_hint, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_local_heap_size_hint", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_local_heap_size_hint, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_link_phase_change", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_link_phase_change, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_link_phase_change", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_link_phase_change, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_est_link_info", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_est_link_info, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_est_link_info", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_est_link_info, "herr_t (hid_t, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_link_creation_order", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_link_creation_order", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pset_libver_bounds", (void (*)(void))__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Pget_libver_bounds", (void (*)(void))__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Rcreate", (void (*)(void))__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Rdereference", (void (*)(void))__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Rget_region", (void (*)(void))__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Rget_obj_type", (void (*)(void))__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Rget_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Screate", (void (*)(void))__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Scopy", (void (*)(void))__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sclose", (void (*)(void))__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Screate_simple", (void (*)(void))__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sis_simple", (void (*)(void))__pyx_f_4h5py_4defs_H5Sis_simple, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Soffset_simple", (void (*)(void))__pyx_f_4h5py_4defs_H5Soffset_simple, "herr_t (hid_t, hssize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_simple_extent_ndims", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_simple_extent_dims", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_simple_extent_npoints", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_simple_extent_type", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_simple_extent_type, "H5S_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sextent_copy", (void (*)(void))__pyx_f_4h5py_4defs_H5Sextent_copy, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sset_extent_simple", (void (*)(void))__pyx_f_4h5py_4defs_H5Sset_extent_simple, "herr_t (hid_t, int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sset_extent_none", (void (*)(void))__pyx_f_4h5py_4defs_H5Sset_extent_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_select_type", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_select_type, "H5S_sel_type (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_select_npoints", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_select_bounds", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_select_bounds, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sselect_all", (void (*)(void))__pyx_f_4h5py_4defs_H5Sselect_all, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sselect_none", (void (*)(void))__pyx_f_4h5py_4defs_H5Sselect_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sselect_valid", (void (*)(void))__pyx_f_4h5py_4defs_H5Sselect_valid, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_select_elem_npoints", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_select_elem_pointlist", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sselect_elements", (void (*)(void))__pyx_f_4h5py_4defs_H5Sselect_elements, "herr_t (hid_t, H5S_seloper_t, size_t, hsize_t **)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_select_hyper_nblocks", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sget_select_hyper_blocklist", (void (*)(void))__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sselect_hyperslab", (void (*)(void))__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sencode", (void (*)(void))__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Sdecode", (void (*)(void))__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tcreate", (void (*)(void))__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Topen", (void (*)(void))__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tcommit", (void (*)(void))__pyx_f_4h5py_4defs_H5Tcommit, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tcommitted", (void (*)(void))__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tcopy", (void (*)(void))__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tequal", (void (*)(void))__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tlock", (void (*)(void))__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_class", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_size", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_super", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tdetect_class", (void (*)(void))__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tclose", (void (*)(void))__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_native_type", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_native_type, "hid_t (hid_t, enum H5T_direction_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tconvert", (void (*)(void))__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_size", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_order", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_order", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_precision", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_precision", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_offset", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_offset", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_pad", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_pad", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_sign", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_sign", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_fields", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_fields", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_ebias", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_ebias", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_norm", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_norm", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_inpad", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_inpad", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_cset", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_cset", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_strpad", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_strpad", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tvlen_create", (void (*)(void))__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tis_variable_str", (void (*)(void))__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_nmembers", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_member_class", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_member_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_member_type", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_member_offset", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_member_index", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tinsert", (void (*)(void))__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tpack", (void (*)(void))__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tenum_create", (void (*)(void))__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tenum_insert", (void (*)(void))__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tenum_nameof", (void (*)(void))__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tenum_valueof", (void (*)(void))__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_member_value", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tarray_create", (void (*)(void))__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_array_ndims", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_array_dims", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tset_tag", (void (*)(void))__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tget_tag", (void (*)(void))__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tdecode", (void (*)(void))__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tencode", (void (*)(void))__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tcommit2", (void (*)(void))__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tfind", (void (*)(void))__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tregister", (void (*)(void))__pyx_f_4h5py_4defs_H5Tregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Tunregister", (void (*)(void))__pyx_f_4h5py_4defs_H5Tunregister, "herr_t (H5T_pers_t, char *, hid_t, hid_t, H5T_conv_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Zfilter_avail", (void (*)(void))__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Zget_filter_info", (void (*)(void))__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Acreate", (void (*)(void))__pyx_f_4h5py_4defs_H5Acreate, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aopen_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Aopen_idx, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aopen_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Aopen_name, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aclose", (void (*)(void))__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Adelete", (void (*)(void))__pyx_f_4h5py_4defs_H5Adelete, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aread", (void (*)(void))__pyx_f_4h5py_4defs_H5Aread, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Awrite", (void (*)(void))__pyx_f_4h5py_4defs_H5Awrite, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aget_num_attrs", (void (*)(void))__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aget_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aget_space", (void (*)(void))__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aget_type", (void (*)(void))__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aiterate", (void (*)(void))__pyx_f_4h5py_4defs_H5Aiterate, "herr_t (hid_t, unsigned int *, H5A_operator_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Adelete_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Adelete_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Acreate_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aopen", (void (*)(void))__pyx_f_4h5py_4defs_H5Aopen, "herr_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aopen_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aopen_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aexists_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aexists", (void (*)(void))__pyx_f_4h5py_4defs_H5Aexists, "htri_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Arename", (void (*)(void))__pyx_f_4h5py_4defs_H5Arename, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Arename_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aget_info", (void (*)(void))__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aget_info_by_name", (void (*)(void))__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aget_info_by_idx", (void (*)(void))__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aiterate2", (void (*)(void))__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5Aget_storage_size", (void (*)(void))__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSattach_scale", (void (*)(void))__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSdetach_scale", (void (*)(void))__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSset_scale", (void (*)(void))__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSget_num_scales", (void (*)(void))__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSset_label", (void (*)(void))__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSget_label", (void (*)(void))__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSget_scale_name", (void (*)(void))__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSis_scale", (void (*)(void))__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSiterate_scales", (void (*)(void))__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("H5DSis_attached", (void (*)(void))__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_4h5py_4defs_FastRLock) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "FastRLock", (PyObject *)&__pyx_type_4h5py_4defs_FastRLock) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 5; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_4defs_FastRLock = &__pyx_type_4h5py_4defs_FastRLock;
-  /*--- Type import code ---*/
-  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type", 
-  #if CYTHON_COMPILING_IN_PYPY
-  sizeof(PyTypeObject),
-  #else
-  sizeof(PyHeapTypeObject),
-  #endif
-  0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[3]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __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_filename = __pyx_f[4]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py._errors"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "set_exception", (void (**)(void))&__pyx_f_4h5py_7_errors_set_exception, "int (void)") < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/defs.pyx":11
- * include "_locks.pxi"
- * 
- * rlock = FastRLock()             # <<<<<<<<<<<<<<
- * cdef herr_t H5open() except *:
- *     cdef herr_t r
- */
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_4defs_FastRLock)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__rlock, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/defs.pyx":1
- * include "config.pxi"             # <<<<<<<<<<<<<<
- * from api_types_ext cimport *
- * from api_types_hdf5 cimport *
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.defs", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.defs");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
-    PyObject *kwdict,
-    const char* function_name,
-    int kw_allowed)
-{
-    PyObject* key = 0;
-    Py_ssize_t pos = 0;
-#if CPYTHON_COMPILING_IN_PYPY
-    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
-        goto invalid_keyword;
-    return 1;
-#else
-    while (PyDict_Next(kwdict, &pos, &key, 0)) {
-        #if PY_MAJOR_VERSION < 3
-        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
-        #endif
-            if (unlikely(!PyUnicode_Check(key)))
-                goto invalid_keyword_type;
-    }
-    if ((!kw_allowed) && unlikely(key))
-        goto invalid_keyword;
-    return 1;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    return 0;
-#endif
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-    return 0;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/defs.pxd b/h5py/defs.pxd
deleted file mode 100644
index 92f25bc..0000000
--- a/h5py/defs.pxd
+++ /dev/null
@@ -1,338 +0,0 @@
-include "config.pxi"
-
-from api_types_hdf5 cimport *
-from api_types_ext cimport *
-
-cdef herr_t H5open() except *
-cdef herr_t H5close() except *
-cdef herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum) except *
-cdef hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id) except *
-cdef hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id) except *
-cdef hid_t H5Dopen(hid_t file_id, char *name) except *
-cdef herr_t H5Dclose(hid_t dset_id) except *
-cdef hid_t H5Dget_space(hid_t dset_id) except *
-cdef herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status) except *
-cdef hid_t H5Dget_type(hid_t dset_id) except *
-cdef hid_t H5Dget_create_plist(hid_t dataset_id) except *
-cdef haddr_t H5Dget_offset(hid_t dset_id) except *
-cdef hsize_t H5Dget_storage_size(hid_t dset_id) except *
-cdef herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf) except *
-cdef herr_t H5Dwrite(hid_t dset_id, hid_t mem_type, hid_t mem_space, hid_t file_space, hid_t xfer_plist, void* buf) except *
-cdef herr_t H5Dextend(hid_t dataset_id, hsize_t *size) except *
-cdef herr_t H5Dfill(void *fill, hid_t fill_type_id, void *buf,  hid_t buf_type_id, hid_t space_id ) except *
-cdef herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size) except *
-cdef herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id,  hid_t plist, void *buf) except *
-cdef herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,  H5D_operator_t op, void* operator_data) except *
-cdef herr_t H5Dset_extent(hid_t dset_id, hsize_t* size) except *
-cdef hid_t H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist) except *
-cdef hid_t H5Fopen(char *name, unsigned flags, hid_t access_id) except *
-cdef herr_t H5Fclose(hid_t file_id) except *
-cdef htri_t H5Fis_hdf5(char *name) except *
-cdef herr_t H5Fflush(hid_t object_id, H5F_scope_t scope) except *
-cdef hid_t H5Freopen(hid_t file_id) except *
-cdef herr_t H5Fmount(hid_t loc_id, char *name, hid_t child_id, hid_t plist_id) except *
-cdef herr_t H5Funmount(hid_t loc_id, char *name) except *
-cdef herr_t H5Fget_filesize(hid_t file_id, hsize_t *size) except *
-cdef hid_t H5Fget_create_plist(hid_t file_id ) except *
-cdef hid_t H5Fget_access_plist(hid_t file_id) except *
-cdef hssize_t H5Fget_freespace(hid_t file_id) except *
-cdef ssize_t H5Fget_name(hid_t obj_id, char *name, size_t size) except *
-cdef int H5Fget_obj_count(hid_t file_id, unsigned int types) except *
-cdef int H5Fget_obj_ids(hid_t file_id, unsigned int types, int max_objs, hid_t *obj_id_list) except *
-cdef herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle) except *
-cdef herr_t H5Fget_intent(hid_t file_id, unsigned int *intent) except *
-cdef herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *
-cdef herr_t H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr) except *
-cdef herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) except *
-cdef herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id) except *
-cdef herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *
-cdef hid_t H5Gcreate(hid_t loc_id, char *name, size_t size_hint) except *
-cdef hid_t H5Gopen(hid_t loc_id, char *name) except *
-cdef herr_t H5Gclose(hid_t group_id) except *
-cdef herr_t H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name) except *
-cdef herr_t H5Gunlink(hid_t file_id, char *name) except *
-cdef herr_t H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name) except *
-cdef herr_t H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj) except *
-cdef int H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size) except *
-cdef int H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx) except *
-cdef herr_t H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data) except *
-cdef herr_t H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf) except *
-cdef herr_t H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value) except *
-cdef herr_t H5Gset_comment(hid_t loc_id, char *name, char *comment) except *
-cdef int H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment) except *
-cdef hid_t H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id) except *
-cdef hid_t H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id) except *
-cdef hid_t H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id) except *
-cdef herr_t H5Gget_info( hid_t group_id, H5G_info_t *group_info) except *
-cdef herr_t H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id) except *
-cdef hid_t H5Gget_create_plist(hid_t group_id) except *
-cdef H5I_type_t H5Iget_type(hid_t obj_id) except *
-cdef ssize_t H5Iget_name( hid_t obj_id, char *name, size_t size) except *
-cdef hid_t H5Iget_file_id(hid_t obj_id) except *
-cdef int H5Idec_ref(hid_t obj_id) except *
-cdef int H5Iget_ref(hid_t obj_id) except *
-cdef int H5Iinc_ref(hid_t obj_id) except *
-cdef herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *
-cdef herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *
-cdef herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *
-cdef herr_t H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *
-cdef herr_t H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id) except *
-cdef herr_t H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *
-cdef herr_t H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id) except *
-cdef herr_t H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id) except *
-cdef htri_t H5Lexists(hid_t loc_id, char *name, hid_t lapl_id) except *
-cdef herr_t H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id) except *
-cdef herr_t H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id) except *
-cdef ssize_t H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id) except *
-cdef herr_t H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data) except *
-cdef herr_t H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *
-cdef herr_t H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data) except *
-cdef herr_t H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *
-cdef herr_t H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path) except *
-cdef herr_t H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *
-cdef hid_t H5Oopen(hid_t loc_id, char *name, hid_t lapl_id) except *
-cdef hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr) except *
-cdef hid_t H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *
-cdef herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo) except *
-cdef herr_t H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id) except *
-cdef herr_t H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id) except *
-cdef herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id) except *
-cdef herr_t H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id) except *
-cdef herr_t H5Oincr_refcount(hid_t object_id) except *
-cdef herr_t H5Odecr_refcount(hid_t object_id) except *
-cdef herr_t H5Oset_comment(hid_t obj_id, char *comment) except *
-cdef herr_t H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id) except *
-cdef ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize) except *
-cdef ssize_t H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id) except *
-cdef herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data) except *
-cdef herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id) except *
-cdef herr_t H5Oclose(hid_t object_id) except *
-cdef hid_t H5Pcreate(hid_t plist_id) except *
-cdef hid_t H5Pcopy(hid_t plist_id) except *
-cdef int H5Pget_class(hid_t plist_id) except *
-cdef herr_t H5Pclose(hid_t plist_id) except *
-cdef htri_t H5Pequal( hid_t id1, hid_t id2 ) except *
-cdef herr_t H5Pclose_class(hid_t id) except *
-cdef herr_t H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr) except *
-cdef herr_t H5Pset_userblock(hid_t plist, hsize_t size) except *
-cdef herr_t H5Pget_userblock(hid_t plist, hsize_t * size) except *
-cdef herr_t H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size) except *
-cdef herr_t H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size) except *
-cdef herr_t H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk) except *
-cdef herr_t H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk) except *
-cdef herr_t H5Pset_istore_k(hid_t plist, unsigned int ik) except *
-cdef herr_t H5Pget_istore_k(hid_t plist, unsigned int *ik) except *
-cdef herr_t H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t fc_degree) except *
-cdef herr_t H5Pget_fclose_degree(hid_t fapl_id, H5F_close_degree_t *fc_degree) except *
-cdef herr_t H5Pset_fapl_core( hid_t fapl_id, size_t increment, hbool_t backing_store) except *
-cdef herr_t H5Pget_fapl_core( hid_t fapl_id, size_t *increment, hbool_t *backing_store) except *
-cdef herr_t H5Pset_fapl_family( hid_t fapl_id,  hsize_t memb_size, hid_t memb_fapl_id ) except *
-cdef herr_t H5Pget_fapl_family( hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id ) except *
-cdef herr_t H5Pset_family_offset( hid_t fapl_id, hsize_t offset) except *
-cdef herr_t H5Pget_family_offset( hid_t fapl_id, hsize_t *offset) except *
-cdef herr_t H5Pset_fapl_log(hid_t fapl_id, char *logfile, unsigned int flags, size_t buf_size) except *
-cdef herr_t H5Pset_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map, hid_t *memb_fapl, char **memb_name, haddr_t *memb_addr, hbool_t relax) except *
-cdef herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0) except *
-cdef herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0) except *
-cdef herr_t H5Pset_fapl_sec2(hid_t fapl_id) except *
-cdef herr_t H5Pset_fapl_stdio(hid_t fapl_id) except *
-cdef hid_t H5Pget_driver(hid_t fapl_id) except *
-cdef herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *
-cdef herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *
-cdef herr_t H5Pset_layout(hid_t plist, int layout) except *
-cdef H5D_layout_t H5Pget_layout(hid_t plist) except *
-cdef herr_t H5Pset_chunk(hid_t plist, int ndims, hsize_t * dim) except *
-cdef int H5Pget_chunk(hid_t plist, int max_ndims, hsize_t * dims ) except *
-cdef herr_t H5Pset_deflate( hid_t plist, int level) except *
-cdef herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *
-cdef herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *
-cdef herr_t H5Pfill_value_defined(hid_t plist_id, H5D_fill_value_t *status ) except *
-cdef herr_t H5Pset_fill_time(hid_t plist_id, H5D_fill_time_t fill_time ) except *
-cdef herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t *fill_time ) except *
-cdef herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t alloc_time ) except *
-cdef herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t *alloc_time ) except *
-cdef herr_t H5Pset_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int* cd_values ) except *
-cdef htri_t H5Pall_filters_avail(hid_t dcpl_id) except *
-cdef int H5Pget_nfilters(hid_t plist) except *
-cdef H5Z_filter_t H5Pget_filter(hid_t plist, unsigned int filter_number,   unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name ) except *
-cdef herr_t H5Pget_filter_by_id( hid_t plist_id, H5Z_filter_t filter,  unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name) except *
-cdef herr_t H5Pmodify_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int *cd_values) except *
-cdef herr_t H5Premove_filter(hid_t plist, H5Z_filter_t filter ) except *
-cdef herr_t H5Pset_fletcher32(hid_t plist) except *
-cdef herr_t H5Pset_shuffle(hid_t plist_id) except *
-cdef herr_t H5Pset_szip(hid_t plist, unsigned int options_mask, unsigned int pixels_per_block) except *
-cdef herr_t H5Pset_scaleoffset(hid_t plist, H5Z_SO_scale_type_t scale_type, int scale_factor) except *
-cdef herr_t H5Pset_edc_check(hid_t plist, H5Z_EDC_t check) except *
-cdef H5Z_EDC_t H5Pget_edc_check(hid_t plist) except *
-cdef herr_t H5Pset_chunk_cache( hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0 ) except *
-cdef herr_t H5Pget_chunk_cache( hid_t dapl_id, size_t *rdcc_nslots, size_t *rdcc_nbytes, double *rdcc_w0 ) except *
-cdef herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size) except *
-cdef herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size) except *
-cdef herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks) except *
-cdef herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks) except *
-cdef herr_t H5Pset_elink_prefix(hid_t plist_id, char *prefix) except *
-cdef ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size) except *
-cdef hid_t H5Pget_elink_fapl(hid_t lapl_id) except *
-cdef herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id) except *
-cdef herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd) except *
-cdef herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd) except *
-cdef herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd) except *
-cdef herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd) except *
-cdef herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding) except *
-cdef herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding) except *
-cdef herr_t H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times ) except *
-cdef herr_t H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times ) except *
-cdef herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint) except *
-cdef herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint) except *
-cdef herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense) except *
-cdef herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense) except *
-cdef herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len) except *
-cdef herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len) except *
-cdef herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags) except *
-cdef herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags) except *
-cdef herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high) except *
-cdef herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high) except *
-cdef herr_t H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id) except *
-cdef hid_t H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref) except *
-cdef hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref) except *
-cdef H5G_obj_t H5Rget_obj_type(hid_t id, H5R_type_t ref_type, void *ref) except *
-cdef ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size) except *
-cdef hid_t H5Screate(H5S_class_t type) except *
-cdef hid_t H5Scopy(hid_t space_id ) except *
-cdef herr_t H5Sclose(hid_t space_id) except *
-cdef hid_t H5Screate_simple(int rank, hsize_t *dims, hsize_t *maxdims) except *
-cdef htri_t H5Sis_simple(hid_t space_id) except *
-cdef herr_t H5Soffset_simple(hid_t space_id, hssize_t *offset ) except *
-cdef int H5Sget_simple_extent_ndims(hid_t space_id) except *
-cdef int H5Sget_simple_extent_dims(hid_t space_id, hsize_t *dims, hsize_t *maxdims) except *
-cdef hssize_t H5Sget_simple_extent_npoints(hid_t space_id) except *
-cdef H5S_class_t H5Sget_simple_extent_type(hid_t space_id) except *
-cdef herr_t H5Sextent_copy(hid_t dest_space_id, hid_t source_space_id ) except *
-cdef herr_t H5Sset_extent_simple(hid_t space_id, int rank, hsize_t *current_size, hsize_t *maximum_size ) except *
-cdef herr_t H5Sset_extent_none(hid_t space_id) except *
-cdef H5S_sel_type H5Sget_select_type(hid_t space_id) except *
-cdef hssize_t H5Sget_select_npoints(hid_t space_id) except *
-cdef herr_t H5Sget_select_bounds(hid_t space_id, hsize_t *start, hsize_t *end) except *
-cdef herr_t H5Sselect_all(hid_t space_id) except *
-cdef herr_t H5Sselect_none(hid_t space_id) except *
-cdef htri_t H5Sselect_valid(hid_t space_id) except *
-cdef hssize_t H5Sget_select_elem_npoints(hid_t space_id) except *
-cdef herr_t H5Sget_select_elem_pointlist(hid_t space_id, hsize_t startpoint,  hsize_t numpoints, hsize_t *buf) except *
-cdef herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op,  size_t num_elements, hsize_t **coord) except *
-cdef hssize_t H5Sget_select_hyper_nblocks(hid_t space_id ) except *
-cdef herr_t H5Sget_select_hyper_blocklist(hid_t space_id,  hsize_t startblock, hsize_t numblocks, hsize_t *buf ) except *
-cdef herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block) except *
-cdef herr_t H5Sencode(hid_t obj_id, void *buf, size_t *nalloc) except *
-cdef hid_t H5Sdecode(void *buf) except *
-cdef hid_t H5Tcreate(H5T_class_t type, size_t size) except *
-cdef hid_t H5Topen(hid_t loc, char* name) except *
-cdef herr_t H5Tcommit(hid_t loc_id, char* name, hid_t type) except *
-cdef htri_t H5Tcommitted(hid_t type) except *
-cdef hid_t H5Tcopy(hid_t type_id) except *
-cdef htri_t H5Tequal(hid_t type_id1, hid_t type_id2 ) except *
-cdef herr_t H5Tlock(hid_t type_id) except *
-cdef H5T_class_t H5Tget_class(hid_t type_id) except *
-cdef size_t H5Tget_size(hid_t type_id) except *
-cdef hid_t H5Tget_super(hid_t type) except *
-cdef htri_t H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class) except *
-cdef herr_t H5Tclose(hid_t type_id) except *
-cdef hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction) except *
-cdef herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id) except *
-cdef herr_t H5Tset_size(hid_t type_id, size_t size) except *
-cdef H5T_order_t H5Tget_order(hid_t type_id) except *
-cdef herr_t H5Tset_order(hid_t type_id, H5T_order_t order) except *
-cdef hsize_t H5Tget_precision(hid_t type_id) except *
-cdef herr_t H5Tset_precision(hid_t type_id, size_t prec) except *
-cdef int H5Tget_offset(hid_t type_id) except *
-cdef herr_t H5Tset_offset(hid_t type_id, size_t offset) except *
-cdef herr_t H5Tget_pad(hid_t type_id, H5T_pad_t * lsb, H5T_pad_t * msb ) except *
-cdef herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb ) except *
-cdef H5T_sign_t H5Tget_sign(hid_t type_id) except *
-cdef herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign) except *
-cdef herr_t H5Tget_fields(hid_t type_id, size_t *spos, size_t *epos, size_t *esize, size_t *mpos, size_t *msize ) except *
-cdef herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) except *
-cdef size_t H5Tget_ebias(hid_t type_id) except *
-cdef herr_t H5Tset_ebias(hid_t type_id, size_t ebias) except *
-cdef H5T_norm_t H5Tget_norm(hid_t type_id) except *
-cdef herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm) except *
-cdef H5T_pad_t H5Tget_inpad(hid_t type_id) except *
-cdef herr_t H5Tset_inpad(hid_t type_id, H5T_pad_t inpad) except *
-cdef H5T_cset_t H5Tget_cset(hid_t type_id) except *
-cdef herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset) except *
-cdef H5T_str_t H5Tget_strpad(hid_t type_id) except *
-cdef herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad) except *
-cdef hid_t H5Tvlen_create(hid_t base_type_id) except *
-cdef htri_t H5Tis_variable_str(hid_t dtype_id) except *
-cdef int H5Tget_nmembers(hid_t type_id) except *
-cdef H5T_class_t H5Tget_member_class(hid_t type_id, int member_no) except *
-cdef char* H5Tget_member_name(hid_t type_id, unsigned membno) except *
-cdef hid_t H5Tget_member_type(hid_t type_id, unsigned membno) except *
-cdef int H5Tget_member_offset(hid_t type_id, int membno) except *
-cdef int H5Tget_member_index(hid_t type_id, char* name) except *
-cdef herr_t H5Tinsert(hid_t parent_id, char *name, size_t offset, hid_t member_id) except *
-cdef herr_t H5Tpack(hid_t type_id) except *
-cdef hid_t H5Tenum_create(hid_t base_id) except *
-cdef herr_t H5Tenum_insert(hid_t type, char *name, void *value) except *
-cdef herr_t H5Tenum_nameof( hid_t type, void *value, char *name, size_t size ) except *
-cdef herr_t H5Tenum_valueof( hid_t type, char *name, void *value ) except *
-cdef herr_t H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value ) except *
-cdef hid_t H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm) except *
-cdef int H5Tget_array_ndims(hid_t type_id) except *
-cdef int H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm) except *
-cdef herr_t H5Tset_tag(hid_t type_id, char* tag) except *
-cdef char* H5Tget_tag(hid_t type_id) except *
-cdef hid_t H5Tdecode(unsigned char *buf) except *
-cdef herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *
-cdef herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *
-cdef H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *
-cdef herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *
-cdef herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *
-cdef htri_t H5Zfilter_avail(H5Z_filter_t id_) except *
-cdef herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags) except *
-cdef hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *
-cdef hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *
-cdef hid_t H5Aopen_name(hid_t loc_id, char *name) except *
-cdef herr_t H5Aclose(hid_t attr_id) except *
-cdef herr_t H5Adelete(hid_t loc_id, char *name) except *
-cdef herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *
-cdef herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *
-cdef int H5Aget_num_attrs(hid_t loc_id) except *
-cdef ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *
-cdef hid_t H5Aget_space(hid_t attr_id) except *
-cdef hid_t H5Aget_type(hid_t attr_id) except *
-cdef herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *
-cdef herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *
-cdef herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *
-cdef hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *
-cdef herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *
-cdef herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *
-cdef herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *
-cdef htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *
-cdef htri_t H5Aexists(hid_t obj_id, char *attr_name) except *
-cdef herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *
-cdef herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *
-cdef herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *
-cdef herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *
-cdef herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *
-cdef herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *
-cdef hsize_t H5Aget_storage_size(hid_t attr_id) except *
-IF MPI:
-    cdef herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info) except *
-IF MPI:
-    cdef herr_t H5Pset_fapl_mpiposix(hid_t fapl_id, MPI_Comm comm, hbool_t hints) except *
-IF HDF5_VERSION >= (1, 8, 9):
-    IF MPI:
-        cdef herr_t H5Fset_mpi_atomicity(hid_t file_id, hbool_t flag) except *
-IF HDF5_VERSION >= (1, 8, 9):
-    IF MPI:
-        cdef herr_t H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag) except *
-cdef herr_t H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx) except *
-cdef herr_t H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx) except *
-cdef herr_t H5DSset_scale(hid_t dsid, char *dimname) except *
-cdef int H5DSget_num_scales(hid_t did, unsigned int dim) except *
-cdef herr_t H5DSset_label(hid_t did, unsigned int idx, char *label) except *
-cdef ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size) except *
-cdef ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size) except *
-cdef htri_t H5DSis_scale(hid_t did) except *
-cdef herr_t H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data) except *
-cdef htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *
diff --git a/h5py/defs.pyx b/h5py/defs.pyx
deleted file mode 100644
index d58d1cf..0000000
--- a/h5py/defs.pyx
+++ /dev/null
@@ -1,2960 +0,0 @@
-include "config.pxi"
-from api_types_ext cimport *
-from api_types_hdf5 cimport *
-
-cimport _hdf5
-
-from _errors cimport set_exception
-
-include "_locks.pxi"
-
-rlock = FastRLock()
-cdef herr_t H5open() except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5open()
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5close() except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5close()
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5get_libversion(unsigned *majnum, unsigned *minnum, unsigned *relnum) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5get_libversion(majnum, minnum, relnum)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Dcreate2(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Dcreate2(loc_id, name, type_id, space_id, lcpl_id, dcpl_id, dapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id, hid_t plist_id, hid_t dapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Dcreate_anon(file_id, type_id, space_id, plist_id, dapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Dopen(hid_t file_id, char *name) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Dopen(file_id, name)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Dclose(hid_t dset_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dclose(dset_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Dget_space(hid_t dset_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Dget_space(dset_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Dget_space_status(hid_t dset_id, H5D_space_status_t *status) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dget_space_status(dset_id, status)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Dget_type(hid_t dset_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Dget_type(dset_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Dget_create_plist(hid_t dataset_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Dget_create_plist(dataset_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef haddr_t H5Dget_offset(hid_t dset_id) except *:
-    cdef haddr_t r
-    with rlock:
-        r = _hdf5.H5Dget_offset(dset_id)
-        if r==0:
-            if set_exception():
-                return <haddr_t>0;
-        return r
-
-cdef hsize_t H5Dget_storage_size(hid_t dset_id) except *:
-    cdef hsize_t r
-    with rlock:
-        r = _hdf5.H5Dget_storage_size(dset_id)
-        if r==0:
-            if set_exception():
-                return <hsize_t>0;
-        return r
-
-cdef herr_t H5Dread(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dread(dset_id, mem_type_id, mem_space_id, file_space_id, plist_id, buf)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Dwrite(hid_t dset_id, hid_t mem_type, hid_t mem_space, hid_t file_space, hid_t xfer_plist, void* buf) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dwrite(dset_id, mem_type, mem_space, file_space, xfer_plist, buf)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Dextend(hid_t dataset_id, hsize_t *size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dextend(dataset_id, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Dfill(void *fill, hid_t fill_type_id, void *buf,  hid_t buf_type_id, hid_t space_id ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dfill(fill, fill_type_id, buf, buf_type_id, space_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Dvlen_get_buf_size(hid_t dset_id, hid_t type_id, hid_t space_id, hsize_t *size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dvlen_get_buf_size(dset_id, type_id, space_id, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Dvlen_reclaim(hid_t type_id, hid_t space_id,  hid_t plist, void *buf) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dvlen_reclaim(type_id, space_id, plist, buf)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Diterate(void *buf, hid_t type_id, hid_t space_id,  H5D_operator_t op, void* operator_data) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Diterate(buf, type_id, space_id, op, operator_data)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Dset_extent(hid_t dset_id, hsize_t* size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Dset_extent(dset_id, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Fcreate(char *filename, unsigned int flags, hid_t create_plist, hid_t access_plist) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Fcreate(filename, flags, create_plist, access_plist)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Fopen(char *name, unsigned flags, hid_t access_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Fopen(name, flags, access_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Fclose(hid_t file_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fclose(file_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5Fis_hdf5(char *name) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Fis_hdf5(name)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5Fflush(hid_t object_id, H5F_scope_t scope) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fflush(object_id, scope)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Freopen(hid_t file_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Freopen(file_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Fmount(hid_t loc_id, char *name, hid_t child_id, hid_t plist_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fmount(loc_id, name, child_id, plist_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Funmount(hid_t loc_id, char *name) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Funmount(loc_id, name)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Fget_filesize(hid_t file_id, hsize_t *size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fget_filesize(file_id, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Fget_create_plist(hid_t file_id ) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Fget_create_plist(file_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Fget_access_plist(hid_t file_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Fget_access_plist(file_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hssize_t H5Fget_freespace(hid_t file_id) except *:
-    cdef hssize_t r
-    with rlock:
-        r = _hdf5.H5Fget_freespace(file_id)
-        if r<0:
-            if set_exception():
-                return <hssize_t>-1;
-        return r
-
-cdef ssize_t H5Fget_name(hid_t obj_id, char *name, size_t size) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5Fget_name(obj_id, name, size)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef int H5Fget_obj_count(hid_t file_id, unsigned int types) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Fget_obj_count(file_id, types)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef int H5Fget_obj_ids(hid_t file_id, unsigned int types, int max_objs, hid_t *obj_id_list) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Fget_obj_ids(file_id, types, max_objs, obj_id_list)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl_id, void **file_handle) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fget_vfd_handle(file_id, fapl_id, file_handle)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Fget_intent(hid_t file_id, unsigned int *intent) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fget_intent(file_id, intent)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fget_mdc_config(file_id, config_ptr)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fget_mdc_hit_rate(file_id, hit_rate_ptr)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fget_mdc_size(file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Freset_mdc_hit_rate_stats(file_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Fset_mdc_config(file_id, config_ptr)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Gcreate(hid_t loc_id, char *name, size_t size_hint) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Gcreate(loc_id, name, size_hint)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Gopen(hid_t loc_id, char *name) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Gopen(loc_id, name)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Gclose(hid_t group_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gclose(group_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Glink2( hid_t curr_loc_id, char *current_name, H5G_link_t link_type, hid_t new_loc_id, char *new_name) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Glink2(curr_loc_id, current_name, link_type, new_loc_id, new_name)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Gunlink(hid_t file_id, char *name) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gunlink(file_id, name)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Gmove2(hid_t src_loc_id, char *src_name, hid_t dst_loc_id, char *dst_name) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gmove2(src_loc_id, src_name, dst_loc_id, dst_name)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Gget_num_objs(hid_t loc_id, hsize_t*  num_obj) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gget_num_objs(loc_id, num_obj)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef int H5Gget_objname_by_idx(hid_t loc_id, hsize_t idx, char *name, size_t size) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Gget_objname_by_idx(loc_id, idx, name, size)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef int H5Gget_objtype_by_idx(hid_t loc_id, hsize_t idx) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Gget_objtype_by_idx(loc_id, idx)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5Giterate(hid_t loc_id, char *name, int *idx, H5G_iterate_t op, void* data) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Giterate(loc_id, name, idx, op, data)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Gget_objinfo(hid_t loc_id, char* name, int follow_link, H5G_stat_t *statbuf) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gget_objinfo(loc_id, name, follow_link, statbuf)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Gget_linkval(hid_t loc_id, char *name, size_t size, char *value) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gget_linkval(loc_id, name, size, value)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Gset_comment(hid_t loc_id, char *name, char *comment) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gset_comment(loc_id, name, comment)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef int H5Gget_comment(hid_t loc_id, char *name, size_t bufsize, char *comment) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Gget_comment(loc_id, name, bufsize, comment)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef hid_t H5Gcreate_anon( hid_t loc_id, hid_t gcpl_id, hid_t gapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Gcreate_anon(loc_id, gcpl_id, gapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Gcreate2(hid_t loc_id, char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Gcreate2(loc_id, name, lcpl_id, gcpl_id, gapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Gopen2( hid_t loc_id, char * name, hid_t gapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Gopen2(loc_id, name, gapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Gget_info( hid_t group_id, H5G_info_t *group_info) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gget_info(group_id, group_info)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Gget_info_by_name( hid_t loc_id, char *group_name, H5G_info_t *group_info, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Gget_info_by_name(loc_id, group_name, group_info, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Gget_create_plist(hid_t group_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Gget_create_plist(group_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef H5I_type_t H5Iget_type(hid_t obj_id) except *:
-    cdef H5I_type_t r
-    with rlock:
-        r = _hdf5.H5Iget_type(obj_id)
-        if r<0:
-            if set_exception():
-                return <H5I_type_t>-1;
-        return r
-
-cdef ssize_t H5Iget_name( hid_t obj_id, char *name, size_t size) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5Iget_name(obj_id, name, size)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef hid_t H5Iget_file_id(hid_t obj_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Iget_file_id(obj_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef int H5Idec_ref(hid_t obj_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Idec_ref(obj_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef int H5Iget_ref(hid_t obj_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Iget_ref(obj_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef int H5Iinc_ref(hid_t obj_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Iinc_ref(obj_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5Lmove(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lmove(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lcopy(hid_t src_loc, char *src_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lcopy(src_loc, src_name, dst_loc, dst_name, lcpl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lcreate_hard(hid_t cur_loc, char *cur_name, hid_t dst_loc, char *dst_name, hid_t lcpl_id, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lcreate_hard(cur_loc, cur_name, dst_loc, dst_name, lcpl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lcreate_soft(char *link_target, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lcreate_soft(link_target, link_loc_id, link_name, lcpl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Ldelete(hid_t loc_id, char *name, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Ldelete(loc_id, name, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Ldelete_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Ldelete_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lget_val(hid_t loc_id, char *name, void *bufout, size_t size, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lget_val(loc_id, name, bufout, size, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lget_val_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, void *bufout, size_t size, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lget_val_by_idx(loc_id, group_name, idx_type, order, n, bufout, size, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5Lexists(hid_t loc_id, char *name, hid_t lapl_id) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Lexists(loc_id, name, lapl_id)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5Lget_info(hid_t loc_id, char *name, H5L_info_t *linfo, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lget_info(loc_id, name, linfo, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lget_info_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5L_info_t *linfo, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lget_info_by_idx(loc_id, group_name, idx_type, order, n, linfo, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef ssize_t H5Lget_name_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, char *name, size_t size, hid_t lapl_id) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5Lget_name_by_idx(loc_id, group_name, idx_type, order, n, name, size, lapl_id)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef herr_t H5Literate(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Literate(grp_id, idx_type, order, idx, op, op_data)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Literate_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t *idx, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Literate_by_name(loc_id, group_name, idx_type, order, idx, op, op_data, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lvisit(hid_t grp_id, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lvisit(grp_id, idx_type, order, op, op_data)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lvisit_by_name(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, H5L_iterate_t op, void *op_data, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lvisit_by_name(loc_id, group_name, idx_type, order, op, op_data, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lunpack_elink_val(void *ext_linkval, size_t link_size, unsigned *flags, char **filename, char **obj_path) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lunpack_elink_val(ext_linkval, link_size, flags, filename, obj_path)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Lcreate_external(char *file_name, char *obj_name, hid_t link_loc_id, char *link_name, hid_t lcpl_id, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Lcreate_external(file_name, obj_name, link_loc_id, link_name, lcpl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Oopen(hid_t loc_id, char *name, hid_t lapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Oopen(loc_id, name, lapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Oopen_by_addr(hid_t loc_id, haddr_t addr) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Oopen_by_addr(loc_id, addr)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Oopen_by_idx(hid_t loc_id, char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Oopen_by_idx(loc_id, group_name, idx_type, order, n, lapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Oget_info(hid_t loc_id, H5O_info_t *oinfo) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Oget_info(loc_id, oinfo)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Oget_info_by_name(hid_t loc_id, char *name, H5O_info_t *oinfo, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Oget_info_by_name(loc_id, name, oinfo, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Oget_info_by_idx(hid_t loc_id, char *group_name,  H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info_t *oinfo, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Oget_info_by_idx(loc_id, group_name, idx_type, order, n, oinfo, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Olink(hid_t obj_id, hid_t new_loc_id, char *new_name, hid_t lcpl_id, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Olink(obj_id, new_loc_id, new_name, lcpl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Ocopy(hid_t src_loc_id, char *src_name, hid_t dst_loc_id,  char *dst_name, hid_t ocpypl_id, hid_t lcpl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Ocopy(src_loc_id, src_name, dst_loc_id, dst_name, ocpypl_id, lcpl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Oincr_refcount(hid_t object_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Oincr_refcount(object_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Odecr_refcount(hid_t object_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Odecr_refcount(object_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Oset_comment(hid_t obj_id, char *comment) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Oset_comment(obj_id, comment)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Oset_comment_by_name(hid_t loc_id, char *name,  char *comment, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Oset_comment_by_name(loc_id, name, comment, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef ssize_t H5Oget_comment(hid_t obj_id, char *comment, size_t bufsize) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5Oget_comment(obj_id, comment, bufsize)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef ssize_t H5Oget_comment_by_name(hid_t loc_id, char *name, char *comment, size_t bufsize, hid_t lapl_id) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5Oget_comment_by_name(loc_id, name, comment, bufsize, lapl_id)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef herr_t H5Ovisit(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order,  H5O_iterate_t op, void *op_data) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Ovisit(obj_id, idx_type, order, op, op_data)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Ovisit_by_name(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate_t op, void *op_data, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Ovisit_by_name(loc_id, obj_name, idx_type, order, op, op_data, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Oclose(hid_t object_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Oclose(object_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Pcreate(hid_t plist_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Pcreate(plist_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Pcopy(hid_t plist_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Pcopy(plist_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef int H5Pget_class(hid_t plist_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Pget_class(plist_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5Pclose(hid_t plist_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pclose(plist_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5Pequal( hid_t id1, hid_t id2 ) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Pequal(id1, id2)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5Pclose_class(hid_t id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pclose_class(id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_version(hid_t plist, unsigned int *super_, unsigned int* freelist,  unsigned int *stab, unsigned int *shhdr) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_version(plist, super_, freelist, stab, shhdr)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_userblock(hid_t plist, hsize_t size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_userblock(plist, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_userblock(hid_t plist, hsize_t * size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_userblock(plist, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_sizes(hid_t plist, size_t sizeof_addr, size_t sizeof_size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_sizes(plist, sizeof_addr, sizeof_size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_sizes(hid_t plist, size_t *sizeof_addr, size_t *sizeof_size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_sizes(plist, sizeof_addr, sizeof_size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_sym_k(hid_t plist, unsigned int ik, unsigned int lk) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_sym_k(plist, ik, lk)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_sym_k(hid_t plist, unsigned int *ik, unsigned int *lk) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_sym_k(plist, ik, lk)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_istore_k(hid_t plist, unsigned int ik) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_istore_k(plist, ik)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_istore_k(hid_t plist, unsigned int *ik) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_istore_k(plist, ik)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fclose_degree(hid_t fapl_id, H5F_close_degree_t fc_degree) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fclose_degree(fapl_id, fc_degree)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_fclose_degree(hid_t fapl_id, H5F_close_degree_t *fc_degree) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_fclose_degree(fapl_id, fc_degree)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fapl_core( hid_t fapl_id, size_t increment, hbool_t backing_store) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fapl_core(fapl_id, increment, backing_store)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_fapl_core( hid_t fapl_id, size_t *increment, hbool_t *backing_store) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_fapl_core(fapl_id, increment, backing_store)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fapl_family( hid_t fapl_id,  hsize_t memb_size, hid_t memb_fapl_id ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fapl_family(fapl_id, memb_size, memb_fapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_fapl_family( hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_fapl_family(fapl_id, memb_size, memb_fapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_family_offset( hid_t fapl_id, hsize_t offset) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_family_offset(fapl_id, offset)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_family_offset( hid_t fapl_id, hsize_t *offset) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_family_offset(fapl_id, offset)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fapl_log(hid_t fapl_id, char *logfile, unsigned int flags, size_t buf_size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fapl_log(fapl_id, logfile, flags, buf_size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map, hid_t *memb_fapl, char **memb_name, haddr_t *memb_addr, hbool_t relax) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fapl_multi(fapl_id, memb_map, memb_fapl, memb_name, memb_addr, relax)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_cache(hid_t plist_id, int mdc_nelmts, int rdcc_nelmts,  size_t rdcc_nbytes, double rdcc_w0) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_cache(hid_t plist_id, int *mdc_nelmts, int *rdcc_nelmts, size_t *rdcc_nbytes, double *rdcc_w0) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_cache(plist_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fapl_sec2(hid_t fapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fapl_sec2(fapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fapl_stdio(hid_t fapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fapl_stdio(fapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Pget_driver(hid_t fapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Pget_driver(fapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_mdc_config(plist_id, config_ptr)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_mdc_config(hid_t plist_id, H5AC_cache_config_t *config_ptr) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_mdc_config(plist_id, config_ptr)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_layout(hid_t plist, int layout) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_layout(plist, layout)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5D_layout_t H5Pget_layout(hid_t plist) except *:
-    cdef H5D_layout_t r
-    with rlock:
-        r = _hdf5.H5Pget_layout(plist)
-        if r<0:
-            if set_exception():
-                return <H5D_layout_t>-1;
-        return r
-
-cdef herr_t H5Pset_chunk(hid_t plist, int ndims, hsize_t * dim) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_chunk(plist, ndims, dim)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef int H5Pget_chunk(hid_t plist, int max_ndims, hsize_t * dims ) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Pget_chunk(plist, max_ndims, dims)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5Pset_deflate( hid_t plist, int level) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_deflate(plist, level)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fill_value(plist_id, type_id, value)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_fill_value(hid_t plist_id, hid_t type_id, void *value ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_fill_value(plist_id, type_id, value)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pfill_value_defined(hid_t plist_id, H5D_fill_value_t *status ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pfill_value_defined(plist_id, status)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fill_time(hid_t plist_id, H5D_fill_time_t fill_time ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fill_time(plist_id, fill_time)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_fill_time(hid_t plist_id, H5D_fill_time_t *fill_time ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_fill_time(plist_id, fill_time)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_alloc_time(hid_t plist_id, H5D_alloc_time_t alloc_time ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_alloc_time(plist_id, alloc_time)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_alloc_time(hid_t plist_id, H5D_alloc_time_t *alloc_time ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_alloc_time(plist_id, alloc_time)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int* cd_values ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_filter(plist, filter, flags, cd_nelmts, cd_values)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5Pall_filters_avail(hid_t dcpl_id) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Pall_filters_avail(dcpl_id)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef int H5Pget_nfilters(hid_t plist) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Pget_nfilters(plist)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef H5Z_filter_t H5Pget_filter(hid_t plist, unsigned int filter_number,   unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name ) except *:
-    cdef H5Z_filter_t r
-    with rlock:
-        r = _hdf5.H5Pget_filter(plist, filter_number, flags, cd_nelmts, cd_values, namelen, name)
-        if r<0:
-            if set_exception():
-                return <H5Z_filter_t>-1;
-        return r
-
-cdef herr_t H5Pget_filter_by_id( hid_t plist_id, H5Z_filter_t filter,  unsigned int *flags, size_t *cd_nelmts,  unsigned int* cd_values, size_t namelen, char* name) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_filter_by_id(plist_id, filter, flags, cd_nelmts, cd_values, namelen, name)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pmodify_filter(hid_t plist, H5Z_filter_t filter, unsigned int flags, size_t cd_nelmts, unsigned int *cd_values) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pmodify_filter(plist, filter, flags, cd_nelmts, cd_values)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Premove_filter(hid_t plist, H5Z_filter_t filter ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Premove_filter(plist, filter)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_fletcher32(hid_t plist) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_fletcher32(plist)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_shuffle(hid_t plist_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_shuffle(plist_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_szip(hid_t plist, unsigned int options_mask, unsigned int pixels_per_block) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_szip(plist, options_mask, pixels_per_block)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_scaleoffset(hid_t plist, H5Z_SO_scale_type_t scale_type, int scale_factor) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_scaleoffset(plist, scale_type, scale_factor)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_edc_check(hid_t plist, H5Z_EDC_t check) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_edc_check(plist, check)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5Z_EDC_t H5Pget_edc_check(hid_t plist) except *:
-    cdef H5Z_EDC_t r
-    with rlock:
-        r = _hdf5.H5Pget_edc_check(plist)
-        if r<0:
-            if set_exception():
-                return <H5Z_EDC_t>-1;
-        return r
-
-cdef herr_t H5Pset_chunk_cache( hid_t dapl_id, size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0 ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_chunk_cache( hid_t dapl_id, size_t *rdcc_nslots, size_t *rdcc_nbytes, double *rdcc_w0 ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_chunk_cache(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_sieve_buf_size(hid_t fapl_id, size_t size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_sieve_buf_size(fapl_id, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_sieve_buf_size(hid_t fapl_id, size_t *size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_sieve_buf_size(fapl_id, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_nlinks(hid_t plist_id, size_t nlinks) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_nlinks(plist_id, nlinks)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_nlinks(hid_t plist_id, size_t *nlinks) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_nlinks(plist_id, nlinks)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_elink_prefix(hid_t plist_id, char *prefix) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_elink_prefix(plist_id, prefix)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef ssize_t H5Pget_elink_prefix(hid_t plist_id, char *prefix, size_t size) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5Pget_elink_prefix(plist_id, prefix, size)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef hid_t H5Pget_elink_fapl(hid_t lapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Pget_elink_fapl(lapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Pset_elink_fapl(hid_t lapl_id, hid_t fapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_elink_fapl(lapl_id, fapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_create_intermediate_group(hid_t plist_id, unsigned crt_intmd) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_create_intermediate_group(plist_id, crt_intmd)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_create_intermediate_group(hid_t plist_id, unsigned *crt_intmd) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_create_intermediate_group(plist_id, crt_intmd)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_copy_object(hid_t plist_id, unsigned crt_intmd) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_copy_object(plist_id, crt_intmd)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_copy_object(hid_t plist_id, unsigned *crt_intmd) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_copy_object(plist_id, crt_intmd)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_char_encoding(hid_t plist_id, H5T_cset_t encoding) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_char_encoding(plist_id, encoding)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_char_encoding(hid_t plist_id, H5T_cset_t *encoding) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_char_encoding(plist_id, encoding)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_obj_track_times( hid_t ocpl_id, hbool_t track_times ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_obj_track_times(ocpl_id, track_times)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_obj_track_times( hid_t ocpl_id, hbool_t *track_times ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_obj_track_times(ocpl_id, track_times)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_local_heap_size_hint(hid_t plist_id, size_t size_hint) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_local_heap_size_hint(plist_id, size_hint)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_local_heap_size_hint(hid_t plist_id, size_t *size_hint) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_local_heap_size_hint(plist_id, size_hint)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_link_phase_change(hid_t plist_id, unsigned max_compact, unsigned min_dense) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_link_phase_change(plist_id, max_compact, min_dense)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_link_phase_change(hid_t plist_id, unsigned *max_compact , unsigned *min_dense) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_link_phase_change(plist_id, max_compact, min_dense)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_est_link_info(hid_t plist_id, unsigned est_num_entries, unsigned est_name_len) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_est_link_info(plist_id, est_num_entries, est_name_len)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_est_link_info(hid_t plist_id, unsigned *est_num_entries , unsigned *est_name_len) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_est_link_info(plist_id, est_num_entries, est_name_len)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_link_creation_order(hid_t plist_id, unsigned crt_order_flags) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_link_creation_order(plist_id, crt_order_flags)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_link_creation_order(hid_t plist_id, unsigned *crt_order_flags) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_link_creation_order(plist_id, crt_order_flags)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pset_libver_bounds(hid_t fapl_id, H5F_libver_t libver_low, H5F_libver_t libver_high) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pset_libver_bounds(fapl_id, libver_low, libver_high)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Pget_libver_bounds(hid_t fapl_id, H5F_libver_t *libver_low, H5F_libver_t *libver_high) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Pget_libver_bounds(fapl_id, libver_low, libver_high)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Rcreate(void *ref, hid_t loc_id, char *name, H5R_type_t ref_type,  hid_t space_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Rcreate(ref, loc_id, name, ref_type, space_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Rdereference(hid_t obj_id, H5R_type_t ref_type, void *ref) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Rdereference(obj_id, ref_type, ref)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Rget_region(hid_t dataset, H5R_type_t ref_type, void *ref) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Rget_region(dataset, ref_type, ref)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef H5G_obj_t H5Rget_obj_type(hid_t id, H5R_type_t ref_type, void *ref) except *:
-    cdef H5G_obj_t r
-    with rlock:
-        r = _hdf5.H5Rget_obj_type(id, ref_type, ref)
-        if r<0:
-            if set_exception():
-                return <H5G_obj_t>-1;
-        return r
-
-cdef ssize_t H5Rget_name(hid_t loc_id, H5R_type_t ref_type, void *ref, char *name, size_t size) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5Rget_name(loc_id, ref_type, ref, name, size)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef hid_t H5Screate(H5S_class_t type) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Screate(type)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Scopy(hid_t space_id ) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Scopy(space_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Sclose(hid_t space_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sclose(space_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Screate_simple(int rank, hsize_t *dims, hsize_t *maxdims) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Screate_simple(rank, dims, maxdims)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef htri_t H5Sis_simple(hid_t space_id) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Sis_simple(space_id)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5Soffset_simple(hid_t space_id, hssize_t *offset ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Soffset_simple(space_id, offset)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef int H5Sget_simple_extent_ndims(hid_t space_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Sget_simple_extent_ndims(space_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef int H5Sget_simple_extent_dims(hid_t space_id, hsize_t *dims, hsize_t *maxdims) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Sget_simple_extent_dims(space_id, dims, maxdims)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef hssize_t H5Sget_simple_extent_npoints(hid_t space_id) except *:
-    cdef hssize_t r
-    with rlock:
-        r = _hdf5.H5Sget_simple_extent_npoints(space_id)
-        if r<0:
-            if set_exception():
-                return <hssize_t>-1;
-        return r
-
-cdef H5S_class_t H5Sget_simple_extent_type(hid_t space_id) except *:
-    cdef H5S_class_t r
-    with rlock:
-        r = _hdf5.H5Sget_simple_extent_type(space_id)
-        if r<0:
-            if set_exception():
-                return <H5S_class_t>-1;
-        return r
-
-cdef herr_t H5Sextent_copy(hid_t dest_space_id, hid_t source_space_id ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sextent_copy(dest_space_id, source_space_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Sset_extent_simple(hid_t space_id, int rank, hsize_t *current_size, hsize_t *maximum_size ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sset_extent_simple(space_id, rank, current_size, maximum_size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Sset_extent_none(hid_t space_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sset_extent_none(space_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5S_sel_type H5Sget_select_type(hid_t space_id) except *:
-    cdef H5S_sel_type r
-    with rlock:
-        r = _hdf5.H5Sget_select_type(space_id)
-        if r<0:
-            if set_exception():
-                return <H5S_sel_type>-1;
-        return r
-
-cdef hssize_t H5Sget_select_npoints(hid_t space_id) except *:
-    cdef hssize_t r
-    with rlock:
-        r = _hdf5.H5Sget_select_npoints(space_id)
-        if r<0:
-            if set_exception():
-                return <hssize_t>-1;
-        return r
-
-cdef herr_t H5Sget_select_bounds(hid_t space_id, hsize_t *start, hsize_t *end) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sget_select_bounds(space_id, start, end)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Sselect_all(hid_t space_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sselect_all(space_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Sselect_none(hid_t space_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sselect_none(space_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5Sselect_valid(hid_t space_id) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Sselect_valid(space_id)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef hssize_t H5Sget_select_elem_npoints(hid_t space_id) except *:
-    cdef hssize_t r
-    with rlock:
-        r = _hdf5.H5Sget_select_elem_npoints(space_id)
-        if r<0:
-            if set_exception():
-                return <hssize_t>-1;
-        return r
-
-cdef herr_t H5Sget_select_elem_pointlist(hid_t space_id, hsize_t startpoint,  hsize_t numpoints, hsize_t *buf) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sget_select_elem_pointlist(space_id, startpoint, numpoints, buf)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Sselect_elements(hid_t space_id, H5S_seloper_t op,  size_t num_elements, hsize_t **coord) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sselect_elements(space_id, op, num_elements, coord)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hssize_t H5Sget_select_hyper_nblocks(hid_t space_id ) except *:
-    cdef hssize_t r
-    with rlock:
-        r = _hdf5.H5Sget_select_hyper_nblocks(space_id)
-        if r<0:
-            if set_exception():
-                return <hssize_t>-1;
-        return r
-
-cdef herr_t H5Sget_select_hyper_blocklist(hid_t space_id,  hsize_t startblock, hsize_t numblocks, hsize_t *buf ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sget_select_hyper_blocklist(space_id, startblock, numblocks, buf)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Sselect_hyperslab(hid_t space_id, H5S_seloper_t op,  hsize_t *start, hsize_t *_stride, hsize_t *count, hsize_t *_block) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sselect_hyperslab(space_id, op, start, _stride, count, _block)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Sencode(hid_t obj_id, void *buf, size_t *nalloc) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Sencode(obj_id, buf, nalloc)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Sdecode(void *buf) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Sdecode(buf)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Tcreate(H5T_class_t type, size_t size) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tcreate(type, size)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Topen(hid_t loc, char* name) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Topen(loc, name)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Tcommit(hid_t loc_id, char* name, hid_t type) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tcommit(loc_id, name, type)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5Tcommitted(hid_t type) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Tcommitted(type)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef hid_t H5Tcopy(hid_t type_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tcopy(type_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef htri_t H5Tequal(hid_t type_id1, hid_t type_id2 ) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Tequal(type_id1, type_id2)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5Tlock(hid_t type_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tlock(type_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5T_class_t H5Tget_class(hid_t type_id) except *:
-    cdef H5T_class_t r
-    with rlock:
-        r = _hdf5.H5Tget_class(type_id)
-        if r<0:
-            if set_exception():
-                return <H5T_class_t>-1;
-        return r
-
-cdef size_t H5Tget_size(hid_t type_id) except *:
-    cdef size_t r
-    with rlock:
-        r = _hdf5.H5Tget_size(type_id)
-        if r==0:
-            if set_exception():
-                return <size_t>0;
-        return r
-
-cdef hid_t H5Tget_super(hid_t type) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tget_super(type)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef htri_t H5Tdetect_class(hid_t type_id, H5T_class_t dtype_class) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Tdetect_class(type_id, dtype_class)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5Tclose(hid_t type_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tclose(type_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Tget_native_type(hid_t type_id, H5T_direction_t direction) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tget_native_type(type_id, direction)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Tconvert(hid_t src_id, hid_t dst_id, size_t nelmts, void *buf, void *background, hid_t plist_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tconvert(src_id, dst_id, nelmts, buf, background, plist_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tset_size(hid_t type_id, size_t size) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_size(type_id, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5T_order_t H5Tget_order(hid_t type_id) except *:
-    cdef H5T_order_t r
-    with rlock:
-        r = _hdf5.H5Tget_order(type_id)
-        if r<0:
-            if set_exception():
-                return <H5T_order_t>-1;
-        return r
-
-cdef herr_t H5Tset_order(hid_t type_id, H5T_order_t order) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_order(type_id, order)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hsize_t H5Tget_precision(hid_t type_id) except *:
-    cdef hsize_t r
-    with rlock:
-        r = _hdf5.H5Tget_precision(type_id)
-        if r==0:
-            if set_exception():
-                return <hsize_t>0;
-        return r
-
-cdef herr_t H5Tset_precision(hid_t type_id, size_t prec) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_precision(type_id, prec)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef int H5Tget_offset(hid_t type_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Tget_offset(type_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5Tset_offset(hid_t type_id, size_t offset) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_offset(type_id, offset)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tget_pad(hid_t type_id, H5T_pad_t * lsb, H5T_pad_t * msb ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tget_pad(type_id, lsb, msb)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tset_pad(hid_t type_id, H5T_pad_t lsb, H5T_pad_t msb ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_pad(type_id, lsb, msb)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5T_sign_t H5Tget_sign(hid_t type_id) except *:
-    cdef H5T_sign_t r
-    with rlock:
-        r = _hdf5.H5Tget_sign(type_id)
-        if r<0:
-            if set_exception():
-                return <H5T_sign_t>-1;
-        return r
-
-cdef herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_sign(type_id, sign)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tget_fields(hid_t type_id, size_t *spos, size_t *epos, size_t *esize, size_t *mpos, size_t *msize ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tget_fields(type_id, spos, epos, esize, mpos, msize)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos, size_t msize ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_fields(type_id, spos, epos, esize, mpos, msize)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef size_t H5Tget_ebias(hid_t type_id) except *:
-    cdef size_t r
-    with rlock:
-        r = _hdf5.H5Tget_ebias(type_id)
-        if r==0:
-            if set_exception():
-                return <size_t>0;
-        return r
-
-cdef herr_t H5Tset_ebias(hid_t type_id, size_t ebias) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_ebias(type_id, ebias)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5T_norm_t H5Tget_norm(hid_t type_id) except *:
-    cdef H5T_norm_t r
-    with rlock:
-        r = _hdf5.H5Tget_norm(type_id)
-        if r<0:
-            if set_exception():
-                return <H5T_norm_t>-1;
-        return r
-
-cdef herr_t H5Tset_norm(hid_t type_id, H5T_norm_t norm) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_norm(type_id, norm)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5T_pad_t H5Tget_inpad(hid_t type_id) except *:
-    cdef H5T_pad_t r
-    with rlock:
-        r = _hdf5.H5Tget_inpad(type_id)
-        if r<0:
-            if set_exception():
-                return <H5T_pad_t>-1;
-        return r
-
-cdef herr_t H5Tset_inpad(hid_t type_id, H5T_pad_t inpad) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_inpad(type_id, inpad)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5T_cset_t H5Tget_cset(hid_t type_id) except *:
-    cdef H5T_cset_t r
-    with rlock:
-        r = _hdf5.H5Tget_cset(type_id)
-        if r<0:
-            if set_exception():
-                return <H5T_cset_t>-1;
-        return r
-
-cdef herr_t H5Tset_cset(hid_t type_id, H5T_cset_t cset) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_cset(type_id, cset)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5T_str_t H5Tget_strpad(hid_t type_id) except *:
-    cdef H5T_str_t r
-    with rlock:
-        r = _hdf5.H5Tget_strpad(type_id)
-        if r<0:
-            if set_exception():
-                return <H5T_str_t>-1;
-        return r
-
-cdef herr_t H5Tset_strpad(hid_t type_id, H5T_str_t strpad) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_strpad(type_id, strpad)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Tvlen_create(hid_t base_type_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tvlen_create(base_type_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef htri_t H5Tis_variable_str(hid_t dtype_id) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Tis_variable_str(dtype_id)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef int H5Tget_nmembers(hid_t type_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Tget_nmembers(type_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef H5T_class_t H5Tget_member_class(hid_t type_id, int member_no) except *:
-    cdef H5T_class_t r
-    with rlock:
-        r = _hdf5.H5Tget_member_class(type_id, member_no)
-        if r<0:
-            if set_exception():
-                return <H5T_class_t>-1;
-        return r
-
-cdef char* H5Tget_member_name(hid_t type_id, unsigned membno) except *:
-    cdef char* r
-    with rlock:
-        r = _hdf5.H5Tget_member_name(type_id, membno)
-        if r==NULL:
-            if set_exception():
-                return <char*>NULL;
-        return r
-
-cdef hid_t H5Tget_member_type(hid_t type_id, unsigned membno) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tget_member_type(type_id, membno)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef int H5Tget_member_offset(hid_t type_id, int membno) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Tget_member_offset(type_id, membno)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef int H5Tget_member_index(hid_t type_id, char* name) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Tget_member_index(type_id, name)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5Tinsert(hid_t parent_id, char *name, size_t offset, hid_t member_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tinsert(parent_id, name, offset, member_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tpack(hid_t type_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tpack(type_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Tenum_create(hid_t base_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tenum_create(base_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Tenum_insert(hid_t type, char *name, void *value) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tenum_insert(type, name, value)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tenum_nameof( hid_t type, void *value, char *name, size_t size ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tenum_nameof(type, value, name, size)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tenum_valueof( hid_t type, char *name, void *value ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tenum_valueof(type, name, value)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tget_member_value(hid_t type,  unsigned int memb_no, void *value ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tget_member_value(type, memb_no, value)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Tarray_create(hid_t base_id, int ndims, hsize_t *dims, int *perm) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tarray_create(base_id, ndims, dims, perm)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef int H5Tget_array_ndims(hid_t type_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Tget_array_ndims(type_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef int H5Tget_array_dims(hid_t type_id, hsize_t *dims, int *perm) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Tget_array_dims(type_id, dims, perm)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5Tset_tag(hid_t type_id, char* tag) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tset_tag(type_id, tag)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef char* H5Tget_tag(hid_t type_id) except *:
-    cdef char* r
-    with rlock:
-        r = _hdf5.H5Tget_tag(type_id)
-        if r==NULL:
-            if set_exception():
-                return <char*>NULL;
-        return r
-
-cdef hid_t H5Tdecode(unsigned char *buf) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Tdecode(buf)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Tencode(hid_t obj_id, unsigned char *buf, size_t *nalloc) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tencode(obj_id, buf, nalloc)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tcommit2(hid_t loc_id, char *name, hid_t dtype_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tcommit2(loc_id, name, dtype_id, lcpl_id, tcpl_id, tapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef H5T_conv_t H5Tfind(hid_t src_id, hid_t dst_id, H5T_cdata_t **pcdata) except *:
-    cdef H5T_conv_t r
-    with rlock:
-        r = _hdf5.H5Tfind(src_id, dst_id, pcdata)
-        if r==NULL:
-            if set_exception():
-                return <H5T_conv_t>NULL;
-        return r
-
-cdef herr_t H5Tregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tregister(pers, name, src_id, dst_id, func)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Tunregister(H5T_pers_t pers, char *name, hid_t src_id, hid_t dst_id, H5T_conv_t func) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Tunregister(pers, name, src_id, dst_id, func)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5Zfilter_avail(H5Z_filter_t id_) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Zfilter_avail(id_)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5Zget_filter_info(H5Z_filter_t filter_, unsigned int *filter_config_flags) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Zget_filter_info(filter_, filter_config_flags)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Acreate(hid_t loc_id, char *name, hid_t type_id, hid_t space_id, hid_t create_plist) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Acreate(loc_id, name, type_id, space_id, create_plist)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Aopen_idx(hid_t loc_id, unsigned int idx) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Aopen_idx(loc_id, idx)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Aopen_name(hid_t loc_id, char *name) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Aopen_name(loc_id, name)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Aclose(hid_t attr_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aclose(attr_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Adelete(hid_t loc_id, char *name) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Adelete(loc_id, name)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Aread(hid_t attr_id, hid_t mem_type_id, void *buf) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aread(attr_id, mem_type_id, buf)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Awrite(hid_t attr_id, hid_t mem_type_id, void *buf ) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Awrite(attr_id, mem_type_id, buf)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef int H5Aget_num_attrs(hid_t loc_id) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5Aget_num_attrs(loc_id)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef ssize_t H5Aget_name(hid_t attr_id, size_t buf_size, char *buf) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5Aget_name(attr_id, buf_size, buf)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef hid_t H5Aget_space(hid_t attr_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Aget_space(attr_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef hid_t H5Aget_type(hid_t attr_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Aget_type(attr_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Aiterate(hid_t loc_id, unsigned * idx, H5A_operator_t op, void* op_data) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aiterate(loc_id, idx, op, op_data)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Adelete_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Adelete_by_name(loc_id, obj_name, attr_name, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Adelete_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Adelete_by_idx(loc_id, obj_name, idx_type, order, n, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hid_t H5Acreate_by_name(hid_t loc_id, char *obj_name, char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t lapl_id) except *:
-    cdef hid_t r
-    with rlock:
-        r = _hdf5.H5Acreate_by_name(loc_id, obj_name, attr_name, type_id, space_id, acpl_id, aapl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <hid_t>-1;
-        return r
-
-cdef herr_t H5Aopen(hid_t obj_id, char *attr_name, hid_t aapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aopen(obj_id, attr_name, aapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Aopen_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t aapl_id, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aopen_by_name(loc_id, obj_name, attr_name, aapl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Aopen_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aopen_by_idx(loc_id, obj_name, idx_type, order, n, aapl_id, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5Aexists_by_name( hid_t loc_id, char *obj_name, char *attr_name, hid_t lapl_id) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Aexists_by_name(loc_id, obj_name, attr_name, lapl_id)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef htri_t H5Aexists(hid_t obj_id, char *attr_name) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5Aexists(obj_id, attr_name)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5Arename(hid_t loc_id, char *old_attr_name, char *new_attr_name) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Arename(loc_id, old_attr_name, new_attr_name)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Arename_by_name(hid_t loc_id, char *obj_name, char *old_attr_name, char *new_attr_name, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Arename_by_name(loc_id, obj_name, old_attr_name, new_attr_name, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Aget_info( hid_t attr_id, H5A_info_t *ainfo) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aget_info(attr_id, ainfo)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Aget_info_by_name(hid_t loc_id, char *obj_name, char *attr_name, H5A_info_t *ainfo, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aget_info_by_name(loc_id, obj_name, attr_name, ainfo, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Aget_info_by_idx(hid_t loc_id, char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5A_info_t *ainfo, hid_t lapl_id) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aget_info_by_idx(loc_id, obj_name, idx_type, order, n, ainfo, lapl_id)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5Aiterate2(hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5Aiterate2(obj_id, idx_type, order, n, op, op_data)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef hsize_t H5Aget_storage_size(hid_t attr_id) except *:
-    cdef hsize_t r
-    with rlock:
-        r = _hdf5.H5Aget_storage_size(attr_id)
-        if r==0:
-            if set_exception():
-                return <hsize_t>0;
-        return r
-
-IF MPI:
-    cdef herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info) except *:
-        cdef herr_t r
-        with rlock:
-            r = _hdf5.H5Pset_fapl_mpio(fapl_id, comm, info)
-            if r<0:
-                if set_exception():
-                    return <herr_t>-1;
-            return r
-    
-IF MPI:
-    cdef herr_t H5Pset_fapl_mpiposix(hid_t fapl_id, MPI_Comm comm, hbool_t hints) except *:
-        cdef herr_t r
-        with rlock:
-            r = _hdf5.H5Pset_fapl_mpiposix(fapl_id, comm, hints)
-            if r<0:
-                if set_exception():
-                    return <herr_t>-1;
-            return r
-    
-IF HDF5_VERSION >= (1, 8, 9):
-    IF MPI:
-        cdef herr_t H5Fset_mpi_atomicity(hid_t file_id, hbool_t flag) except *:
-            cdef herr_t r
-            with rlock:
-                r = _hdf5.H5Fset_mpi_atomicity(file_id, flag)
-                if r<0:
-                    if set_exception():
-                        return <herr_t>-1;
-                return r
-        
-IF HDF5_VERSION >= (1, 8, 9):
-    IF MPI:
-        cdef herr_t H5Fget_mpi_atomicity(hid_t file_id, hbool_t *flag) except *:
-            cdef herr_t r
-            with rlock:
-                r = _hdf5.H5Fget_mpi_atomicity(file_id, flag)
-                if r<0:
-                    if set_exception():
-                        return <herr_t>-1;
-                return r
-        
-cdef herr_t H5DSattach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5DSattach_scale(did, dsid, idx)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5DSdetach_scale(hid_t did, hid_t dsid, unsigned int idx) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5DSdetach_scale(did, dsid, idx)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef herr_t H5DSset_scale(hid_t dsid, char *dimname) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5DSset_scale(dsid, dimname)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef int H5DSget_num_scales(hid_t did, unsigned int dim) except *:
-    cdef int r
-    with rlock:
-        r = _hdf5.H5DSget_num_scales(did, dim)
-        if r<0:
-            if set_exception():
-                return <int>-1;
-        return r
-
-cdef herr_t H5DSset_label(hid_t did, unsigned int idx, char *label) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5DSset_label(did, idx, label)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef ssize_t H5DSget_label(hid_t did, unsigned int idx, char *label, size_t size) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5DSget_label(did, idx, label, size)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef ssize_t H5DSget_scale_name(hid_t did, char *name, size_t size) except *:
-    cdef ssize_t r
-    with rlock:
-        r = _hdf5.H5DSget_scale_name(did, name, size)
-        if r<0:
-            if set_exception():
-                return <ssize_t>-1;
-        return r
-
-cdef htri_t H5DSis_scale(hid_t did) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5DSis_scale(did)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
-cdef herr_t H5DSiterate_scales(hid_t did, unsigned int dim, int *idx, H5DS_iterate_t visitor, void *visitor_data) except *:
-    cdef herr_t r
-    with rlock:
-        r = _hdf5.H5DSiterate_scales(did, dim, idx, visitor, visitor_data)
-        if r<0:
-            if set_exception():
-                return <herr_t>-1;
-        return r
-
-cdef htri_t H5DSis_attached(hid_t did, hid_t dsid, unsigned int idx) except *:
-    cdef htri_t r
-    with rlock:
-        r = _hdf5.H5DSis_attached(did, dsid, idx)
-        if r<0:
-            if set_exception():
-                return <htri_t>-1;
-        return r
-
diff --git a/h5py/h5.c b/h5py/h5.c
deleted file mode 100644
index 19491d3..0000000
--- a/h5py/h5.c
+++ /dev/null
@@ -1,5480 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5
-#define __PYX_HAVE_API__h5py__h5
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5.pyx",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__;
-struct __pyx_obj_4h5py_2h5_H5PYConfig;
-
-/* "h5py/h5.pyx":66
- *         """
- * 
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             import sys
- *             def handle_val(val):
- */
-struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ {
-  PyObject_HEAD
-  PyObject *__pyx_v_sys;
-};
-
-
-/* "h5py/h5.pxd":12
- * from defs cimport *
- * 
- * cdef class H5PYConfig:             # <<<<<<<<<<<<<<
- * 
- *     cdef readonly object _r_name
- */
-struct __pyx_obj_4h5py_2h5_H5PYConfig {
-  PyObject_HEAD
-  PyObject *_r_name;
-  PyObject *_i_name;
-  PyObject *_f_name;
-  PyObject *_t_name;
-  PyObject *API_16;
-  PyObject *API_18;
-  PyObject *_bytestrings;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
-
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
-    PyObject *r;
-    if (!j) return NULL;
-    r = PyObject_GetItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-#define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_List_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
-        PyObject *r = PyList_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Tuple_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
-        PyObject *r = PyTuple_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (PyList_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
-            PyObject *r = PyList_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    }
-    else if (PyTuple_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
-            PyObject *r = PyTuple_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    } else {  /* inlined PySequence_GetItem() */
-        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-        if (likely(m && m->sq_item)) {
-            if (unlikely(i < 0) && likely(m->sq_length)) {
-                Py_ssize_t l = m->sq_length(o);
-                if (unlikely(l < 0)) return NULL;
-                i += l;
-            }
-            return m->sq_item(o, i);
-        }
-    }
-#else
-    if (PySequence_Check(o)) {
-        return PySequence_GetItem(o, i);
-    }
-#endif
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_FindPy2Metaclass(PyObject *bases); /*proto*/
-
-static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name,
-                                   PyObject *qualname, PyObject *modname); /*proto*/
-
-#define __Pyx_CyFunction_USED 1
-#include <structmember.h>
-#define __Pyx_CYFUNCTION_STATICMETHOD  0x01
-#define __Pyx_CYFUNCTION_CLASSMETHOD   0x02
-#define __Pyx_CYFUNCTION_CCLASS        0x04
-#define __Pyx_CyFunction_GetClosure(f) \
-    (((__pyx_CyFunctionObject *) (f))->func_closure)
-#define __Pyx_CyFunction_GetClassObj(f) \
-    (((__pyx_CyFunctionObject *) (f))->func_classobj)
-#define __Pyx_CyFunction_Defaults(type, f) \
-    ((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
-#define __Pyx_CyFunction_SetDefaultsGetter(f, g) \
-    ((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
-typedef struct {
-    PyCFunctionObject func;
-    int flags;
-    PyObject *func_dict;
-    PyObject *func_weakreflist;
-    PyObject *func_name;
-    PyObject *func_qualname;
-    PyObject *func_doc;
-    PyObject *func_code;
-    PyObject *func_closure;
-    PyObject *func_classobj; /* No-args super() class cell */
-    void *defaults;
-    int defaults_pyobjects;
-    PyObject *defaults_tuple; /* Const defaults tuple */
-    PyObject *(*defaults_getter)(PyObject *);
-} __pyx_CyFunctionObject;
-static PyTypeObject *__pyx_CyFunctionType = 0;
-#define __Pyx_CyFunction_NewEx(ml, flags, qualname, self, module, code) \
-    __Pyx_CyFunction_New(__pyx_CyFunctionType, ml, flags, qualname, self, module, code)
-static PyObject *__Pyx_CyFunction_New(PyTypeObject *, PyMethodDef *ml,
-                                      int flags, PyObject* qualname,
-                                      PyObject *self, PyObject *module,
-                                      PyObject* code);
-static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m,
-                                                         size_t size,
-                                                         int pyobjects);
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m,
-                                                            PyObject *tuple);
-static int __Pyx_CyFunction_init(void);
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static herr_t (*__pyx_f_4h5py_4defs_H5get_libversion)(unsigned int *, unsigned int *, unsigned int *); /*proto*/
-
-/* Module declarations from 'h5py.h5' */
-static PyTypeObject *__pyx_ptype_4h5py_2h5_H5PYConfig = 0;
-static PyTypeObject *__pyx_ptype_4h5py_2h5___pyx_scope_struct____get__ = 0;
-static struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_4h5py_2h5_cfg = 0;
-static struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_f_4h5py_2h5_get_config(int __pyx_skip_dispatch); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5"
-int __pyx_module_is_main_h5py__h5 = 0;
-
-/* Implementation of 'h5py.h5' */
-static PyObject *__pyx_builtin_object;
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_Exception;
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext_2__bool__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext_4__nonzero__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext_6__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext_8__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
-static int __pyx_pf_4h5py_2h5_10H5PYConfig___init__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__get___handle_val(PyObject *__pyx_self, PyObject *__pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__set___handle_val(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val); /* proto */
-static int __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_2__set__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_10bool_names___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_2h5_10H5PYConfig_10bool_names_2__set__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self, PyObject *__pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_17read_byte_strings___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_3mpi___get__(CYTHON_UNUSED struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_7_r_name___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_7_i_name___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_7_f_name___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_7_t_name___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_6API_16___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_6API_18___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_12_bytestrings___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_get_config(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static PyObject *__pyx_pf_4h5py_2h5_2get_libversion(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static char __pyx_k_4[] = "/home/computer/h5py/h5py/h5.pyx";
-static char __pyx_k_5[] = "H5PYConfig.complex_names.__get__.<locals>.handle_val";
-static char __pyx_k_6[] = "h5py.h5";
-static char __pyx_k_10[] = "H5PYConfig.complex_names.__set__.<locals>.handle_val";
-static char __pyx_k_11[] = "complex_names must be a length-2 sequence of strings (real, img)";
-static char __pyx_k_13[] = "bool_names must be a length-2 sequence of of names (false, true)";
-static char __pyx_k_15[] = " Settable 2-tuple controlling how complex numbers are saved.\n\n        Format is (real_name, imag_name), defaulting to ('r','i').\n        ";
-static char __pyx_k_16[] = " Settable 2-tuple controlling HDF5 ENUM names for boolean types.\n\n        Format is (false_name, real_name), defaulting to ('FALSE', 'TRUE').\n        ";
-static char __pyx_k_17[] = " Returns a context manager which forces all strings to be returned\n        as byte strings. ";
-static char __pyx_k_18[] = " Boolean indicating if Parallel HDF5 is available ";
-static char __pyx_k_21[] = "ByteStringContext.__init__";
-static char __pyx_k_24[] = "ByteStringContext.__bool__";
-static char __pyx_k_27[] = "ByteStringContext.__nonzero__";
-static char __pyx_k_30[] = "ByteStringContext.__enter__";
-static char __pyx_k_33[] = "ByteStringContext.__exit__";
-static char __pyx_k__3[] = "3";
-static char __pyx_k__i[] = "i";
-static char __pyx_k__r[] = "r";
-static char __pyx_k__sys[] = "sys";
-static char __pyx_k__val[] = "val";
-static char __pyx_k__TRUE[] = "TRUE";
-static char __pyx_k__args[] = "args";
-static char __pyx_k__self[] = "self";
-static char __pyx_k__utf8[] = "utf8";
-static char __pyx_k__FALSE[] = "FALSE";
-static char __pyx_k__major[] = "major";
-static char __pyx_k__minor[] = "minor";
-static char __pyx_k__decode[] = "decode";
-static char __pyx_k__encode[] = "encode";
-static char __pyx_k__object[] = "object";
-static char __pyx_k__retval[] = "retval";
-static char __pyx_k__release[] = "release";
-static char __pyx_k__version[] = "version";
-static char __pyx_k__ITER_DEC[] = "ITER_DEC";
-static char __pyx_k__ITER_INC[] = "ITER_INC";
-static char __pyx_k____bool__[] = "__bool__";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____init__[] = "__init__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__Exception[] = "Exception";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__INDEX_NAME[] = "INDEX_NAME";
-static char __pyx_k___readbytes[] = "_readbytes";
-static char __pyx_k__handle_val[] = "handle_val";
-static char __pyx_k__ITER_NATIVE[] = "ITER_NATIVE";
-static char __pyx_k____nonzero__[] = "__nonzero__";
-static char __pyx_k__get_libversion[] = "get_libversion";
-static char __pyx_k__INDEX_CRT_ORDER[] = "INDEX_CRT_ORDER";
-static char __pyx_k__ByteStringContext[] = "ByteStringContext";
-static PyObject *__pyx_n_s_10;
-static PyObject *__pyx_kp_s_11;
-static PyObject *__pyx_kp_s_13;
-static PyObject *__pyx_n_s_21;
-static PyObject *__pyx_n_s_24;
-static PyObject *__pyx_n_s_27;
-static PyObject *__pyx_n_s_30;
-static PyObject *__pyx_n_s_33;
-static PyObject *__pyx_kp_s_4;
-static PyObject *__pyx_n_s_5;
-static PyObject *__pyx_n_s_6;
-static PyObject *__pyx_kp_s__3;
-static PyObject *__pyx_n_s__ByteStringContext;
-static PyObject *__pyx_n_s__Exception;
-static PyObject *__pyx_n_b__FALSE;
-static PyObject *__pyx_n_s__INDEX_CRT_ORDER;
-static PyObject *__pyx_n_s__INDEX_NAME;
-static PyObject *__pyx_n_s__ITER_DEC;
-static PyObject *__pyx_n_s__ITER_INC;
-static PyObject *__pyx_n_s__ITER_NATIVE;
-static PyObject *__pyx_n_b__TRUE;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s____bool__;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____init__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____nonzero__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___readbytes;
-static PyObject *__pyx_n_s__args;
-static PyObject *__pyx_n_s__decode;
-static PyObject *__pyx_n_s__encode;
-static PyObject *__pyx_n_s__get_libversion;
-static PyObject *__pyx_n_s__handle_val;
-static PyObject *__pyx_n_b__i;
-static PyObject *__pyx_n_s__major;
-static PyObject *__pyx_n_s__minor;
-static PyObject *__pyx_n_s__object;
-static PyObject *__pyx_n_b__r;
-static PyObject *__pyx_n_s__release;
-static PyObject *__pyx_n_s__retval;
-static PyObject *__pyx_n_s__self;
-static PyObject *__pyx_n_s__sys;
-static PyObject *__pyx_n_s__utf8;
-static PyObject *__pyx_n_s__val;
-static PyObject *__pyx_n_s__version;
-static PyObject *__pyx_k_tuple_1;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_7;
-static PyObject *__pyx_k_tuple_8;
-static PyObject *__pyx_k_tuple_12;
-static PyObject *__pyx_k_tuple_14;
-static PyObject *__pyx_k_tuple_19;
-static PyObject *__pyx_k_tuple_22;
-static PyObject *__pyx_k_tuple_25;
-static PyObject *__pyx_k_tuple_28;
-static PyObject *__pyx_k_tuple_31;
-static PyObject *__pyx_k_tuple_34;
-static PyObject *__pyx_k_codeobj_3;
-static PyObject *__pyx_k_codeobj_9;
-static PyObject *__pyx_k_codeobj_20;
-static PyObject *__pyx_k_codeobj_23;
-static PyObject *__pyx_k_codeobj_26;
-static PyObject *__pyx_k_codeobj_29;
-static PyObject *__pyx_k_codeobj_32;
-static PyObject *__pyx_k_codeobj_35;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_2h5_17ByteStringContext_1__init__ = {__Pyx_NAMESTR("__init__"), (PyCFunction)__pyx_pw_4h5py_2h5_17ByteStringContext_1__init__, METH_O, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_17ByteStringContext___init__(__pyx_self, ((PyObject *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":23
- * class ByteStringContext(object):
- * 
- *     def __init__(self):             # <<<<<<<<<<<<<<
- *         self._readbytes = False
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5.pyx":24
- * 
- *     def __init__(self):
- *         self._readbytes = False             # <<<<<<<<<<<<<<
- * 
- *     def __bool__(self):
- */
-  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s___readbytes, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5.ByteStringContext.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_3__bool__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_2h5_17ByteStringContext_3__bool__ = {__Pyx_NAMESTR("__bool__"), (PyCFunction)__pyx_pw_4h5py_2h5_17ByteStringContext_3__bool__, METH_O, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_3__bool__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__bool__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_17ByteStringContext_2__bool__(__pyx_self, ((PyObject *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":26
- *         self._readbytes = False
- * 
- *     def __bool__(self):             # <<<<<<<<<<<<<<
- *         return self._readbytes
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext_2__bool__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__bool__", 0);
-
-  /* "h5py/h5.pyx":27
- * 
- *     def __bool__(self):
- *         return self._readbytes             # <<<<<<<<<<<<<<
- * 
- *     def __nonzero__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s___readbytes); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5.ByteStringContext.__bool__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_5__nonzero__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_2h5_17ByteStringContext_5__nonzero__ = {__Pyx_NAMESTR("__nonzero__"), (PyCFunction)__pyx_pw_4h5py_2h5_17ByteStringContext_5__nonzero__, METH_O, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_5__nonzero__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__nonzero__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_17ByteStringContext_4__nonzero__(__pyx_self, ((PyObject *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":29
- *         return self._readbytes
- * 
- *     def __nonzero__(self):             # <<<<<<<<<<<<<<
- *         return self.__bool__()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext_4__nonzero__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__nonzero__", 0);
-
-  /* "h5py/h5.pyx":30
- * 
- *     def __nonzero__(self):
- *         return self.__bool__()             # <<<<<<<<<<<<<<
- * 
- *     def __enter__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s____bool__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5.ByteStringContext.__nonzero__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_7__enter__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_2h5_17ByteStringContext_7__enter__ = {__Pyx_NAMESTR("__enter__"), (PyCFunction)__pyx_pw_4h5py_2h5_17ByteStringContext_7__enter__, METH_O, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_7__enter__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__enter__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_17ByteStringContext_6__enter__(__pyx_self, ((PyObject *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":32
- *         return self.__bool__()
- * 
- *     def __enter__(self):             # <<<<<<<<<<<<<<
- *         self._readbytes = True
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext_6__enter__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__enter__", 0);
-
-  /* "h5py/h5.pyx":33
- * 
- *     def __enter__(self):
- *         self._readbytes = True             # <<<<<<<<<<<<<<
- * 
- *     def __exit__(self, *args):
- */
-  __pyx_t_1 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s___readbytes, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5.ByteStringContext.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_9__exit__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_2h5_17ByteStringContext_9__exit__ = {__Pyx_NAMESTR("__exit__"), (PyCFunction)__pyx_pw_4h5py_2h5_17ByteStringContext_9__exit__, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_2h5_17ByteStringContext_9__exit__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_self = 0;
-  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__exit__ (wrapper)", 0);
-  if (PyTuple_GET_SIZE(__pyx_args) > 1) {
-    __pyx_v_args = PyTuple_GetSlice(__pyx_args, 1, PyTuple_GET_SIZE(__pyx_args));
-    if (unlikely(!__pyx_v_args)) {
-      __Pyx_RefNannyFinishContext();
-      return NULL;
-    }
-    __Pyx_GOTREF(__pyx_v_args);
-  } else {
-    __pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
-  }
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__self,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        default:
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__self)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        const Py_ssize_t used_pos_args = (pos_args < 1) ? pos_args : 1;
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "__exit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) < 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_self = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__exit__", 0, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
-  __Pyx_AddTraceback("h5py.h5.ByteStringContext.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_2h5_17ByteStringContext_8__exit__(__pyx_self, __pyx_v_self, __pyx_v_args);
-  __Pyx_XDECREF(__pyx_v_args);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":35
- *         self._readbytes = True
- * 
- *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
- *         self._readbytes = False
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_17ByteStringContext_8__exit__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__exit__", 0);
-
-  /* "h5py/h5.pyx":36
- * 
- *     def __exit__(self, *args):
- *         self._readbytes = False             # <<<<<<<<<<<<<<
- * 
- * cdef class H5PYConfig:
- */
-  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_v_self, __pyx_n_s___readbytes, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5.ByteStringContext.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_2h5_10H5PYConfig_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_2h5_10H5PYConfig_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
-  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig___init__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":53
- *     """
- * 
- *     def __init__(self):             # <<<<<<<<<<<<<<
- *         self._r_name = b'r'
- *         self._i_name = b'i'
- */
-
-static int __pyx_pf_4h5py_2h5_10H5PYConfig___init__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5.pyx":54
- * 
- *     def __init__(self):
- *         self._r_name = b'r'             # <<<<<<<<<<<<<<
- *         self._i_name = b'i'
- *         self._f_name = b'FALSE'
- */
-  __Pyx_INCREF(((PyObject *)__pyx_n_b__r));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_b__r));
-  __Pyx_GOTREF(__pyx_v_self->_r_name);
-  __Pyx_DECREF(__pyx_v_self->_r_name);
-  __pyx_v_self->_r_name = ((PyObject *)__pyx_n_b__r);
-
-  /* "h5py/h5.pyx":55
- *     def __init__(self):
- *         self._r_name = b'r'
- *         self._i_name = b'i'             # <<<<<<<<<<<<<<
- *         self._f_name = b'FALSE'
- *         self._t_name = b'TRUE'
- */
-  __Pyx_INCREF(((PyObject *)__pyx_n_b__i));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_b__i));
-  __Pyx_GOTREF(__pyx_v_self->_i_name);
-  __Pyx_DECREF(__pyx_v_self->_i_name);
-  __pyx_v_self->_i_name = ((PyObject *)__pyx_n_b__i);
-
-  /* "h5py/h5.pyx":56
- *         self._r_name = b'r'
- *         self._i_name = b'i'
- *         self._f_name = b'FALSE'             # <<<<<<<<<<<<<<
- *         self._t_name = b'TRUE'
- *         self._bytestrings = ByteStringContext()
- */
-  __Pyx_INCREF(((PyObject *)__pyx_n_b__FALSE));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_b__FALSE));
-  __Pyx_GOTREF(__pyx_v_self->_f_name);
-  __Pyx_DECREF(__pyx_v_self->_f_name);
-  __pyx_v_self->_f_name = ((PyObject *)__pyx_n_b__FALSE);
-
-  /* "h5py/h5.pyx":57
- *         self._i_name = b'i'
- *         self._f_name = b'FALSE'
- *         self._t_name = b'TRUE'             # <<<<<<<<<<<<<<
- *         self._bytestrings = ByteStringContext()
- * 
- */
-  __Pyx_INCREF(((PyObject *)__pyx_n_b__TRUE));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_b__TRUE));
-  __Pyx_GOTREF(__pyx_v_self->_t_name);
-  __Pyx_DECREF(__pyx_v_self->_t_name);
-  __pyx_v_self->_t_name = ((PyObject *)__pyx_n_b__TRUE);
-
-  /* "h5py/h5.pyx":58
- *         self._f_name = b'FALSE'
- *         self._t_name = b'TRUE'
- *         self._bytestrings = ByteStringContext()             # <<<<<<<<<<<<<<
- * 
- *     property complex_names:
- */
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__ByteStringContext); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_GIVEREF(__pyx_t_2);
-  __Pyx_GOTREF(__pyx_v_self->_bytestrings);
-  __Pyx_DECREF(__pyx_v_self->_bytestrings);
-  __pyx_v_self->_bytestrings = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5.H5PYConfig.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_7__get___1handle_val(PyObject *__pyx_self, PyObject *__pyx_v_val); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_2h5_10H5PYConfig_13complex_names_7__get___1handle_val = {__Pyx_NAMESTR("handle_val"), (PyCFunction)__pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_7__get___1handle_val, METH_O, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_7__get___1handle_val(PyObject *__pyx_self, PyObject *__pyx_v_val) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("handle_val (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__get___handle_val(__pyx_self, ((PyObject *)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":68
- *         def __get__(self):
- *             import sys
- *             def handle_val(val):             # <<<<<<<<<<<<<<
- *                 if sys.version[0] == '3':
- *                     return val.decode('utf8')
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__get___handle_val(PyObject *__pyx_self, PyObject *__pyx_v_val) {
-  struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *__pyx_cur_scope;
-  struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *__pyx_outer_scope;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("handle_val", 0);
-  __pyx_outer_scope = (struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *) __Pyx_CyFunction_GetClosure(__pyx_self);
-  __pyx_cur_scope = __pyx_outer_scope;
-
-  /* "h5py/h5.pyx":69
- *             import sys
- *             def handle_val(val):
- *                 if sys.version[0] == '3':             # <<<<<<<<<<<<<<
- *                     return val.decode('utf8')
- *                 return val
- */
-  if (unlikely(!__pyx_cur_scope->__pyx_v_sys)) { __Pyx_RaiseClosureNameError("sys"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
-  __pyx_t_1 = PyObject_GetAttr(__pyx_cur_scope->__pyx_v_sys, __pyx_n_s__version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_RichCompare(__pyx_t_2, ((PyObject *)__pyx_kp_s__3), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (__pyx_t_3) {
-
-    /* "h5py/h5.pyx":70
- *             def handle_val(val):
- *                 if sys.version[0] == '3':
- *                     return val.decode('utf8')             # <<<<<<<<<<<<<<
- *                 return val
- *             return (handle_val(self._r_name), handle_val(self._i_name))
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_1 = PyObject_GetAttr(__pyx_v_val, __pyx_n_s__decode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_k_tuple_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_r = __pyx_t_2;
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5.pyx":71
- *                 if sys.version[0] == '3':
- *                     return val.decode('utf8')
- *                 return val             # <<<<<<<<<<<<<<
- *             return (handle_val(self._r_name), handle_val(self._i_name))
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_val);
-  __pyx_r = __pyx_v_val;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5.H5PYConfig.complex_names.__get__.handle_val", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":66
- *         """
- * 
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             import sys
- *             def handle_val(val):
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *__pyx_cur_scope;
-  PyObject *__pyx_v_handle_val = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __pyx_cur_scope = (struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *)__pyx_ptype_4h5py_2h5___pyx_scope_struct____get__->tp_new(__pyx_ptype_4h5py_2h5___pyx_scope_struct____get__, __pyx_empty_tuple, NULL);
-  if (unlikely(!__pyx_cur_scope)) {
-    __Pyx_RefNannyFinishContext();
-    return NULL;
-  }
-  __Pyx_GOTREF(__pyx_cur_scope);
-
-  /* "h5py/h5.pyx":67
- * 
- *         def __get__(self):
- *             import sys             # <<<<<<<<<<<<<<
- *             def handle_val(val):
- *                 if sys.version[0] == '3':
- */
-  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_cur_scope->__pyx_v_sys = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5.pyx":68
- *         def __get__(self):
- *             import sys
- *             def handle_val(val):             # <<<<<<<<<<<<<<
- *                 if sys.version[0] == '3':
- *                     return val.decode('utf8')
- */
-  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4h5py_2h5_10H5PYConfig_13complex_names_7__get___1handle_val, 0, __pyx_n_s_5, ((PyObject*)__pyx_cur_scope), __pyx_n_s_6, ((PyObject *)__pyx_k_codeobj_3)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_handle_val = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5.pyx":72
- *                     return val.decode('utf8')
- *                 return val
- *             return (handle_val(self._r_name), handle_val(self._i_name))             # <<<<<<<<<<<<<<
- * 
- *         def __set__(self, val):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_v_self->_r_name;
-  __Pyx_INCREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__get___handle_val(__pyx_v_handle_val, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = __pyx_v_self->_i_name;
-  __Pyx_INCREF(__pyx_t_1);
-  __pyx_t_3 = __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__get___handle_val(__pyx_v_handle_val, __pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5.H5PYConfig.complex_names.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_handle_val);
-  __Pyx_DECREF(((PyObject *)__pyx_cur_scope));
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
-static int __pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_2__set__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self), ((PyObject *)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_7__set___1handle_val(PyObject *__pyx_self, PyObject *__pyx_v_val); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_2h5_10H5PYConfig_13complex_names_7__set___1handle_val = {__Pyx_NAMESTR("handle_val"), (PyCFunction)__pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_7__set___1handle_val, METH_O, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_7__set___1handle_val(PyObject *__pyx_self, PyObject *__pyx_v_val) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("handle_val (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__set___handle_val(__pyx_self, ((PyObject *)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":75
- * 
- *         def __set__(self, val):
- *             def handle_val(val):             # <<<<<<<<<<<<<<
- *                 if isinstance(val, unicode):
- *                     return val.encode('utf8')
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__set___handle_val(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_val) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("handle_val", 0);
-
-  /* "h5py/h5.pyx":76
- *         def __set__(self, val):
- *             def handle_val(val):
- *                 if isinstance(val, unicode):             # <<<<<<<<<<<<<<
- *                     return val.encode('utf8')
- *                 elif isinstance(val, bytes):
- */
-  __pyx_t_1 = PyUnicode_Check(__pyx_v_val); 
-  if (__pyx_t_1) {
-
-    /* "h5py/h5.pyx":77
- *             def handle_val(val):
- *                 if isinstance(val, unicode):
- *                     return val.encode('utf8')             # <<<<<<<<<<<<<<
- *                 elif isinstance(val, bytes):
- *                     return val
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_v_val, __pyx_n_s__encode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_k_tuple_7), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_r = __pyx_t_3;
-    __pyx_t_3 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5.pyx":78
- *                 if isinstance(val, unicode):
- *                     return val.encode('utf8')
- *                 elif isinstance(val, bytes):             # <<<<<<<<<<<<<<
- *                     return val
- *                 else:
- */
-  __pyx_t_1 = PyBytes_Check(__pyx_v_val); 
-  if (__pyx_t_1) {
-
-    /* "h5py/h5.pyx":79
- *                     return val.encode('utf8')
- *                 elif isinstance(val, bytes):
- *                     return val             # <<<<<<<<<<<<<<
- *                 else:
- *                     return bytes(val)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(__pyx_v_val);
-    __pyx_r = __pyx_v_val;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5.pyx":81
- *                     return val
- *                 else:
- *                     return bytes(val)             # <<<<<<<<<<<<<<
- *             try:
- *                 if len(val) != 2: raise TypeError()
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_INCREF(__pyx_v_val);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_val);
-    __Pyx_GIVEREF(__pyx_v_val);
-    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyBytes_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_r = __pyx_t_2;
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5.H5PYConfig.complex_names.__set__.handle_val", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":74
- *             return (handle_val(self._r_name), handle_val(self._i_name))
- * 
- *         def __set__(self, val):             # <<<<<<<<<<<<<<
- *             def handle_val(val):
- *                 if isinstance(val, unicode):
- */
-
-static int __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_2__set__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self, PyObject *__pyx_v_val) {
-  PyObject *__pyx_v_handle_val = 0;
-  PyObject *__pyx_v_r = NULL;
-  PyObject *__pyx_v_i = NULL;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  Py_ssize_t __pyx_t_5;
-  int __pyx_t_6;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5.pyx":75
- * 
- *         def __set__(self, val):
- *             def handle_val(val):             # <<<<<<<<<<<<<<
- *                 if isinstance(val, unicode):
- *                     return val.encode('utf8')
- */
-  __pyx_t_1 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4h5py_2h5_10H5PYConfig_13complex_names_7__set___1handle_val, 0, __pyx_n_s_10, NULL, __pyx_n_s_6, ((PyObject *)__pyx_k_codeobj_9)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_handle_val = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5.pyx":82
- *                 else:
- *                     return bytes(val)
- *             try:             # <<<<<<<<<<<<<<
- *                 if len(val) != 2: raise TypeError()
- *                 r = handle_val(val[0])
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
-    __Pyx_XGOTREF(__pyx_t_2);
-    __Pyx_XGOTREF(__pyx_t_3);
-    __Pyx_XGOTREF(__pyx_t_4);
-    /*try:*/ {
-
-      /* "h5py/h5.pyx":83
- *                     return bytes(val)
- *             try:
- *                 if len(val) != 2: raise TypeError()             # <<<<<<<<<<<<<<
- *                 r = handle_val(val[0])
- *                 i = handle_val(val[1])
- */
-      __pyx_t_5 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __pyx_t_6 = (__pyx_t_5 != 2);
-      if (__pyx_t_6) {
-        __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(__pyx_t_1);
-        __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        goto __pyx_L11;
-      }
-      __pyx_L11:;
-
-      /* "h5py/h5.pyx":84
- *             try:
- *                 if len(val) != 2: raise TypeError()
- *                 r = handle_val(val[0])             # <<<<<<<<<<<<<<
- *                 i = handle_val(val[1])
- *             except Exception:
- */
-      __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_val, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_1);
-      __pyx_t_7 = __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__set___handle_val(__pyx_v_handle_val, __pyx_t_1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-      __pyx_v_r = __pyx_t_7;
-      __pyx_t_7 = 0;
-
-      /* "h5py/h5.pyx":85
- *                 if len(val) != 2: raise TypeError()
- *                 r = handle_val(val[0])
- *                 i = handle_val(val[1])             # <<<<<<<<<<<<<<
- *             except Exception:
- *                 raise TypeError("complex_names must be a length-2 sequence of strings (real, img)")
- */
-      __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_val, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      __pyx_t_1 = __pyx_pf_4h5py_2h5_10H5PYConfig_13complex_names_7__set___handle_val(__pyx_v_handle_val, __pyx_t_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_1);
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __pyx_v_i = __pyx_t_1;
-      __pyx_t_1 = 0;
-    }
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-    goto __pyx_L10_try_end;
-    __pyx_L3_error:;
-    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-    /* "h5py/h5.pyx":86
- *                 r = handle_val(val[0])
- *                 i = handle_val(val[1])
- *             except Exception:             # <<<<<<<<<<<<<<
- *                 raise TypeError("complex_names must be a length-2 sequence of strings (real, img)")
- *             self._r_name = r
- */
-    __pyx_t_8 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
-    if (__pyx_t_8) {
-      __Pyx_AddTraceback("h5py.h5.H5PYConfig.complex_names.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_7, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_1);
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_GOTREF(__pyx_t_9);
-
-      /* "h5py/h5.pyx":87
- *                 i = handle_val(val[1])
- *             except Exception:
- *                 raise TypeError("complex_names must be a length-2 sequence of strings (real, img)")             # <<<<<<<<<<<<<<
- *             self._r_name = r
- *             self._i_name = i
- */
-      __pyx_t_10 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_12), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_10);
-      __Pyx_Raise(__pyx_t_10, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-      goto __pyx_L4_exception_handled;
-    }
-    __pyx_L5_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_XGIVEREF(__pyx_t_4);
-    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-    goto __pyx_L1_error;
-    __pyx_L4_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_XGIVEREF(__pyx_t_4);
-    __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-    __pyx_L10_try_end:;
-  }
-
-  /* "h5py/h5.pyx":88
- *             except Exception:
- *                 raise TypeError("complex_names must be a length-2 sequence of strings (real, img)")
- *             self._r_name = r             # <<<<<<<<<<<<<<
- *             self._i_name = i
- * 
- */
-  __Pyx_INCREF(__pyx_v_r);
-  __Pyx_GIVEREF(__pyx_v_r);
-  __Pyx_GOTREF(__pyx_v_self->_r_name);
-  __Pyx_DECREF(__pyx_v_self->_r_name);
-  __pyx_v_self->_r_name = __pyx_v_r;
-
-  /* "h5py/h5.pyx":89
- *                 raise TypeError("complex_names must be a length-2 sequence of strings (real, img)")
- *             self._r_name = r
- *             self._i_name = i             # <<<<<<<<<<<<<<
- * 
- *     property bool_names:
- */
-  __Pyx_INCREF(__pyx_v_i);
-  __Pyx_GIVEREF(__pyx_v_i);
-  __Pyx_GOTREF(__pyx_v_self->_i_name);
-  __Pyx_DECREF(__pyx_v_self->_i_name);
-  __pyx_v_self->_i_name = __pyx_v_i;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.h5.H5PYConfig.complex_names.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_handle_val);
-  __Pyx_XDECREF(__pyx_v_r);
-  __Pyx_XDECREF(__pyx_v_i);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_10bool_names_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_10bool_names_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_10bool_names___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":96
- *         Format is (false_name, real_name), defaulting to ('FALSE', 'TRUE').
- *         """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return (self._f_name, self._t_name)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_10bool_names___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5.pyx":97
- *         """
- *         def __get__(self):
- *             return (self._f_name, self._t_name)             # <<<<<<<<<<<<<<
- * 
- *         def __set__(self, val):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(__pyx_v_self->_f_name);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_self->_f_name);
-  __Pyx_GIVEREF(__pyx_v_self->_f_name);
-  __Pyx_INCREF(__pyx_v_self->_t_name);
-  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_self->_t_name);
-  __Pyx_GIVEREF(__pyx_v_self->_t_name);
-  __pyx_r = ((PyObject *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5.H5PYConfig.bool_names.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_2h5_10H5PYConfig_10bool_names_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val); /*proto*/
-static int __pyx_pw_4h5py_2h5_10H5PYConfig_10bool_names_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_10bool_names_2__set__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self), ((PyObject *)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":99
- *             return (self._f_name, self._t_name)
- * 
- *         def __set__(self, val):             # <<<<<<<<<<<<<<
- *             try:
- *                 if len(val) != 2: raise TypeError()
- */
-
-static int __pyx_pf_4h5py_2h5_10H5PYConfig_10bool_names_2__set__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self, PyObject *__pyx_v_val) {
-  PyObject *__pyx_v_f = NULL;
-  PyObject *__pyx_v_t = NULL;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  Py_ssize_t __pyx_t_4;
-  int __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5.pyx":100
- * 
- *         def __set__(self, val):
- *             try:             # <<<<<<<<<<<<<<
- *                 if len(val) != 2: raise TypeError()
- *                 f = str(val[0])
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
-    __Pyx_XGOTREF(__pyx_t_1);
-    __Pyx_XGOTREF(__pyx_t_2);
-    __Pyx_XGOTREF(__pyx_t_3);
-    /*try:*/ {
-
-      /* "h5py/h5.pyx":101
- *         def __set__(self, val):
- *             try:
- *                 if len(val) != 2: raise TypeError()             # <<<<<<<<<<<<<<
- *                 f = str(val[0])
- *                 t = str(val[1])
- */
-      __pyx_t_4 = PyObject_Length(__pyx_v_val); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __pyx_t_5 = (__pyx_t_4 != 2);
-      if (__pyx_t_5) {
-        __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(__pyx_t_6);
-        __Pyx_Raise(__pyx_t_6, 0, 0, 0);
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        goto __pyx_L11;
-      }
-      __pyx_L11:;
-
-      /* "h5py/h5.pyx":102
- *             try:
- *                 if len(val) != 2: raise TypeError()
- *                 f = str(val[0])             # <<<<<<<<<<<<<<
- *                 t = str(val[1])
- *             except Exception:
- */
-      __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_val, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6);
-      __Pyx_GIVEREF(__pyx_t_6);
-      __pyx_t_6 = 0;
-      __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-      __pyx_v_f = __pyx_t_6;
-      __pyx_t_6 = 0;
-
-      /* "h5py/h5.pyx":103
- *                 if len(val) != 2: raise TypeError()
- *                 f = str(val[0])
- *                 t = str(val[1])             # <<<<<<<<<<<<<<
- *             except Exception:
- *                 raise TypeError("bool_names must be a length-2 sequence of of names (false, true)")
- */
-      __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_val, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6);
-      __Pyx_GIVEREF(__pyx_t_6);
-      __pyx_t_6 = 0;
-      __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-      __pyx_v_t = __pyx_t_6;
-      __pyx_t_6 = 0;
-    }
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L10_try_end;
-    __pyx_L3_error:;
-    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-    /* "h5py/h5.pyx":104
- *                 f = str(val[0])
- *                 t = str(val[1])
- *             except Exception:             # <<<<<<<<<<<<<<
- *                 raise TypeError("bool_names must be a length-2 sequence of of names (false, true)")
- *             self._f_name = f
- */
-    __pyx_t_8 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
-    if (__pyx_t_8) {
-      __Pyx_AddTraceback("h5py.h5.H5PYConfig.bool_names.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_GOTREF(__pyx_t_9);
-
-      /* "h5py/h5.pyx":105
- *                 t = str(val[1])
- *             except Exception:
- *                 raise TypeError("bool_names must be a length-2 sequence of of names (false, true)")             # <<<<<<<<<<<<<<
- *             self._f_name = f
- *             self._t_name = t
- */
-      __pyx_t_10 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_14), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_10);
-      __Pyx_Raise(__pyx_t_10, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-      goto __pyx_L4_exception_handled;
-    }
-    __pyx_L5_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    goto __pyx_L1_error;
-    __pyx_L4_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    __pyx_L10_try_end:;
-  }
-
-  /* "h5py/h5.pyx":106
- *             except Exception:
- *                 raise TypeError("bool_names must be a length-2 sequence of of names (false, true)")
- *             self._f_name = f             # <<<<<<<<<<<<<<
- *             self._t_name = t
- * 
- */
-  __Pyx_INCREF(__pyx_v_f);
-  __Pyx_GIVEREF(__pyx_v_f);
-  __Pyx_GOTREF(__pyx_v_self->_f_name);
-  __Pyx_DECREF(__pyx_v_self->_f_name);
-  __pyx_v_self->_f_name = __pyx_v_f;
-
-  /* "h5py/h5.pyx":107
- *                 raise TypeError("bool_names must be a length-2 sequence of of names (false, true)")
- *             self._f_name = f
- *             self._t_name = t             # <<<<<<<<<<<<<<
- * 
- *     property read_byte_strings:
- */
-  __Pyx_INCREF(__pyx_v_t);
-  __Pyx_GIVEREF(__pyx_v_t);
-  __Pyx_GOTREF(__pyx_v_self->_t_name);
-  __Pyx_DECREF(__pyx_v_self->_t_name);
-  __pyx_v_self->_t_name = __pyx_v_t;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.h5.H5PYConfig.bool_names.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_f);
-  __Pyx_XDECREF(__pyx_v_t);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_17read_byte_strings_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_17read_byte_strings_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_17read_byte_strings___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":113
- *         as byte strings. """
- * 
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self._bytestrings
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_17read_byte_strings___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5.pyx":114
- * 
- *         def __get__(self):
- *             return self._bytestrings             # <<<<<<<<<<<<<<
- * 
- *     property mpi:
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->_bytestrings);
-  __pyx_r = __pyx_v_self->_bytestrings;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_3mpi_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_3mpi_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_3mpi___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":118
- *     property mpi:
- *         """ Boolean indicating if Parallel HDF5 is available """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             IF MPI:
- *                 return True
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_3mpi___get__(CYTHON_UNUSED struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5.pyx":122
- *                 return True
- *             ELSE:
- *                 return False             # <<<<<<<<<<<<<<
- * 
- * cdef H5PYConfig cfg = H5PYConfig()
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5.H5PYConfig.mpi.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_7_r_name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_7_r_name_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_7_r_name___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pxd":14
- * cdef class H5PYConfig:
- * 
- *     cdef readonly object _r_name             # <<<<<<<<<<<<<<
- *     cdef readonly object _i_name
- *     cdef readonly object _f_name
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_7_r_name___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->_r_name);
-  __pyx_r = __pyx_v_self->_r_name;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_7_i_name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_7_i_name_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_7_i_name___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pxd":15
- * 
- *     cdef readonly object _r_name
- *     cdef readonly object _i_name             # <<<<<<<<<<<<<<
- *     cdef readonly object _f_name
- *     cdef readonly object _t_name
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_7_i_name___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->_i_name);
-  __pyx_r = __pyx_v_self->_i_name;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_7_f_name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_7_f_name_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_7_f_name___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pxd":16
- *     cdef readonly object _r_name
- *     cdef readonly object _i_name
- *     cdef readonly object _f_name             # <<<<<<<<<<<<<<
- *     cdef readonly object _t_name
- *     cdef readonly object API_16
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_7_f_name___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->_f_name);
-  __pyx_r = __pyx_v_self->_f_name;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_7_t_name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_7_t_name_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_7_t_name___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pxd":17
- *     cdef readonly object _i_name
- *     cdef readonly object _f_name
- *     cdef readonly object _t_name             # <<<<<<<<<<<<<<
- *     cdef readonly object API_16
- *     cdef readonly object API_18
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_7_t_name___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->_t_name);
-  __pyx_r = __pyx_v_self->_t_name;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_6API_16_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_6API_16_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_6API_16___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pxd":18
- *     cdef readonly object _f_name
- *     cdef readonly object _t_name
- *     cdef readonly object API_16             # <<<<<<<<<<<<<<
- *     cdef readonly object API_18
- *     cdef readonly object _bytestrings
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_6API_16___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->API_16);
-  __pyx_r = __pyx_v_self->API_16;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_6API_18_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_6API_18_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_6API_18___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pxd":19
- *     cdef readonly object _t_name
- *     cdef readonly object API_16
- *     cdef readonly object API_18             # <<<<<<<<<<<<<<
- *     cdef readonly object _bytestrings
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_6API_18___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->API_18);
-  __pyx_r = __pyx_v_self->API_18;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_12_bytestrings_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_2h5_10H5PYConfig_12_bytestrings_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_10H5PYConfig_12_bytestrings___get__(((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pxd":20
- *     cdef readonly object API_16
- *     cdef readonly object API_18
- *     cdef readonly object _bytestrings             # <<<<<<<<<<<<<<
- * 
- * cpdef H5PYConfig get_config()
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_10H5PYConfig_12_bytestrings___get__(struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->_bytestrings);
-  __pyx_r = __pyx_v_self->_bytestrings;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":126
- * cdef H5PYConfig cfg = H5PYConfig()
- * 
- * cpdef H5PYConfig get_config():             # <<<<<<<<<<<<<<
- *     """() => H5PYConfig
- * 
- */
-
-static PyObject *__pyx_pw_4h5py_2h5_1get_config(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_f_4h5py_2h5_get_config(CYTHON_UNUSED int __pyx_skip_dispatch) {
-  struct __pyx_obj_4h5py_2h5_H5PYConfig *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_config", 0);
-
-  /* "h5py/h5.pyx":131
- *     Get a reference to the global library configuration object.
- *     """
- *     return cfg             # <<<<<<<<<<<<<<
- * 
- * def get_libversion():
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __Pyx_INCREF(((PyObject *)__pyx_v_4h5py_2h5_cfg));
-  __pyx_r = __pyx_v_4h5py_2h5_cfg;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)Py_None); __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_1get_config(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_2h5_get_config[] = "() => H5PYConfig\n\n    Get a reference to the global library configuration object.\n    ";
-static PyObject *__pyx_pw_4h5py_2h5_1get_config(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_config (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_get_config(__pyx_self);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":126
- * cdef H5PYConfig cfg = H5PYConfig()
- * 
- * cpdef H5PYConfig get_config():             # <<<<<<<<<<<<<<
- *     """() => H5PYConfig
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_get_config(CYTHON_UNUSED PyObject *__pyx_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_config", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_2h5_get_config(0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5.get_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_2h5_3get_libversion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_2h5_2get_libversion[] = " () => TUPLE (major, minor, release)\n\n        Retrieve the HDF5 library version as a 3-tuple.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_2h5_3get_libversion = {__Pyx_NAMESTR("get_libversion"), (PyCFunction)__pyx_pw_4h5py_2h5_3get_libversion, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_2h5_2get_libversion)};
-static PyObject *__pyx_pw_4h5py_2h5_3get_libversion(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_libversion (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_2h5_2get_libversion(__pyx_self);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5.pyx":133
- *     return cfg
- * 
- * def get_libversion():             # <<<<<<<<<<<<<<
- *     """ () => TUPLE (major, minor, release)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_2h5_2get_libversion(CYTHON_UNUSED PyObject *__pyx_self) {
-  unsigned int __pyx_v_major;
-  unsigned int __pyx_v_minor;
-  unsigned int __pyx_v_release;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_libversion", 0);
-
-  /* "h5py/h5.pyx":143
- *     cdef herr_t retval
- * 
- *     H5get_libversion(&major, &minor, &release)             # <<<<<<<<<<<<<<
- * 
- *     return (major, minor, release)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5get_libversion((&__pyx_v_major), (&__pyx_v_minor), (&__pyx_v_release)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5.pyx":145
- *     H5get_libversion(&major, &minor, &release)
- * 
- *     return (major, minor, release)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_major); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyLong_FromUnsignedLong(__pyx_v_minor); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyLong_FromUnsignedLong(__pyx_v_release); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_5);
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5.get_libversion", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_2h5_H5PYConfig(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_2h5_H5PYConfig *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)o);
-  p->_r_name = Py_None; Py_INCREF(Py_None);
-  p->_i_name = Py_None; Py_INCREF(Py_None);
-  p->_f_name = Py_None; Py_INCREF(Py_None);
-  p->_t_name = Py_None; Py_INCREF(Py_None);
-  p->API_16 = Py_None; Py_INCREF(Py_None);
-  p->API_18 = Py_None; Py_INCREF(Py_None);
-  p->_bytestrings = Py_None; Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_2h5_H5PYConfig(PyObject *o) {
-  struct __pyx_obj_4h5py_2h5_H5PYConfig *p = (struct __pyx_obj_4h5py_2h5_H5PYConfig *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->_r_name);
-  Py_CLEAR(p->_i_name);
-  Py_CLEAR(p->_f_name);
-  Py_CLEAR(p->_t_name);
-  Py_CLEAR(p->API_16);
-  Py_CLEAR(p->API_18);
-  Py_CLEAR(p->_bytestrings);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_2h5_H5PYConfig(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_2h5_H5PYConfig *p = (struct __pyx_obj_4h5py_2h5_H5PYConfig *)o;
-  if (p->_r_name) {
-    e = (*v)(p->_r_name, a); if (e) return e;
-  }
-  if (p->_i_name) {
-    e = (*v)(p->_i_name, a); if (e) return e;
-  }
-  if (p->_f_name) {
-    e = (*v)(p->_f_name, a); if (e) return e;
-  }
-  if (p->_t_name) {
-    e = (*v)(p->_t_name, a); if (e) return e;
-  }
-  if (p->API_16) {
-    e = (*v)(p->API_16, a); if (e) return e;
-  }
-  if (p->API_18) {
-    e = (*v)(p->API_18, a); if (e) return e;
-  }
-  if (p->_bytestrings) {
-    e = (*v)(p->_bytestrings, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_2h5_H5PYConfig(PyObject *o) {
-  struct __pyx_obj_4h5py_2h5_H5PYConfig *p = (struct __pyx_obj_4h5py_2h5_H5PYConfig *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->_r_name);
-  p->_r_name = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->_i_name);
-  p->_i_name = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->_f_name);
-  p->_f_name = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->_t_name);
-  p->_t_name = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->API_16);
-  p->API_16 = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->API_18);
-  p->API_18 = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->_bytestrings);
-  p->_bytestrings = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig_complex_names(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_2h5_10H5PYConfig_complex_names(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_2h5_10H5PYConfig_13complex_names_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig_bool_names(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_10bool_names_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_2h5_10H5PYConfig_bool_names(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_2h5_10H5PYConfig_10bool_names_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig_read_byte_strings(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_17read_byte_strings_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig_mpi(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_3mpi_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig__r_name(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_7_r_name_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig__i_name(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_7_i_name_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig__f_name(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_7_f_name_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig__t_name(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_7_t_name_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig_API_16(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_6API_16_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig_API_18(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_6API_18_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_2h5_10H5PYConfig__bytestrings(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_2h5_10H5PYConfig_12_bytestrings_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_2h5_H5PYConfig[] = {
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_2h5_H5PYConfig[] = {
-  {(char *)"complex_names", __pyx_getprop_4h5py_2h5_10H5PYConfig_complex_names, __pyx_setprop_4h5py_2h5_10H5PYConfig_complex_names, __Pyx_DOCSTR(__pyx_k_15), 0},
-  {(char *)"bool_names", __pyx_getprop_4h5py_2h5_10H5PYConfig_bool_names, __pyx_setprop_4h5py_2h5_10H5PYConfig_bool_names, __Pyx_DOCSTR(__pyx_k_16), 0},
-  {(char *)"read_byte_strings", __pyx_getprop_4h5py_2h5_10H5PYConfig_read_byte_strings, 0, __Pyx_DOCSTR(__pyx_k_17), 0},
-  {(char *)"mpi", __pyx_getprop_4h5py_2h5_10H5PYConfig_mpi, 0, __Pyx_DOCSTR(__pyx_k_18), 0},
-  {(char *)"_r_name", __pyx_getprop_4h5py_2h5_10H5PYConfig__r_name, 0, 0, 0},
-  {(char *)"_i_name", __pyx_getprop_4h5py_2h5_10H5PYConfig__i_name, 0, 0, 0},
-  {(char *)"_f_name", __pyx_getprop_4h5py_2h5_10H5PYConfig__f_name, 0, 0, 0},
-  {(char *)"_t_name", __pyx_getprop_4h5py_2h5_10H5PYConfig__t_name, 0, 0, 0},
-  {(char *)"API_16", __pyx_getprop_4h5py_2h5_10H5PYConfig_API_16, 0, 0, 0},
-  {(char *)"API_18", __pyx_getprop_4h5py_2h5_10H5PYConfig_API_18, 0, 0, 0},
-  {(char *)"_bytestrings", __pyx_getprop_4h5py_2h5_10H5PYConfig__bytestrings, 0, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_H5PYConfig = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_H5PYConfig = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_H5PYConfig = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_H5PYConfig = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_2h5_H5PYConfig = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5.H5PYConfig"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_2h5_H5PYConfig), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_2h5_H5PYConfig, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_H5PYConfig, /*tp_as_number*/
-  &__pyx_tp_as_sequence_H5PYConfig, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_H5PYConfig, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_H5PYConfig, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Provides runtime access to global library settings.  You retrieve the\n        master copy of this object by calling h5py.get_config().\n\n        complex_names (tuple, r/w)\n            Settable 2-tuple controlling how complex numbers are saved.\n            Defaults to ('r','i').\n\n        bool_names (tuple, r/w)\n            Settable 2-tuple controlling the HDF5 enum names used for boolean\n            values.  Defaults to ('FALSE', 'TRUE') for values 0 and  [...]
-  __pyx_tp_traverse_4h5py_2h5_H5PYConfig, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_2h5_H5PYConfig, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_2h5_H5PYConfig, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_2h5_H5PYConfig, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_2h5_10H5PYConfig_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_2h5_H5PYConfig, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_2h5___pyx_scope_struct____get__(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *)o);
-  p->__pyx_v_sys = 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_2h5___pyx_scope_struct____get__(PyObject *o) {
-  struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *p = (struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->__pyx_v_sys);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_2h5___pyx_scope_struct____get__(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *p = (struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *)o;
-  if (p->__pyx_v_sys) {
-    e = (*v)(p->__pyx_v_sys, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_2h5___pyx_scope_struct____get__(PyObject *o) {
-  struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *p = (struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__ *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->__pyx_v_sys);
-  p->__pyx_v_sys = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyMethodDef __pyx_methods_4h5py_2h5___pyx_scope_struct____get__[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number___pyx_scope_struct____get__ = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence___pyx_scope_struct____get__ = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping___pyx_scope_struct____get__ = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer___pyx_scope_struct____get__ = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_2h5___pyx_scope_struct____get__ = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5.__pyx_scope_struct____get__"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_2h5___pyx_scope_struct____get__), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_2h5___pyx_scope_struct____get__, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number___pyx_scope_struct____get__, /*tp_as_number*/
-  &__pyx_tp_as_sequence___pyx_scope_struct____get__, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping___pyx_scope_struct____get__, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer___pyx_scope_struct____get__, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  0, /*tp_doc*/
-  __pyx_tp_traverse_4h5py_2h5___pyx_scope_struct____get__, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_2h5___pyx_scope_struct____get__, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_2h5___pyx_scope_struct____get__, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_2h5___pyx_scope_struct____get__, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {__Pyx_NAMESTR("get_config"), (PyCFunction)__pyx_pw_4h5py_2h5_1get_config, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_2h5_get_config)},
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5"),
-    0, /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_n_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 1},
-  {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0},
-  {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0},
-  {&__pyx_n_s_21, __pyx_k_21, sizeof(__pyx_k_21), 0, 0, 1, 1},
-  {&__pyx_n_s_24, __pyx_k_24, sizeof(__pyx_k_24), 0, 0, 1, 1},
-  {&__pyx_n_s_27, __pyx_k_27, sizeof(__pyx_k_27), 0, 0, 1, 1},
-  {&__pyx_n_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 1},
-  {&__pyx_n_s_33, __pyx_k_33, sizeof(__pyx_k_33), 0, 0, 1, 1},
-  {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
-  {&__pyx_n_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 1},
-  {&__pyx_n_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 1},
-  {&__pyx_kp_s__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 0, 1, 0},
-  {&__pyx_n_s__ByteStringContext, __pyx_k__ByteStringContext, sizeof(__pyx_k__ByteStringContext), 0, 0, 1, 1},
-  {&__pyx_n_s__Exception, __pyx_k__Exception, sizeof(__pyx_k__Exception), 0, 0, 1, 1},
-  {&__pyx_n_b__FALSE, __pyx_k__FALSE, sizeof(__pyx_k__FALSE), 0, 0, 0, 1},
-  {&__pyx_n_s__INDEX_CRT_ORDER, __pyx_k__INDEX_CRT_ORDER, sizeof(__pyx_k__INDEX_CRT_ORDER), 0, 0, 1, 1},
-  {&__pyx_n_s__INDEX_NAME, __pyx_k__INDEX_NAME, sizeof(__pyx_k__INDEX_NAME), 0, 0, 1, 1},
-  {&__pyx_n_s__ITER_DEC, __pyx_k__ITER_DEC, sizeof(__pyx_k__ITER_DEC), 0, 0, 1, 1},
-  {&__pyx_n_s__ITER_INC, __pyx_k__ITER_INC, sizeof(__pyx_k__ITER_INC), 0, 0, 1, 1},
-  {&__pyx_n_s__ITER_NATIVE, __pyx_k__ITER_NATIVE, sizeof(__pyx_k__ITER_NATIVE), 0, 0, 1, 1},
-  {&__pyx_n_b__TRUE, __pyx_k__TRUE, sizeof(__pyx_k__TRUE), 0, 0, 0, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s____bool__, __pyx_k____bool__, sizeof(__pyx_k____bool__), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____init__, __pyx_k____init__, sizeof(__pyx_k____init__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____nonzero__, __pyx_k____nonzero__, sizeof(__pyx_k____nonzero__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___readbytes, __pyx_k___readbytes, sizeof(__pyx_k___readbytes), 0, 0, 1, 1},
-  {&__pyx_n_s__args, __pyx_k__args, sizeof(__pyx_k__args), 0, 0, 1, 1},
-  {&__pyx_n_s__decode, __pyx_k__decode, sizeof(__pyx_k__decode), 0, 0, 1, 1},
-  {&__pyx_n_s__encode, __pyx_k__encode, sizeof(__pyx_k__encode), 0, 0, 1, 1},
-  {&__pyx_n_s__get_libversion, __pyx_k__get_libversion, sizeof(__pyx_k__get_libversion), 0, 0, 1, 1},
-  {&__pyx_n_s__handle_val, __pyx_k__handle_val, sizeof(__pyx_k__handle_val), 0, 0, 1, 1},
-  {&__pyx_n_b__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 0, 1},
-  {&__pyx_n_s__major, __pyx_k__major, sizeof(__pyx_k__major), 0, 0, 1, 1},
-  {&__pyx_n_s__minor, __pyx_k__minor, sizeof(__pyx_k__minor), 0, 0, 1, 1},
-  {&__pyx_n_s__object, __pyx_k__object, sizeof(__pyx_k__object), 0, 0, 1, 1},
-  {&__pyx_n_b__r, __pyx_k__r, sizeof(__pyx_k__r), 0, 0, 0, 1},
-  {&__pyx_n_s__release, __pyx_k__release, sizeof(__pyx_k__release), 0, 0, 1, 1},
-  {&__pyx_n_s__retval, __pyx_k__retval, sizeof(__pyx_k__retval), 0, 0, 1, 1},
-  {&__pyx_n_s__self, __pyx_k__self, sizeof(__pyx_k__self), 0, 0, 1, 1},
-  {&__pyx_n_s__sys, __pyx_k__sys, sizeof(__pyx_k__sys), 0, 0, 1, 1},
-  {&__pyx_n_s__utf8, __pyx_k__utf8, sizeof(__pyx_k__utf8), 0, 0, 1, 1},
-  {&__pyx_n_s__val, __pyx_k__val, sizeof(__pyx_k__val), 0, 0, 1, 1},
-  {&__pyx_n_s__version, __pyx_k__version, sizeof(__pyx_k__version), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_object = __Pyx_GetName(__pyx_b, __pyx_n_s__object); if (!__pyx_builtin_object) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_Exception = __Pyx_GetName(__pyx_b, __pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5.pyx":70
- *             def handle_val(val):
- *                 if sys.version[0] == '3':
- *                     return val.decode('utf8')             # <<<<<<<<<<<<<<
- *                 return val
- *             return (handle_val(self._r_name), handle_val(self._i_name))
- */
-  __pyx_k_tuple_1 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__utf8)); if (unlikely(!__pyx_k_tuple_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_1);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_1));
-
-  /* "h5py/h5.pyx":68
- *         def __get__(self):
- *             import sys
- *             def handle_val(val):             # <<<<<<<<<<<<<<
- *                 if sys.version[0] == '3':
- *                     return val.decode('utf8')
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__val)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-  __pyx_k_codeobj_3 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_2, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_4, __pyx_n_s__handle_val, 68, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5.pyx":77
- *             def handle_val(val):
- *                 if isinstance(val, unicode):
- *                     return val.encode('utf8')             # <<<<<<<<<<<<<<
- *                 elif isinstance(val, bytes):
- *                     return val
- */
-  __pyx_k_tuple_7 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__utf8)); if (unlikely(!__pyx_k_tuple_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_7);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_7));
-
-  /* "h5py/h5.pyx":75
- * 
- *         def __set__(self, val):
- *             def handle_val(val):             # <<<<<<<<<<<<<<
- *                 if isinstance(val, unicode):
- *                     return val.encode('utf8')
- */
-  __pyx_k_tuple_8 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__val)); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_8);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
-  __pyx_k_codeobj_9 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_4, __pyx_n_s__handle_val, 75, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5.pyx":87
- *                 i = handle_val(val[1])
- *             except Exception:
- *                 raise TypeError("complex_names must be a length-2 sequence of strings (real, img)")             # <<<<<<<<<<<<<<
- *             self._r_name = r
- *             self._i_name = i
- */
-  __pyx_k_tuple_12 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_11)); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_12);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));
-
-  /* "h5py/h5.pyx":105
- *                 t = str(val[1])
- *             except Exception:
- *                 raise TypeError("bool_names must be a length-2 sequence of of names (false, true)")             # <<<<<<<<<<<<<<
- *             self._f_name = f
- *             self._t_name = t
- */
-  __pyx_k_tuple_14 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_14);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14));
-
-  /* "h5py/h5.pyx":23
- * class ByteStringContext(object):
- * 
- *     def __init__(self):             # <<<<<<<<<<<<<<
- *         self._readbytes = False
- * 
- */
-  __pyx_k_tuple_19 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__self)); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_19);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));
-  __pyx_k_codeobj_20 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_4, __pyx_n_s____init__, 23, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5.pyx":26
- *         self._readbytes = False
- * 
- *     def __bool__(self):             # <<<<<<<<<<<<<<
- *         return self._readbytes
- * 
- */
-  __pyx_k_tuple_22 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__self)); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_22);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22));
-  __pyx_k_codeobj_23 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_4, __pyx_n_s____bool__, 26, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5.pyx":29
- *         return self._readbytes
- * 
- *     def __nonzero__(self):             # <<<<<<<<<<<<<<
- *         return self.__bool__()
- * 
- */
-  __pyx_k_tuple_25 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__self)); if (unlikely(!__pyx_k_tuple_25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_25);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_25));
-  __pyx_k_codeobj_26 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_4, __pyx_n_s____nonzero__, 29, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5.pyx":32
- *         return self.__bool__()
- * 
- *     def __enter__(self):             # <<<<<<<<<<<<<<
- *         self._readbytes = True
- * 
- */
-  __pyx_k_tuple_28 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__self)); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_28);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_28));
-  __pyx_k_codeobj_29 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_4, __pyx_n_s____enter__, 32, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5.pyx":35
- *         self._readbytes = True
- * 
- *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
- *         self._readbytes = False
- * 
- */
-  __pyx_k_tuple_31 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__self), ((PyObject *)__pyx_n_s__args), ((PyObject *)__pyx_n_s__args)); if (unlikely(!__pyx_k_tuple_31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_31);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_31));
-  __pyx_k_codeobj_32 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_4, __pyx_n_s____exit__, 35, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5.pyx":133
- *     return cfg
- * 
- * def get_libversion():             # <<<<<<<<<<<<<<
- *     """ () => TUPLE (major, minor, release)
- * 
- */
-  __pyx_k_tuple_34 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__major), ((PyObject *)__pyx_n_s__minor), ((PyObject *)__pyx_n_s__release), ((PyObject *)__pyx_n_s__retval)); if (unlikely(!__pyx_k_tuple_34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_34);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_34));
-  __pyx_k_codeobj_35 = (PyObject*)__Pyx_PyCode_New(0, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_4, __pyx_n_s__get_libversion, 133, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5(void); /*proto*/
-PyMODINIT_FUNC inith5(void)
-#else
-PyMODINIT_FUNC PyInit_h5(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5"), __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  __pyx_v_4h5py_2h5_cfg = ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)Py_None); Py_INCREF(Py_None);
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("get_config", (void (*)(void))__pyx_f_4h5py_2h5_get_config, "struct __pyx_obj_4h5py_2h5_H5PYConfig *(int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_4h5py_2h5_H5PYConfig) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "H5PYConfig", (PyObject *)&__pyx_type_4h5py_2h5_H5PYConfig) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_2h5_H5PYConfig = &__pyx_type_4h5py_2h5_H5PYConfig;
-  if (PyType_Ready(&__pyx_type_4h5py_2h5___pyx_scope_struct____get__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_2h5___pyx_scope_struct____get__ = &__pyx_type_4h5py_2h5___pyx_scope_struct____get__;
-  /*--- Type import code ---*/
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5get_libversion", (void (**)(void))&__pyx_f_4h5py_4defs_H5get_libversion, "herr_t (unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5.pyx":14
- * from defs cimport *
- * 
- * ITER_INC    = H5_ITER_INC     # Increasing order             # <<<<<<<<<<<<<<
- * ITER_DEC    = H5_ITER_DEC     # Decreasing order
- * ITER_NATIVE = H5_ITER_NATIVE  # No particular order, whatever is fastest
- */
-  __pyx_t_2 = PyInt_FromLong(H5_ITER_INC); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ITER_INC, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5.pyx":15
- * 
- * ITER_INC    = H5_ITER_INC     # Increasing order
- * ITER_DEC    = H5_ITER_DEC     # Decreasing order             # <<<<<<<<<<<<<<
- * ITER_NATIVE = H5_ITER_NATIVE  # No particular order, whatever is fastest
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5_ITER_DEC); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ITER_DEC, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5.pyx":16
- * ITER_INC    = H5_ITER_INC     # Increasing order
- * ITER_DEC    = H5_ITER_DEC     # Decreasing order
- * ITER_NATIVE = H5_ITER_NATIVE  # No particular order, whatever is fastest             # <<<<<<<<<<<<<<
- * 
- * INDEX_NAME      = H5_INDEX_NAME       # Index on names
- */
-  __pyx_t_2 = PyInt_FromLong(H5_ITER_NATIVE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ITER_NATIVE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5.pyx":18
- * ITER_NATIVE = H5_ITER_NATIVE  # No particular order, whatever is fastest
- * 
- * INDEX_NAME      = H5_INDEX_NAME       # Index on names             # <<<<<<<<<<<<<<
- * INDEX_CRT_ORDER = H5_INDEX_CRT_ORDER  # Index on creation order
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5_INDEX_NAME); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__INDEX_NAME, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5.pyx":19
- * 
- * INDEX_NAME      = H5_INDEX_NAME       # Index on names
- * INDEX_CRT_ORDER = H5_INDEX_CRT_ORDER  # Index on creation order             # <<<<<<<<<<<<<<
- * 
- * class ByteStringContext(object):
- */
-  __pyx_t_2 = PyInt_FromLong(H5_INDEX_CRT_ORDER); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__INDEX_CRT_ORDER, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5.pyx":21
- * INDEX_CRT_ORDER = H5_INDEX_CRT_ORDER  # Index on creation order
- * 
- * class ByteStringContext(object):             # <<<<<<<<<<<<<<
- * 
- *     def __init__(self):
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-
-  /* "h5py/h5.pyx":23
- * class ByteStringContext(object):
- * 
- *     def __init__(self):             # <<<<<<<<<<<<<<
- *         self._readbytes = False
- * 
- */
-  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4h5py_2h5_17ByteStringContext_1__init__, 0, __pyx_n_s_21, NULL, __pyx_n_s_6, ((PyObject *)__pyx_k_codeobj_20)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s____init__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5.pyx":26
- *         self._readbytes = False
- * 
- *     def __bool__(self):             # <<<<<<<<<<<<<<
- *         return self._readbytes
- * 
- */
-  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4h5py_2h5_17ByteStringContext_3__bool__, 0, __pyx_n_s_24, NULL, __pyx_n_s_6, ((PyObject *)__pyx_k_codeobj_23)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s____bool__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5.pyx":29
- *         return self._readbytes
- * 
- *     def __nonzero__(self):             # <<<<<<<<<<<<<<
- *         return self.__bool__()
- * 
- */
-  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4h5py_2h5_17ByteStringContext_5__nonzero__, 0, __pyx_n_s_27, NULL, __pyx_n_s_6, ((PyObject *)__pyx_k_codeobj_26)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s____nonzero__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5.pyx":32
- *         return self.__bool__()
- * 
- *     def __enter__(self):             # <<<<<<<<<<<<<<
- *         self._readbytes = True
- * 
- */
-  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4h5py_2h5_17ByteStringContext_7__enter__, 0, __pyx_n_s_30, NULL, __pyx_n_s_6, ((PyObject *)__pyx_k_codeobj_29)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s____enter__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5.pyx":35
- *         self._readbytes = True
- * 
- *     def __exit__(self, *args):             # <<<<<<<<<<<<<<
- *         self._readbytes = False
- * 
- */
-  __pyx_t_3 = __Pyx_CyFunction_NewEx(&__pyx_mdef_4h5py_2h5_17ByteStringContext_9__exit__, 0, __pyx_n_s_33, NULL, __pyx_n_s_6, ((PyObject *)__pyx_k_codeobj_32)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetItem(__pyx_t_2, __pyx_n_s____exit__, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5.pyx":21
- * INDEX_CRT_ORDER = H5_INDEX_CRT_ORDER  # Index on creation order
- * 
- * class ByteStringContext(object):             # <<<<<<<<<<<<<<
- * 
- *     def __init__(self):
- */
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_INCREF(__pyx_builtin_object);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_builtin_object);
-  __Pyx_GIVEREF(__pyx_builtin_object);
-  __pyx_t_4 = __Pyx_CreateClass(((PyObject *)__pyx_t_3), ((PyObject *)__pyx_t_2), __pyx_n_s__ByteStringContext, __pyx_n_s__ByteStringContext, __pyx_n_s_6); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ByteStringContext, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-
-  /* "h5py/h5.pyx":124
- *                 return False
- * 
- * cdef H5PYConfig cfg = H5PYConfig()             # <<<<<<<<<<<<<<
- * 
- * cpdef H5PYConfig get_config():
- */
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_2h5_H5PYConfig)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_2h5_cfg));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_2h5_cfg));
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_v_4h5py_2h5_cfg = ((struct __pyx_obj_4h5py_2h5_H5PYConfig *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5.pyx":133
- *     return cfg
- * 
- * def get_libversion():             # <<<<<<<<<<<<<<
- *     """ () => TUPLE (major, minor, release)
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_2h5_3get_libversion, NULL, __pyx_n_s_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_libversion, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
-    PyObject *kwdict,
-    const char* function_name,
-    int kw_allowed)
-{
-    PyObject* key = 0;
-    Py_ssize_t pos = 0;
-#if CPYTHON_COMPILING_IN_PYPY
-    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
-        goto invalid_keyword;
-    return 1;
-#else
-    while (PyDict_Next(kwdict, &pos, &key, 0)) {
-        #if PY_MAJOR_VERSION < 3
-        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
-        #endif
-            if (unlikely(!PyUnicode_Check(key)))
-                goto invalid_keyword_type;
-    }
-    if ((!kw_allowed) && unlikely(key))
-        goto invalid_keyword;
-    return 1;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    return 0;
-#endif
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
-    PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_FindPy2Metaclass(PyObject *bases) {
-    PyObject *metaclass;
-#if PY_MAJOR_VERSION < 3
-    if (PyTuple_Check(bases) && PyTuple_GET_SIZE(bases) > 0) {
-        PyObject *base = PyTuple_GET_ITEM(bases, 0);
-        metaclass = PyObject_GetAttrString(base, (char *)"__class__");
-        if (!metaclass) {
-            PyErr_Clear();
-            metaclass = (PyObject*) Py_TYPE(base);
-        }
-    } else {
-        metaclass = (PyObject *) &PyClass_Type;
-    }
-#else
-    if (PyTuple_Check(bases) && PyTuple_GET_SIZE(bases) > 0) {
-        PyObject *base = PyTuple_GET_ITEM(bases, 0);
-        metaclass = (PyObject*) Py_TYPE(base);
-    } else {
-        metaclass = (PyObject *) &PyType_Type;
-    }
-#endif
-    Py_INCREF(metaclass);
-    return metaclass;
-}
-
-static PyObject *__Pyx_CreateClass(PyObject *bases, PyObject *dict, PyObject *name,
-                                   PyObject *qualname, PyObject *modname) {
-    PyObject *result;
-    PyObject *metaclass;
-    if (PyDict_SetItemString(dict, "__module__", modname) < 0)
-        return NULL;
-    if (PyDict_SetItemString(dict, "__qualname__", qualname) < 0)
-        return NULL;
-    metaclass = PyDict_GetItemString(dict, "__metaclass__");
-    if (metaclass) {
-        Py_INCREF(metaclass);
-    } else {
-        metaclass = __Pyx_FindPy2Metaclass(bases);
-    }
-    result = PyObject_CallFunctionObjArgs(metaclass, name, bases, dict, NULL);
-    Py_DECREF(metaclass);
-    return result;
-}
-
-static PyObject *
-__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
-{
-    if (unlikely(op->func_doc == NULL)) {
-        if (op->func.m_ml->ml_doc) {
-#if PY_MAJOR_VERSION >= 3
-            op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
-#else
-            op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
-#endif
-            if (unlikely(op->func_doc == NULL))
-                return NULL;
-        } else {
-            Py_INCREF(Py_None);
-            return Py_None;
-        }
-    }
-    Py_INCREF(op->func_doc);
-    return op->func_doc;
-}
-static int
-__Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value)
-{
-    PyObject *tmp = op->func_doc;
-    if (value == NULL)
-        value = Py_None; /* Mark as deleted */
-    Py_INCREF(value);
-    op->func_doc = value;
-    Py_XDECREF(tmp);
-    return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op)
-{
-    if (unlikely(op->func_name == NULL)) {
-#if PY_MAJOR_VERSION >= 3
-        op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
-#else
-        op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
-#endif
-        if (unlikely(op->func_name == NULL))
-            return NULL;
-    }
-    Py_INCREF(op->func_name);
-    return op->func_name;
-}
-static int
-__Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value)
-{
-    PyObject *tmp;
-#if PY_MAJOR_VERSION >= 3
-    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
-#else
-    if (unlikely(value == NULL || !PyString_Check(value))) {
-#endif
-        PyErr_SetString(PyExc_TypeError,
-                        "__name__ must be set to a string object");
-        return -1;
-    }
-    tmp = op->func_name;
-    Py_INCREF(value);
-    op->func_name = value;
-    Py_XDECREF(tmp);
-    return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op)
-{
-    Py_INCREF(op->func_qualname);
-    return op->func_qualname;
-}
-static int
-__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value)
-{
-    PyObject *tmp;
-#if PY_MAJOR_VERSION >= 3
-    if (unlikely(value == NULL || !PyUnicode_Check(value))) {
-#else
-    if (unlikely(value == NULL || !PyString_Check(value))) {
-#endif
-        PyErr_SetString(PyExc_TypeError,
-                        "__qualname__ must be set to a string object");
-        return -1;
-    }
-    tmp = op->func_qualname;
-    Py_INCREF(value);
-    op->func_qualname = value;
-    Py_XDECREF(tmp);
-    return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
-{
-    PyObject *self;
-    self = m->func_closure;
-    if (self == NULL)
-        self = Py_None;
-    Py_INCREF(self);
-    return self;
-}
-static PyObject *
-__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op)
-{
-    if (unlikely(op->func_dict == NULL)) {
-        op->func_dict = PyDict_New();
-        if (unlikely(op->func_dict == NULL))
-            return NULL;
-    }
-    Py_INCREF(op->func_dict);
-    return op->func_dict;
-}
-static int
-__Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value)
-{
-    PyObject *tmp;
-    if (unlikely(value == NULL)) {
-        PyErr_SetString(PyExc_TypeError,
-               "function's dictionary may not be deleted");
-        return -1;
-    }
-    if (unlikely(!PyDict_Check(value))) {
-        PyErr_SetString(PyExc_TypeError,
-               "setting function's dictionary to a non-dict");
-        return -1;
-    }
-    tmp = op->func_dict;
-    Py_INCREF(value);
-    op->func_dict = value;
-    Py_XDECREF(tmp);
-    return 0;
-}
-static PyObject *
-__Pyx_CyFunction_get_globals(CYTHON_UNUSED __pyx_CyFunctionObject *op)
-{
-    PyObject* dict = PyModule_GetDict(__pyx_m);
-    Py_XINCREF(dict);
-    return dict;
-}
-static PyObject *
-__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op)
-{
-    Py_INCREF(Py_None);
-    return Py_None;
-}
-static PyObject *
-__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op)
-{
-    PyObject* result = (op->func_code) ? op->func_code : Py_None;
-    Py_INCREF(result);
-    return result;
-}
-static PyObject *
-__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op)
-{
-    if (op->defaults_tuple) {
-        Py_INCREF(op->defaults_tuple);
-        return op->defaults_tuple;
-    }
-    if (op->defaults_getter) {
-        PyObject *res = op->defaults_getter((PyObject *) op);
-        if (likely(res)) {
-            Py_INCREF(res);
-            op->defaults_tuple = res;
-        }
-        return res;
-    }
-    Py_INCREF(Py_None);
-    return Py_None;
-}
-static PyGetSetDef __pyx_CyFunction_getsets[] = {
-    {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
-    {(char *) "__doc__",  (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0},
-    {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
-    {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0},
-    {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0},
-    {(char *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 0, 0},
-    {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
-    {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0},
-    {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
-    {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0},
-    {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
-    {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0},
-    {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
-    {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0},
-    {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, 0, 0, 0},
-    {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, 0, 0, 0},
-    {0, 0, 0, 0, 0}
-};
-#ifndef PY_WRITE_RESTRICTED /* < Py2.5 */
-#define PY_WRITE_RESTRICTED WRITE_RESTRICTED
-#endif
-static PyMemberDef __pyx_CyFunction_members[] = {
-    {(char *) "__module__", T_OBJECT, offsetof(__pyx_CyFunctionObject, func.m_module), PY_WRITE_RESTRICTED, 0},
-    {0, 0, 0,  0, 0}
-};
-static PyObject *
-__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
-{
-#if PY_MAJOR_VERSION >= 3
-    return PyUnicode_FromString(m->func.m_ml->ml_name);
-#else
-    return PyString_FromString(m->func.m_ml->ml_name);
-#endif
-}
-static PyMethodDef __pyx_CyFunction_methods[] = {
-    {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
-    {0, 0, 0, 0}
-};
-static PyObject *__Pyx_CyFunction_New(PyTypeObject *type, PyMethodDef *ml, int flags, PyObject* qualname,
-                                      PyObject *closure, PyObject *module, PyObject* code) {
-    __pyx_CyFunctionObject *op = PyObject_GC_New(__pyx_CyFunctionObject, type);
-    if (op == NULL)
-        return NULL;
-    op->flags = flags;
-    op->func_weakreflist = NULL;
-    op->func.m_ml = ml;
-    op->func.m_self = (PyObject *) op;
-    Py_XINCREF(closure);
-    op->func_closure = closure;
-    Py_XINCREF(module);
-    op->func.m_module = module;
-    op->func_dict = NULL;
-    op->func_name = NULL;
-    Py_INCREF(qualname);
-    op->func_qualname = qualname;
-    op->func_doc = NULL;
-    op->func_classobj = NULL;
-    Py_XINCREF(code);
-    op->func_code = code;
-    op->defaults_pyobjects = 0;
-    op->defaults = NULL;
-    op->defaults_tuple = NULL;
-    op->defaults_getter = NULL;
-    PyObject_GC_Track(op);
-    return (PyObject *) op;
-}
-static int
-__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
-{
-    Py_CLEAR(m->func_closure);
-    Py_CLEAR(m->func.m_module);
-    Py_CLEAR(m->func_dict);
-    Py_CLEAR(m->func_name);
-    Py_CLEAR(m->func_qualname);
-    Py_CLEAR(m->func_doc);
-    Py_CLEAR(m->func_code);
-    Py_CLEAR(m->func_classobj);
-    Py_CLEAR(m->defaults_tuple);
-    if (m->defaults) {
-        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
-        int i;
-        for (i = 0; i < m->defaults_pyobjects; i++)
-            Py_XDECREF(pydefaults[i]);
-        PyMem_Free(m->defaults);
-        m->defaults = NULL;
-    }
-    return 0;
-}
-static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m)
-{
-    PyObject_GC_UnTrack(m);
-    if (m->func_weakreflist != NULL)
-        PyObject_ClearWeakRefs((PyObject *) m);
-    __Pyx_CyFunction_clear(m);
-    PyObject_GC_Del(m);
-}
-static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg)
-{
-    Py_VISIT(m->func_closure);
-    Py_VISIT(m->func.m_module);
-    Py_VISIT(m->func_dict);
-    Py_VISIT(m->func_name);
-    Py_VISIT(m->func_qualname);
-    Py_VISIT(m->func_doc);
-    Py_VISIT(m->func_code);
-    Py_VISIT(m->func_classobj);
-    Py_VISIT(m->defaults_tuple);
-    if (m->defaults) {
-        PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m);
-        int i;
-        for (i = 0; i < m->defaults_pyobjects; i++)
-            Py_VISIT(pydefaults[i]);
-    }
-    return 0;
-}
-static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObject *type)
-{
-    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
-    if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
-        Py_INCREF(func);
-        return func;
-    }
-    if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
-        if (type == NULL)
-            type = (PyObject *)(Py_TYPE(obj));
-        return PyMethod_New(func,
-                            type, (PyObject *)(Py_TYPE(type)));
-    }
-    if (obj == Py_None)
-        obj = NULL;
-    return PyMethod_New(func, obj, type);
-}
-static PyObject*
-__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
-{
-#if PY_MAJOR_VERSION >= 3
-    return PyUnicode_FromFormat("<cyfunction %U at %p>",
-                                op->func_qualname, (void *)op);
-#else
-    return PyString_FromFormat("<cyfunction %s at %p>",
-                               PyString_AsString(op->func_qualname), (void *)op);
-#endif
-}
-#if CYTHON_COMPILING_IN_PYPY
-static PyObject * __Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
-    PyCFunctionObject* f = (PyCFunctionObject*)func;
-    PyCFunction meth = PyCFunction_GET_FUNCTION(func);
-    PyObject *self = PyCFunction_GET_SELF(func);
-    Py_ssize_t size;
-    switch (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST)) {
-    case METH_VARARGS:
-        if (likely(kw == NULL) || PyDict_Size(kw) == 0)
-            return (*meth)(self, arg);
-        break;
-    case METH_VARARGS | METH_KEYWORDS:
-        return (*(PyCFunctionWithKeywords)meth)(self, arg, kw);
-    case METH_NOARGS:
-        if (likely(kw == NULL) || PyDict_Size(kw) == 0) {
-            size = PyTuple_GET_SIZE(arg);
-            if (size == 0)
-                return (*meth)(self, NULL);
-            PyErr_Format(PyExc_TypeError,
-                "%.200s() takes no arguments (%zd given)",
-                f->m_ml->ml_name, size);
-            return NULL;
-        }
-        break;
-    case METH_O:
-        if (likely(kw == NULL) || PyDict_Size(kw) == 0) {
-            size = PyTuple_GET_SIZE(arg);
-            if (size == 1)
-                return (*meth)(self, PyTuple_GET_ITEM(arg, 0));
-            PyErr_Format(PyExc_TypeError,
-                "%.200s() takes exactly one argument (%zd given)",
-                f->m_ml->ml_name, size);
-            return NULL;
-        }
-        break;
-    default:
-        PyErr_SetString(PyExc_SystemError, "Bad call flags in "
-                        "__Pyx_CyFunction_Call. METH_OLDARGS is no "
-                        "longer supported!");
-        return NULL;
-    }
-    PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments",
-                 f->m_ml->ml_name);
-    return NULL;
-}
-#else
-static PyObject * __Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) {
-	return PyCFunction_Call(func, arg, kw);
-}
-#endif
-static PyTypeObject __pyx_CyFunctionType_type = {
-    PyVarObject_HEAD_INIT(0, 0)
-    __Pyx_NAMESTR("cython_function_or_method"), /*tp_name*/
-    sizeof(__pyx_CyFunctionObject),   /*tp_basicsize*/
-    0,                                  /*tp_itemsize*/
-    (destructor) __Pyx_CyFunction_dealloc, /*tp_dealloc*/
-    0,                                  /*tp_print*/
-    0,                                  /*tp_getattr*/
-    0,                                  /*tp_setattr*/
-#if PY_MAJOR_VERSION < 3
-    0,                                  /*tp_compare*/
-#else
-    0,                                  /*reserved*/
-#endif
-    (reprfunc) __Pyx_CyFunction_repr,   /*tp_repr*/
-    0,                                  /*tp_as_number*/
-    0,                                  /*tp_as_sequence*/
-    0,                                  /*tp_as_mapping*/
-    0,                                  /*tp_hash*/
-    __Pyx_CyFunction_Call,              /*tp_call*/
-    0,                                  /*tp_str*/
-    0,                                  /*tp_getattro*/
-    0,                                  /*tp_setattro*/
-    0,                                  /*tp_as_buffer*/
-    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC, /* tp_flags*/
-    0,                                  /*tp_doc*/
-    (traverseproc) __Pyx_CyFunction_traverse,   /*tp_traverse*/
-    (inquiry) __Pyx_CyFunction_clear,   /*tp_clear*/
-    0,                                  /*tp_richcompare*/
-    offsetof(__pyx_CyFunctionObject, func_weakreflist), /* tp_weaklistoffse */
-    0,                                  /*tp_iter*/
-    0,                                  /*tp_iternext*/
-    __pyx_CyFunction_methods,           /*tp_methods*/
-    __pyx_CyFunction_members,           /*tp_members*/
-    __pyx_CyFunction_getsets,           /*tp_getset*/
-    0,                                  /*tp_base*/
-    0,                                  /*tp_dict*/
-    __Pyx_CyFunction_descr_get,         /*tp_descr_get*/
-    0,                                  /*tp_descr_set*/
-    offsetof(__pyx_CyFunctionObject, func_dict),/*tp_dictoffset*/
-    0,                                  /*tp_init*/
-    0,                                  /*tp_alloc*/
-    0,                                  /*tp_new*/
-    0,                                  /*tp_free*/
-    0,                                  /*tp_is_gc*/
-    0,                                  /*tp_bases*/
-    0,                                  /*tp_mro*/
-    0,                                  /*tp_cache*/
-    0,                                  /*tp_subclasses*/
-    0,                                  /*tp_weaklist*/
-    0,                                  /*tp_del*/
-#if PY_VERSION_HEX >= 0x02060000
-    0,                                  /*tp_version_tag*/
-#endif
-};
-static int __Pyx_CyFunction_init(void) {
-#if !CYTHON_COMPILING_IN_PYPY
-    __pyx_CyFunctionType_type.tp_call = PyCFunction_Call;
-#endif
-    if (PyType_Ready(&__pyx_CyFunctionType_type) < 0)
-        return -1;
-    __pyx_CyFunctionType = &__pyx_CyFunctionType_type;
-    return 0;
-}
-static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) {
-    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
-    m->defaults = PyMem_Malloc(size);
-    if (!m->defaults)
-        return PyErr_NoMemory();
-    memset(m->defaults, 0, sizeof(size));
-    m->defaults_pyobjects = pyobjects;
-    return m->defaults;
-}
-static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) {
-    __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
-    m->defaults_tuple = tuple;
-    Py_INCREF(tuple);
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-#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
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5.pyx b/h5py/h5.pyx
index 56a7c66..295bdf4 100644
--- a/h5py/h5.pyx
+++ b/h5py/h5.pyx
@@ -10,6 +10,7 @@
 include "config.pxi"
 
 from defs cimport *
+from ._objects import phil, with_phil
 
 ITER_INC    = H5_ITER_INC     # Increasing order
 ITER_DEC    = H5_ITER_DEC     # Decreasing order
@@ -64,29 +65,31 @@ cdef class H5PYConfig:
         """
 
         def __get__(self):
-            import sys
-            def handle_val(val):
-                if sys.version[0] == '3':
-                    return val.decode('utf8')
-                return val
-            return (handle_val(self._r_name), handle_val(self._i_name))
+            with phil:
+                import sys
+                def handle_val(val):
+                    if sys.version[0] == '3':
+                        return val.decode('utf8')
+                    return val
+                return (handle_val(self._r_name), handle_val(self._i_name))
 
         def __set__(self, val):
-            def handle_val(val):
-                if isinstance(val, unicode):
-                    return val.encode('utf8')
-                elif isinstance(val, bytes):
-                    return val
-                else:
-                    return bytes(val)
-            try:
-                if len(val) != 2: raise TypeError()
-                r = handle_val(val[0])
-                i = handle_val(val[1])
-            except Exception:
-                raise TypeError("complex_names must be a length-2 sequence of strings (real, img)")
-            self._r_name = r
-            self._i_name = i
+            with phil:
+                def handle_val(val):
+                    if isinstance(val, unicode):
+                        return val.encode('utf8')
+                    elif isinstance(val, bytes):
+                        return val
+                    else:
+                        return bytes(val)
+                try:
+                    if len(val) != 2: raise TypeError()
+                    r = handle_val(val[0])
+                    i = handle_val(val[1])
+                except Exception:
+                    raise TypeError("complex_names must be a length-2 sequence of strings (real, img)")
+                self._r_name = r
+                self._i_name = i
 
     property bool_names:
         """ Settable 2-tuple controlling HDF5 ENUM names for boolean types.
@@ -94,24 +97,27 @@ cdef class H5PYConfig:
         Format is (false_name, real_name), defaulting to ('FALSE', 'TRUE').
         """
         def __get__(self):
-            return (self._f_name, self._t_name)
+            with phil:
+                return (self._f_name, self._t_name)
 
         def __set__(self, val):
-            try:
-                if len(val) != 2: raise TypeError()
-                f = str(val[0])
-                t = str(val[1])
-            except Exception:
-                raise TypeError("bool_names must be a length-2 sequence of of names (false, true)")
-            self._f_name = f
-            self._t_name = t
+            with phil:
+                try:
+                    if len(val) != 2: raise TypeError()
+                    f = str(val[0])
+                    t = str(val[1])
+                except Exception:
+                    raise TypeError("bool_names must be a length-2 sequence of of names (false, true)")
+                self._f_name = f
+                self._t_name = t
 
     property read_byte_strings:
         """ Returns a context manager which forces all strings to be returned
         as byte strings. """
         
         def __get__(self):
-            return self._bytestrings
+            with phil:
+                return self._bytestrings
 
     property mpi:
         """ Boolean indicating if Parallel HDF5 is available """
@@ -130,6 +136,7 @@ cpdef H5PYConfig get_config():
     """
     return cfg
 
+ at with_phil
 def get_libversion():
     """ () => TUPLE (major, minor, release)
 
diff --git a/h5py/h5a.c b/h5py/h5a.c
deleted file mode 100644
index 44136e4..0000000
--- a/h5py/h5a.c
+++ /dev/null
@@ -1,7487 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5a
-#define __PYX_HAVE_API__h5py__h5a
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5a.pyx",
-  "h5t.pxd",
-  "h5s.pxd",
-  "h5p.pxd",
-  "numpy.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_3h5a__AttrVisitor;
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5p_PropID;
-struct __pyx_obj_4h5py_3h5p_PropInstanceID;
-struct __pyx_obj_4h5py_3h5p_PropFAID;
-struct __pyx_obj_4h5py_3h5t_TypeID;
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID;
-struct __pyx_obj_4h5py_3h5p_PropCreateID;
-struct __pyx_obj_4h5py_3h5p_PropFCID;
-struct __pyx_obj_4h5py_3h5p_PropClassID;
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID;
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID;
-struct __pyx_obj_4h5py_3h5t_TypeVlenID;
-struct __pyx_obj_4h5py_3h5p_PropOCID;
-struct __pyx_obj_4h5py_3h5p_PropLCID;
-struct __pyx_obj_4h5py_3h5p_PropGCID;
-struct __pyx_obj_4h5py_3h5p_PropDCID;
-struct __pyx_obj_4h5py_3h5t_TypeTimeID;
-struct __pyx_obj_4h5py_3h5t_TypeArrayID;
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID;
-struct __pyx_obj_4h5py_3h5t_TypeFloatID;
-struct __pyx_obj_4h5py_3h5t_TypeStringID;
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID;
-struct __pyx_obj_4h5py_3h5t_TypeEnumID;
-struct __pyx_obj_4h5py_3h5p_PropCopyID;
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID;
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID;
-struct __pyx_obj_4h5py_3h5p_PropDXID;
-struct __pyx_obj_4h5py_3h5s_SpaceID;
-struct __pyx_obj_4h5py_3h5a_AttrInfo;
-struct __pyx_obj_4h5py_3h5p_PropLAID;
-struct __pyx_obj_4h5py_3h5a_AttrID;
-struct __pyx_opt_args_4h5py_3h5t_py_create;
-
-/* "h5t.pxd":69
- * 
- * cpdef TypeID typewrap(hid_t id_)
- * cpdef TypeID py_create(object dtype, bint logical=*)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-struct __pyx_opt_args_4h5py_3h5t_py_create {
-  int __pyx_n;
-  int logical;
-};
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "h5py/h5a.pyx":214
- * # === Iteration routines ======================================================
- * 
- * cdef class _AttrVisitor:             # <<<<<<<<<<<<<<
- *     cdef object func
- *     cdef object retval
- */
-struct __pyx_obj_4h5py_3h5a__AttrVisitor {
-  PyObject_HEAD
-  PyObject *func;
-  PyObject *retval;
-};
-
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5p.pxd":16
- * # --- Base classes ---
- * 
- * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
- *     """ Base class for all property lists """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5p.pxd":26
- *     pass
- * 
- * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an instance of a property list class (i.e. an actual list
- *         which can be passed on to other API functions).
- */
-struct __pyx_obj_4h5py_3h5p_PropInstanceID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5p.pxd":59
- * # --- Object access ---
- * 
- * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ File access property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5t.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self)
- */
-struct __pyx_obj_4h5py_3h5t_TypeID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
-};
-
-
-/* "h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":32
- *     pass
- * 
- * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Base class for all object creation lists.
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCreateID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":52
- *     pass
- * 
- * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ File creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":20
- *     pass
- * 
- * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an HDF5 property list class.  These can be either (locked)
- *         library-defined classes or user-created classes.
- */
-struct __pyx_obj_4h5py_3h5p_PropClassID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeVlenID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":44
- * # --- Object creation ---
- * 
- * cdef class PropOCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Object creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropOCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":70
- * # --- New in 1.8 ---
- * 
- * cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Link creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropLCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":78
- *     cdef char* _buf
- * 
- * cdef class PropGCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Group creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropGCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5p.pxd":48
- *     pass
- * 
- * cdef class PropDCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Dataset creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeTimeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeArrayID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeFloatID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeStringID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-struct __pyx_obj_4h5py_3h5t_TypeEnumID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5p.pxd":39
- *     pass
- * 
- * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Property list for copying objects (as in h5o.copy) """
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCopyID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":63
- *     pass
- * 
- * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Dataset transfer property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDXID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5s.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class SpaceID(ObjectID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5s_SpaceID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5py/h5a.pyx":150
- * 
- * 
- * cdef class AttrInfo:             # <<<<<<<<<<<<<<
- * 
- *     cdef H5A_info_t info
- */
-struct __pyx_obj_4h5py_3h5a_AttrInfo {
-  PyObject_HEAD
-  H5A_info_t info;
-};
-
-
-/* "h5p.pxd":74
- *     pass
- * 
- * cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Link access property list """
- *     cdef char* _buf
- */
-struct __pyx_obj_4h5py_3h5p_PropLAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-  char *_buf;
-};
-
-
-/* "h5py/h5a.pxd":14
- * from _objects cimport ObjectID
- * 
- * cdef class AttrID(ObjectID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5a_AttrID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
-  PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;
-
-
-/* "h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
-
-
-/* "h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
-
-
-/* "h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
-
-
-/* "h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
-
-
-/* "h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
-
-
-/* "h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
-
-
-/* "h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
-
-
-/* "h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;
-
-
-/* "h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
-
-
-/* "h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
-
-
-/* "h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
-
-
-/* "h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
-
-
-/* "h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-  int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-#define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_DelItemInt_Fast(o, i) : \
-                                                    __Pyx_DelItem_Generic(o, to_py_func(i)))
-static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) {
-    int r;
-    if (!j) return -1;
-    r = PyObject_DelItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_PYPY
-    if (PySequence_Check(o)) {
-        return PySequence_DelItem(o, i);
-    }
-#else
-    PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-    if (likely(m && m->sq_ass_item)) {
-        if (unlikely(i < 0) && likely(m->sq_length)) {
-            Py_ssize_t l = m->sq_length(o);
-            if (unlikely(l < 0)) return -1;
-            i += l;
-        }
-        return m->sq_ass_item(o, i, (PyObject *)NULL);
-    }
-#endif
-    return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_herr_t(herr_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static void* __Pyx_GetVtable(PyObject *dict); /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Aclose)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Aget_num_attrs)(hid_t); /*proto*/
-static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Aget_name)(hid_t, size_t, char *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Aget_space)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Aget_type)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_name)(hid_t, char *, char *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Adelete_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Acreate_by_name)(hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_name)(hid_t, char *, char *, hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Aopen_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Aexists_by_name)(hid_t, char *, char *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Arename_by_name)(hid_t, char *, char *, char *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info)(hid_t, H5A_info_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_name)(hid_t, char *, char *, H5A_info_t *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Aget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Aiterate2)(hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *); /*proto*/
-static hsize_t (*__pyx_f_4h5py_4defs_H5Aget_storage_size)(hid_t); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/
-
-/* Module declarations from 'h5py.h5t' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
-static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t, int __pyx_skip_dispatch); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/
-
-/* Module declarations from 'h5py.h5s' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5s_SpaceID = 0;
-
-/* Module declarations from 'h5py.h5p' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropOCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0;
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/
-static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/
-
-/* Module declarations from 'h5py._proxy' */
-static herr_t (*__pyx_f_4h5py_6_proxy_attr_rw)(hid_t, hid_t, void *, int); /*proto*/
-
-/* Module declarations from 'h5py.h5a' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5a_AttrID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5a_AttrInfo = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5a__AttrVisitor = 0;
-static herr_t __pyx_f_4h5py_3h5a_cb_attr_iter(hid_t, char *, H5A_info_t *, void *); /*proto*/
-static herr_t __pyx_f_4h5py_3h5a_cb_attr_simple(hid_t, char *, H5A_info_t *, void *); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5a"
-int __pyx_module_is_main_h5py__h5a = 0;
-
-/* Implementation of 'h5py.h5a' */
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_pf_4h5py_3h5a_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_4exists(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6rename(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, char *__pyx_v_new_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_8delete(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_10get_num_attrs(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo__hash(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_12get_info(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_index_type, int __pyx_v_order); /* proto */
-static int __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_14iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_index, int __pyx_v_index_type, int __pyx_v_order, int __pyx_v_info); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4name___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID__close(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_2read(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self, PyArrayObject *__pyx_v_arr); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4write(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self, PyArrayObject *__pyx_v_arr); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_6get_name(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_8get_space(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_10get_type(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_12get_storage_size(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self); /* proto */
-static char __pyx_k_1[] = ".";
-static char __pyx_k_4[] = "Exactly one of name or idx must be specified";
-static char __pyx_k_8[] = "Exactly one of index or name must be specified.";
-static char __pyx_k_12[] = "At most one of name and index may be specified";
-static char __pyx_k_16[] = "Starting index must be a non-negative integer.";
-static char __pyx_k_18[] = "get_simple_extent_dims";
-static char __pyx_k_20[] = "The attribute's name";
-static char __pyx_k_21[] = "A Numpy-style shape tuple representing the attribute's dataspace";
-static char __pyx_k_22[] = "A Numpy-stype dtype object representing the attribute's datatype";
-static char __pyx_k_23[] = "Indicates if the creation order is valid";
-static char __pyx_k_24[] = "Creation order";
-static char __pyx_k_25[] = "Character set of attribute name (integer typecode from h5t)";
-static char __pyx_k_26[] = "Size of raw data";
-static char __pyx_k_27[] = "\n    Provides access to the low-level HDF5 \"H5A\" attribute interface.\n";
-static char __pyx_k_30[] = "/home/computer/h5py/h5py/h5a.pyx";
-static char __pyx_k_31[] = "h5py.h5a";
-static char __pyx_k__i[] = "i";
-static char __pyx_k__loc[] = "loc";
-static char __pyx_k__tid[] = "tid";
-static char __pyx_k__vis[] = "vis";
-static char __pyx_k__cset[] = "cset";
-static char __pyx_k__func[] = "func";
-static char __pyx_k__h5py[] = "h5py";
-static char __pyx_k__info[] = "info";
-static char __pyx_k__lapl[] = "lapl";
-static char __pyx_k__lock[] = "lock";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__cfunc[] = "cfunc";
-static char __pyx_k__dtype[] = "dtype";
-static char __pyx_k__index[] = "index";
-static char __pyx_k__order[] = "order";
-static char __pyx_k__space[] = "space";
-static char __pyx_k__valid[] = "valid";
-static char __pyx_k__corder[] = "corder";
-static char __pyx_k__create[] = "create";
-static char __pyx_k__delete[] = "delete";
-static char __pyx_k__exists[] = "exists";
-static char __pyx_k__rename[] = "rename";
-static char __pyx_k__iterate[] = "iterate";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k___objects[] = "_objects";
-static char __pyx_k__get_info[] = "get_info";
-static char __pyx_k__get_name[] = "get_name";
-static char __pyx_k__get_type[] = "get_type";
-static char __pyx_k__new_name[] = "new_name";
-static char __pyx_k__obj_name[] = "obj_name";
-static char __pyx_k__registry[] = "registry";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__data_size[] = "data_size";
-static char __pyx_k__get_space[] = "get_space";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__index_type[] = "index_type";
-static char __pyx_k__corder_valid[] = "corder_valid";
-static char __pyx_k__get_num_attrs[] = "get_num_attrs";
-static PyObject *__pyx_kp_s_12;
-static PyObject *__pyx_kp_s_16;
-static PyObject *__pyx_n_s_18;
-static PyObject *__pyx_kp_s_30;
-static PyObject *__pyx_n_s_31;
-static PyObject *__pyx_kp_s_4;
-static PyObject *__pyx_kp_s_8;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___objects;
-static PyObject *__pyx_n_s__cfunc;
-static PyObject *__pyx_n_s__corder;
-static PyObject *__pyx_n_s__corder_valid;
-static PyObject *__pyx_n_s__create;
-static PyObject *__pyx_n_s__cset;
-static PyObject *__pyx_n_s__data_size;
-static PyObject *__pyx_n_s__delete;
-static PyObject *__pyx_n_s__dtype;
-static PyObject *__pyx_n_s__exists;
-static PyObject *__pyx_n_s__func;
-static PyObject *__pyx_n_s__get_info;
-static PyObject *__pyx_n_s__get_name;
-static PyObject *__pyx_n_s__get_num_attrs;
-static PyObject *__pyx_n_s__get_space;
-static PyObject *__pyx_n_s__get_type;
-static PyObject *__pyx_n_s__h5py;
-static PyObject *__pyx_n_s__i;
-static PyObject *__pyx_n_s__index;
-static PyObject *__pyx_n_s__index_type;
-static PyObject *__pyx_n_s__info;
-static PyObject *__pyx_n_s__iterate;
-static PyObject *__pyx_n_s__lapl;
-static PyObject *__pyx_n_s__loc;
-static PyObject *__pyx_n_s__lock;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__new_name;
-static PyObject *__pyx_n_s__obj_name;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__order;
-static PyObject *__pyx_n_s__registry;
-static PyObject *__pyx_n_s__rename;
-static PyObject *__pyx_n_s__space;
-static PyObject *__pyx_n_s__tid;
-static PyObject *__pyx_n_s__valid;
-static PyObject *__pyx_n_s__vis;
-static int __pyx_k_2;
-static int __pyx_k_3;
-static int __pyx_k_6;
-static int __pyx_k_7;
-static int __pyx_k_10;
-static int __pyx_k_11;
-static int __pyx_k_14;
-static int __pyx_k_15;
-static PyObject *__pyx_k_tuple_5;
-static PyObject *__pyx_k_tuple_9;
-static PyObject *__pyx_k_tuple_13;
-static PyObject *__pyx_k_tuple_17;
-static PyObject *__pyx_k_tuple_19;
-static PyObject *__pyx_k_tuple_28;
-static PyObject *__pyx_k_tuple_32;
-static PyObject *__pyx_k_tuple_34;
-static PyObject *__pyx_k_tuple_36;
-static PyObject *__pyx_k_tuple_38;
-static PyObject *__pyx_k_tuple_40;
-static PyObject *__pyx_k_tuple_42;
-static PyObject *__pyx_k_tuple_44;
-static PyObject *__pyx_k_codeobj_29;
-static PyObject *__pyx_k_codeobj_33;
-static PyObject *__pyx_k_codeobj_35;
-static PyObject *__pyx_k_codeobj_37;
-static PyObject *__pyx_k_codeobj_39;
-static PyObject *__pyx_k_codeobj_41;
-static PyObject *__pyx_k_codeobj_43;
-static PyObject *__pyx_k_codeobj_45;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5a_create[] = "(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID\n\n    Create a new attribute, attached to an existing object.\n\n    STRING obj_name (\".\")\n        Attach attribute to this group member instead\n\n    PropID lapl\n        Link access property list for obj_name\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5a_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5a_1create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_create)};
-static PyObject *__pyx_pw_4h5py_3h5a_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__tid,&__pyx_n_s__space,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0};
-    PyObject* values[6] = {0,0,0,0,0,0};
-
-    /* "h5py/h5a.pyx":33
- * 
- * def create(ObjectID loc not None, char* name, TypeID tid not None,
- *     SpaceID space not None, *, char* obj_name='.', PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID
- * 
- */
-    values[5] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tid)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 2)) {
-        Py_ssize_t index;
-        for (index = 4; index < 6 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[2]);
-    __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[3]);
-    if (values[4]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[4]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[5]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5a.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tid), __pyx_ptype_4h5py_3h5t_TypeID, 0, "tid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_space), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "space", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_create(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_tid, __pyx_v_space, __pyx_v_obj_name, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":32
- * # --- create, create_by_name ---
- * 
- * def create(ObjectID loc not None, char* name, TypeID tid not None,             # <<<<<<<<<<<<<<
- *     SpaceID space not None, *, char* obj_name='.', PropID lapl=None):
- *     """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create", 0);
-
-  /* "h5py/h5a.pyx":45
- *     """
- * 
- *     return AttrID.open(H5Acreate_by_name(loc.id, obj_name, name, tid.id,             # <<<<<<<<<<<<<<
- *             space.id, H5P_DEFAULT, H5P_DEFAULT, pdefault(lapl)))
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a_AttrID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-
-  /* "h5py/h5a.pyx":46
- * 
- *     return AttrID.open(H5Acreate_by_name(loc.id, obj_name, name, tid.id,
- *             space.id, H5P_DEFAULT, H5P_DEFAULT, pdefault(lapl)))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Acreate_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_name, __pyx_v_tid->__pyx_base.id, __pyx_v_space->__pyx_base.id, H5P_DEFAULT, H5P_DEFAULT, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5a.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5a_2open[] = "(ObjectID loc, STRING name=, INT index=, **kwds) => AttrID\n\n    Open an attribute attached to an existing object.  You must specify\n    exactly one of either name or idx.  Keywords are:\n\n    STRING obj_name (\".\")\n        Attribute is attached to this group member\n\n    PropID lapl (None)\n        Link access property list for obj_name\n\n    INT index_type (h5.INDEX_NAME)\n\n    INT order (h5.ITER_NATIVE)\n\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5a_3open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5a_3open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_2open)};
-static PyObject *__pyx_pw_4h5py_3h5a_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  int __pyx_v_index;
-  char *__pyx_v_obj_name;
-  int __pyx_v_index_type;
-  int __pyx_v_order;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("open (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__lapl,0};
-    PyObject* values[7] = {0,0,0,0,0,0,0};
-
-    /* "h5py/h5a.pyx":53
- * def open(ObjectID loc not None, char* name=NULL, int index=-1, *,
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *     PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name=, INT index=, **kwds) => AttrID
- * 
- */
-    values[6] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
-          if (value) { values[1] = value; kw_args--; }
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 4)) {
-        Py_ssize_t index;
-        for (index = 3; index < 7 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    if (values[1]) {
-      __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-
-      /* "h5py/h5a.pyx":51
- * # --- open, open_by_name, open_by_idx ---
- * 
- * def open(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *     PropID lapl=None):
- */
-      __pyx_v_name = ((char *)NULL);
-    }
-    if (values[2]) {
-      __pyx_v_index = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index = ((int)-1);
-    }
-    if (values[3]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    if (values[4]) {
-      __pyx_v_index_type = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_index_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index_type = __pyx_k_2;
-    }
-    if (values[5]) {
-      __pyx_v_order = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_order = __pyx_k_3;
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[6]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("open", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5a.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_2open(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_index, __pyx_v_obj_name, __pyx_v_index_type, __pyx_v_order, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5a_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  herr_t __pyx_t_6;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("open", 0);
-
-  /* "h5py/h5a.pyx":70
- * 
- *     """
- *     if (name == NULL and index < 0) or (name != NULL and index >= 0):             # <<<<<<<<<<<<<<
- *         raise TypeError("Exactly one of name or idx must be specified")
- * 
- */
-  __pyx_t_1 = (__pyx_v_name == NULL);
-  if (__pyx_t_1) {
-    __pyx_t_2 = (__pyx_v_index < 0);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_1;
-  }
-  if (!__pyx_t_3) {
-    __pyx_t_1 = (__pyx_v_name != NULL);
-    if (__pyx_t_1) {
-      __pyx_t_2 = (__pyx_v_index >= 0);
-      __pyx_t_4 = __pyx_t_2;
-    } else {
-      __pyx_t_4 = __pyx_t_1;
-    }
-    __pyx_t_1 = __pyx_t_4;
-  } else {
-    __pyx_t_1 = __pyx_t_3;
-  }
-  if (__pyx_t_1) {
-
-    /* "h5py/h5a.pyx":71
- *     """
- *     if (name == NULL and index < 0) or (name != NULL and index >= 0):
- *         raise TypeError("Exactly one of name or idx must be specified")             # <<<<<<<<<<<<<<
- * 
- *     if name != NULL:
- */
-    __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_5), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5a.pyx":73
- *         raise TypeError("Exactly one of name or idx must be specified")
- * 
- *     if name != NULL:             # <<<<<<<<<<<<<<
- *         return AttrID.open(H5Aopen_by_name(loc.id, obj_name, name,
- *                         H5P_DEFAULT, pdefault(lapl)))
- */
-  __pyx_t_1 = (__pyx_v_name != NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5a.pyx":74
- * 
- *     if name != NULL:
- *         return AttrID.open(H5Aopen_by_name(loc.id, obj_name, name,             # <<<<<<<<<<<<<<
- *                         H5P_DEFAULT, pdefault(lapl)))
- *     else:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_5 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a_AttrID)), __pyx_n_s__open); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-
-    /* "h5py/h5a.pyx":75
- *     if name != NULL:
- *         return AttrID.open(H5Aopen_by_name(loc.id, obj_name, name,
- *                         H5P_DEFAULT, pdefault(lapl)))             # <<<<<<<<<<<<<<
- *     else:
- *         return AttrID.open(H5Aopen_by_idx(loc.id, obj_name,
- */
-    __pyx_t_6 = __pyx_f_4h5py_4defs_H5Aopen_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_name, H5P_DEFAULT, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_7 = __Pyx_PyInt_to_py_herr_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_7);
-    __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7);
-    __Pyx_GIVEREF(__pyx_t_7);
-    __pyx_t_7 = 0;
-    __pyx_t_7 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_7);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-    __pyx_r = __pyx_t_7;
-    __pyx_t_7 = 0;
-    goto __pyx_L0;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "h5py/h5a.pyx":77
- *                         H5P_DEFAULT, pdefault(lapl)))
- *     else:
- *         return AttrID.open(H5Aopen_by_idx(loc.id, obj_name,             # <<<<<<<<<<<<<<
- *             <H5_index_t>index_type, <H5_iter_order_t>order, index,
- *             H5P_DEFAULT, pdefault(lapl)))
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_7 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a_AttrID)), __pyx_n_s__open); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_7);
-
-    /* "h5py/h5a.pyx":79
- *         return AttrID.open(H5Aopen_by_idx(loc.id, obj_name,
- *             <H5_index_t>index_type, <H5_iter_order_t>order, index,
- *             H5P_DEFAULT, pdefault(lapl)))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_t_6 = __pyx_f_4h5py_4defs_H5Aopen_by_idx(__pyx_v_loc->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_index_type), ((H5_iter_order_t)__pyx_v_order), __pyx_v_index, H5P_DEFAULT, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_8 = __Pyx_PyInt_to_py_herr_t(__pyx_t_6); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8);
-    __Pyx_GIVEREF(__pyx_t_8);
-    __pyx_t_8 = 0;
-    __pyx_t_8 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    __pyx_r = __pyx_t_8;
-    __pyx_t_8 = 0;
-    goto __pyx_L0;
-  }
-  __pyx_L4:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_AddTraceback("h5py.h5a.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_5exists(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5a_4exists[] = "(ObjectID loc, STRING name, **kwds) => BOOL\n\n    Determine if an attribute is attached to this object.  Keywords:\n\n    STRING obj_name (\".\")\n        Look for attributes attached to this group member\n\n    PropID lapl (None):\n        Link access property list for obj_name\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5a_5exists = {__Pyx_NAMESTR("exists"), (PyCFunction)__pyx_pw_4h5py_3h5a_5exists, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_4exists)};
-static PyObject *__pyx_pw_4h5py_3h5a_5exists(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("exists (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0};
-    PyObject* values[4] = {0,0,0,0};
-
-    /* "h5py/h5a.pyx":85
- * 
- * def exists(ObjectID loc not None, char* name, *,
- *             char* obj_name=".", PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, **kwds) => BOOL
- * 
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("exists", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 2)) {
-        Py_ssize_t index;
-        for (index = 2; index < 4 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "exists") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[2]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("exists", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5a.exists", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_4exists(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_obj_name, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":84
- * # --- exists, exists_by_name ---
- * 
- * def exists(ObjectID loc not None, char* name, *,             # <<<<<<<<<<<<<<
- *             char* obj_name=".", PropID lapl=None):
- *     """(ObjectID loc, STRING name, **kwds) => BOOL
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_4exists(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("exists", 0);
-
-  /* "h5py/h5a.pyx":96
- *         Link access property list for obj_name
- *     """
- *     return <bint>H5Aexists_by_name(loc.id, obj_name, name, pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aexists_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.exists", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_7rename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5a_6rename[] = "(ObjectID loc, STRING name, STRING new_name, **kwds)\n\n    Rename an attribute.  Keywords:\n\n    STRING obj_name (\".\")\n        Attribute is attached to this group member\n\n    PropID lapl (None)\n        Link access property list for obj_name\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5a_7rename = {__Pyx_NAMESTR("rename"), (PyCFunction)__pyx_pw_4h5py_3h5a_7rename, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6rename)};
-static PyObject *__pyx_pw_4h5py_3h5a_7rename(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  char *__pyx_v_new_name;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("rename (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__new_name,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0};
-    PyObject* values[5] = {0,0,0,0,0};
-
-    /* "h5py/h5a.pyx":102
- * 
- * def rename(ObjectID loc not None, char* name, char* new_name, *,
- *     char* obj_name='.', PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, STRING new_name, **kwds)
- * 
- */
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("rename", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("rename", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 2)) {
-        Py_ssize_t index;
-        for (index = 3; index < 5 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "rename") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_new_name = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[3]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("rename", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5a.rename", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_6rename(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_new_name, __pyx_v_obj_name, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":101
- * # --- rename, rename_by_name ---
- * 
- * def rename(ObjectID loc not None, char* name, char* new_name, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', PropID lapl=None):
- *     """(ObjectID loc, STRING name, STRING new_name, **kwds)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6rename(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, char *__pyx_v_new_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("rename", 0);
-
-  /* "h5py/h5a.pyx":113
- *         Link access property list for obj_name
- *     """
- *     H5Arename_by_name(loc.id, obj_name, name, new_name, pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Arename_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_name, __pyx_v_new_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5a.rename", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_9delete(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5a_8delete[] = "(ObjectID loc, STRING name=, INT index=, **kwds)\n\n    Remove an attribute from an object.  Specify exactly one of \"name\"\n    or \"index\". Keyword-only arguments:\n\n    STRING obj_name (\".\")\n        Attribute is attached to this group member\n\n    PropID lapl (None)\n        Link access property list for obj_name\n\n    INT index_type (h5.INDEX_NAME)\n\n    INT order (h5.ITER_NATIVE)\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5a_9delete = {__Pyx_NAMESTR("delete"), (PyCFunction)__pyx_pw_4h5py_3h5a_9delete, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_8delete)};
-static PyObject *__pyx_pw_4h5py_3h5a_9delete(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  int __pyx_v_index;
-  char *__pyx_v_obj_name;
-  int __pyx_v_index_type;
-  int __pyx_v_order;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("delete (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__lapl,0};
-    PyObject* values[7] = {0,0,0,0,0,0,0};
-
-    /* "h5py/h5a.pyx":118
- * def delete(ObjectID loc not None, char* name=NULL, int index=-1, *,
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *     PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name=, INT index=, **kwds)
- * 
- */
-    values[6] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
-          if (value) { values[1] = value; kw_args--; }
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 4)) {
-        Py_ssize_t index;
-        for (index = 3; index < 7 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "delete") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    if (values[1]) {
-      __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-
-      /* "h5py/h5a.pyx":116
- * 
- * 
- * def delete(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *     PropID lapl=None):
- */
-      __pyx_v_name = ((char *)NULL);
-    }
-    if (values[2]) {
-      __pyx_v_index = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index = ((int)-1);
-    }
-    if (values[3]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    if (values[4]) {
-      __pyx_v_index_type = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_index_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index_type = __pyx_k_6;
-    }
-    if (values[5]) {
-      __pyx_v_order = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_order = __pyx_k_7;
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[6]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("delete", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5a.delete", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_8delete(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_index, __pyx_v_obj_name, __pyx_v_index_type, __pyx_v_order, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5a_8delete(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  herr_t __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("delete", 0);
-
-  /* "h5py/h5a.pyx":134
- *     INT order (h5.ITER_NATIVE)
- *     """
- *     if name != NULL and index < 0:             # <<<<<<<<<<<<<<
- *         H5Adelete_by_name(loc.id, obj_name, name, pdefault(lapl))
- *     elif name == NULL and index >= 0:
- */
-  __pyx_t_1 = (__pyx_v_name != NULL);
-  if (__pyx_t_1) {
-    __pyx_t_2 = (__pyx_v_index < 0);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_1;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/h5a.pyx":135
- *     """
- *     if name != NULL and index < 0:
- *         H5Adelete_by_name(loc.id, obj_name, name, pdefault(lapl))             # <<<<<<<<<<<<<<
- *     elif name == NULL and index >= 0:
- *         H5Adelete_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Adelete_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5a.pyx":136
- *     if name != NULL and index < 0:
- *         H5Adelete_by_name(loc.id, obj_name, name, pdefault(lapl))
- *     elif name == NULL and index >= 0:             # <<<<<<<<<<<<<<
- *         H5Adelete_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- *             <H5_iter_order_t>order, index, pdefault(lapl))
- */
-  __pyx_t_3 = (__pyx_v_name == NULL);
-  if (__pyx_t_3) {
-    __pyx_t_1 = (__pyx_v_index >= 0);
-    __pyx_t_2 = __pyx_t_1;
-  } else {
-    __pyx_t_2 = __pyx_t_3;
-  }
-  if (__pyx_t_2) {
-
-    /* "h5py/h5a.pyx":138
- *     elif name == NULL and index >= 0:
- *         H5Adelete_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- *             <H5_iter_order_t>order, index, pdefault(lapl))             # <<<<<<<<<<<<<<
- *     else:
- *         raise TypeError("Exactly one of index or name must be specified.")
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Adelete_by_idx(__pyx_v_loc->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_index_type), ((H5_iter_order_t)__pyx_v_order), __pyx_v_index, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5a.pyx":140
- *             <H5_iter_order_t>order, index, pdefault(lapl))
- *     else:
- *         raise TypeError("Exactly one of index or name must be specified.")             # <<<<<<<<<<<<<<
- * 
- * def get_num_attrs(ObjectID loc not None):
- */
-    __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5a.delete", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_11get_num_attrs(PyObject *__pyx_self, PyObject *__pyx_v_loc); /*proto*/
-static char __pyx_doc_4h5py_3h5a_10get_num_attrs[] = "(ObjectID loc) => INT\n\n    Determine the number of attributes attached to an HDF5 object.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5a_11get_num_attrs = {__Pyx_NAMESTR("get_num_attrs"), (PyCFunction)__pyx_pw_4h5py_3h5a_11get_num_attrs, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_10get_num_attrs)};
-static PyObject *__pyx_pw_4h5py_3h5a_11get_num_attrs(PyObject *__pyx_self, PyObject *__pyx_v_loc) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_num_attrs (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_10get_num_attrs(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_loc));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":142
- *         raise TypeError("Exactly one of index or name must be specified.")
- * 
- * def get_num_attrs(ObjectID loc not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc) => INT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_10get_num_attrs(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_num_attrs", 0);
-
-  /* "h5py/h5a.pyx":147
- *     Determine the number of attributes attached to an HDF5 object.
- *     """
- *     return H5Aget_num_attrs(loc.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_num_attrs(__pyx_v_loc->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.get_num_attrs", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_12corder_valid_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_12corder_valid_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":156
- *     property corder_valid:
- *         """Indicates if the creation order is valid"""
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return <bint>self.info.corder_valid
- *     property corder:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_12corder_valid___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5a.pyx":157
- *         """Indicates if the creation order is valid"""
- *         def __get__(self):
- *             return <bint>self.info.corder_valid             # <<<<<<<<<<<<<<
- *     property corder:
- *         """Creation order"""
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong(((int)__pyx_v_self->info.corder_valid)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5a.AttrInfo.corder_valid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_6corder_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_6corder_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":160
- *     property corder:
- *         """Creation order"""
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return <int>self.info.corder
- *     property cset:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_6corder___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5a.pyx":161
- *         """Creation order"""
- *         def __get__(self):
- *             return <int>self.info.corder             # <<<<<<<<<<<<<<
- *     property cset:
- *         """Character set of attribute name (integer typecode from h5t)"""
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(((int)__pyx_v_self->info.corder)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5a.AttrInfo.corder.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_4cset_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_4cset_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":164
- *     property cset:
- *         """Character set of attribute name (integer typecode from h5t)"""
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return <int>self.info.cset
- *     property data_size:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_4cset___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5a.pyx":165
- *         """Character set of attribute name (integer typecode from h5t)"""
- *         def __get__(self):
- *             return <int>self.info.cset             # <<<<<<<<<<<<<<
- *     property data_size:
- *         """Size of raw data"""
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(((int)__pyx_v_self->info.cset)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5a.AttrInfo.cset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_9data_size_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_9data_size_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":168
- *     property data_size:
- *         """Size of raw data"""
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.info.data_size
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo_9data_size___get__(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5a.pyx":169
- *         """Size of raw data"""
- *         def __get__(self):
- *             return self.info.data_size             # <<<<<<<<<<<<<<
- * 
- *     def _hash(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_self->info.data_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5a.AttrInfo.data_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5a_8AttrInfo_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_hash (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_8AttrInfo__hash(((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":171
- *             return self.info.data_size
- * 
- *     def _hash(self):             # <<<<<<<<<<<<<<
- *         return hash((self.corder_valid, self.corder, self.cset, self.data_size))
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_8AttrInfo__hash(struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  Py_hash_t __pyx_t_6;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_hash", 0);
-
-  /* "h5py/h5a.pyx":172
- * 
- *     def _hash(self):
- *         return hash((self.corder_valid, self.corder, self.cset, self.data_size))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__corder_valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__corder); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__cset); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__data_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __pyx_t_1 = 0;
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_t_6 = PyObject_Hash(((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  __pyx_t_5 = __Pyx_PyInt_FromHash_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_r = __pyx_t_5;
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5a.AttrInfo._hash", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_13get_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5a_12get_info[] = "(ObjectID loc, STRING name=, INT index=, **kwds) => AttrInfo\n\n    Get information about an attribute, in one of two ways:\n\n    1. If you have the attribute identifier, just pass it in\n    2. If you have the parent object, supply it and exactly one of\n       either name or index.\n\n    STRING obj_name (\".\")\n        Use this group member instead\n\n    PropID lapl (None)\n        Link access property list for obj_name\n\n    INT in [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5a_13get_info = {__Pyx_NAMESTR("get_info"), (PyCFunction)__pyx_pw_4h5py_3h5a_13get_info, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_12get_info)};
-static PyObject *__pyx_pw_4h5py_3h5a_13get_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  int __pyx_v_index;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  int __pyx_v_index_type;
-  int __pyx_v_order;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_info (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,&__pyx_n_s__index_type,&__pyx_n_s__order,0};
-    PyObject* values[7] = {0,0,0,0,0,0,0};
-
-    /* "h5py/h5a.pyx":176
- * 
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,
- *             char* obj_name='.', PropID lapl=None,             # <<<<<<<<<<<<<<
- *             int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE):
- *     """(ObjectID loc, STRING name=, INT index=, **kwds) => AttrInfo
- */
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
-          if (value) { values[1] = value; kw_args--; }
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 4)) {
-        Py_ssize_t index;
-        for (index = 3; index < 7 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_info") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    if (values[1]) {
-      __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-
-      /* "h5py/h5a.pyx":175
- * 
- * 
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *             char* obj_name='.', PropID lapl=None,
- *             int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE):
- */
-      __pyx_v_name = ((char *)NULL);
-    }
-    if (values[2]) {
-      __pyx_v_index = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index = ((int)-1);
-    }
-    if (values[3]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-    if (values[5]) {
-      __pyx_v_index_type = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_index_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index_type = __pyx_k_10;
-    }
-    if (values[6]) {
-      __pyx_v_order = __Pyx_PyInt_AsInt(values[6]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_order = __pyx_k_11;
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_info", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5a.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_12get_info(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_index, __pyx_v_obj_name, __pyx_v_lapl, __pyx_v_index_type, __pyx_v_order);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5a_12get_info(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_index_type, int __pyx_v_order) {
-  struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_info = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  herr_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_info", 0);
-
-  /* "h5py/h5a.pyx":198
- *         What order the index is in
- *     """
- *     cdef AttrInfo info = AttrInfo()             # <<<<<<<<<<<<<<
- * 
- *     if name == NULL and index < 0:
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a_AttrInfo)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_info = ((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5a.pyx":200
- *     cdef AttrInfo info = AttrInfo()
- * 
- *     if name == NULL and index < 0:             # <<<<<<<<<<<<<<
- *         H5Aget_info(loc.id, &info.info)
- *     elif name != NULL and index >= 0:
- */
-  __pyx_t_2 = (__pyx_v_name == NULL);
-  if (__pyx_t_2) {
-    __pyx_t_3 = (__pyx_v_index < 0);
-    __pyx_t_4 = __pyx_t_3;
-  } else {
-    __pyx_t_4 = __pyx_t_2;
-  }
-  if (__pyx_t_4) {
-
-    /* "h5py/h5a.pyx":201
- * 
- *     if name == NULL and index < 0:
- *         H5Aget_info(loc.id, &info.info)             # <<<<<<<<<<<<<<
- *     elif name != NULL and index >= 0:
- *         raise TypeError("At most one of name and index may be specified")
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Aget_info(__pyx_v_loc->id, (&__pyx_v_info->info)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5a.pyx":202
- *     if name == NULL and index < 0:
- *         H5Aget_info(loc.id, &info.info)
- *     elif name != NULL and index >= 0:             # <<<<<<<<<<<<<<
- *         raise TypeError("At most one of name and index may be specified")
- *     elif name != NULL:
- */
-  __pyx_t_4 = (__pyx_v_name != NULL);
-  if (__pyx_t_4) {
-    __pyx_t_2 = (__pyx_v_index >= 0);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_4;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/h5a.pyx":203
- *         H5Aget_info(loc.id, &info.info)
- *     elif name != NULL and index >= 0:
- *         raise TypeError("At most one of name and index may be specified")             # <<<<<<<<<<<<<<
- *     elif name != NULL:
- *         H5Aget_info_by_name(loc.id, obj_name, name, &info.info, pdefault(lapl))
- */
-    __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_13), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5a.pyx":204
- *     elif name != NULL and index >= 0:
- *         raise TypeError("At most one of name and index may be specified")
- *     elif name != NULL:             # <<<<<<<<<<<<<<
- *         H5Aget_info_by_name(loc.id, obj_name, name, &info.info, pdefault(lapl))
- *     elif index >= 0:
- */
-  __pyx_t_3 = (__pyx_v_name != NULL);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5a.pyx":205
- *         raise TypeError("At most one of name and index may be specified")
- *     elif name != NULL:
- *         H5Aget_info_by_name(loc.id, obj_name, name, &info.info, pdefault(lapl))             # <<<<<<<<<<<<<<
- *     elif index >= 0:
- *         H5Aget_info_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Aget_info_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_name, (&__pyx_v_info->info), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5a.pyx":206
- *     elif name != NULL:
- *         H5Aget_info_by_name(loc.id, obj_name, name, &info.info, pdefault(lapl))
- *     elif index >= 0:             # <<<<<<<<<<<<<<
- *         H5Aget_info_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- *             <H5_iter_order_t>order, index, &info.info, pdefault(lapl))
- */
-  __pyx_t_3 = (__pyx_v_index >= 0);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5a.pyx":208
- *     elif index >= 0:
- *         H5Aget_info_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- *             <H5_iter_order_t>order, index, &info.info, pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- *     return info
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Aget_info_by_idx(__pyx_v_loc->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_index_type), ((H5_iter_order_t)__pyx_v_order), __pyx_v_index, (&__pyx_v_info->info), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5a.pyx":210
- *             <H5_iter_order_t>order, index, &info.info, pdefault(lapl))
- * 
- *     return info             # <<<<<<<<<<<<<<
- * 
- * # === Iteration routines ======================================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_info));
-  __pyx_r = ((PyObject *)__pyx_v_info);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5a.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_info);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5a_12_AttrVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5a_12_AttrVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_func = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_func = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5a._AttrVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_self), __pyx_v_func);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":217
- *     cdef object func
- *     cdef object retval
- *     def __init__(self, func):             # <<<<<<<<<<<<<<
- *         self.func = func
- *         self.retval = None
- */
-
-static int __pyx_pf_4h5py_3h5a_12_AttrVisitor___init__(struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_self, PyObject *__pyx_v_func) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5a.pyx":218
- *     cdef object retval
- *     def __init__(self, func):
- *         self.func = func             # <<<<<<<<<<<<<<
- *         self.retval = None
- * 
- */
-  __Pyx_INCREF(__pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __Pyx_GOTREF(__pyx_v_self->func);
-  __Pyx_DECREF(__pyx_v_self->func);
-  __pyx_v_self->func = __pyx_v_func;
-
-  /* "h5py/h5a.pyx":219
- *     def __init__(self, func):
- *         self.func = func
- *         self.retval = None             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t cb_attr_iter(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, void* vis_in) except 2:
- */
-  __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __Pyx_GOTREF(__pyx_v_self->retval);
-  __Pyx_DECREF(__pyx_v_self->retval);
-  __pyx_v_self->retval = Py_None;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":221
- *         self.retval = None
- * 
- * cdef herr_t cb_attr_iter(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, void* vis_in) except 2:             # <<<<<<<<<<<<<<
- *     cdef _AttrVisitor vis = <_AttrVisitor>vis_in
- *     cdef AttrInfo info = AttrInfo()
- */
-
-static herr_t __pyx_f_4h5py_3h5a_cb_attr_iter(CYTHON_UNUSED hid_t __pyx_v_loc_id, char *__pyx_v_attr_name, H5A_info_t *__pyx_v_ainfo, void *__pyx_v_vis_in) {
-  struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0;
-  struct __pyx_obj_4h5py_3h5a_AttrInfo *__pyx_v_info = 0;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cb_attr_iter", 0);
-
-  /* "h5py/h5a.pyx":222
- * 
- * cdef herr_t cb_attr_iter(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, void* vis_in) except 2:
- *     cdef _AttrVisitor vis = <_AttrVisitor>vis_in             # <<<<<<<<<<<<<<
- *     cdef AttrInfo info = AttrInfo()
- *     info.info = ainfo[0]
- */
-  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_vis_in)));
-  __pyx_v_vis = ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_vis_in);
-
-  /* "h5py/h5a.pyx":223
- * cdef herr_t cb_attr_iter(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, void* vis_in) except 2:
- *     cdef _AttrVisitor vis = <_AttrVisitor>vis_in
- *     cdef AttrInfo info = AttrInfo()             # <<<<<<<<<<<<<<
- *     info.info = ainfo[0]
- *     vis.retval = vis.func(attr_name, info)
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a_AttrInfo)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 223; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_info = ((struct __pyx_obj_4h5py_3h5a_AttrInfo *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5a.pyx":224
- *     cdef _AttrVisitor vis = <_AttrVisitor>vis_in
- *     cdef AttrInfo info = AttrInfo()
- *     info.info = ainfo[0]             # <<<<<<<<<<<<<<
- *     vis.retval = vis.func(attr_name, info)
- *     if vis.retval is not None:
- */
-  __pyx_v_info->info = (__pyx_v_ainfo[0]);
-
-  /* "h5py/h5a.pyx":225
- *     cdef AttrInfo info = AttrInfo()
- *     info.info = ainfo[0]
- *     vis.retval = vis.func(attr_name, info)             # <<<<<<<<<<<<<<
- *     if vis.retval is not None:
- *         return 1
- */
-  __pyx_t_1 = PyBytes_FromString(__pyx_v_attr_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __Pyx_INCREF(((PyObject *)__pyx_v_info));
-  PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_info));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_info));
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_v_vis->func, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_vis->retval);
-  __Pyx_DECREF(__pyx_v_vis->retval);
-  __pyx_v_vis->retval = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5a.pyx":226
- *     info.info = ainfo[0]
- *     vis.retval = vis.func(attr_name, info)
- *     if vis.retval is not None:             # <<<<<<<<<<<<<<
- *         return 1
- *     return 0
- */
-  __pyx_t_3 = (__pyx_v_vis->retval != Py_None);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5a.pyx":227
- *     vis.retval = vis.func(attr_name, info)
- *     if vis.retval is not None:
- *         return 1             # <<<<<<<<<<<<<<
- *     return 0
- * 
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5a.pyx":228
- *     if vis.retval is not None:
- *         return 1
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t cb_attr_simple(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, void* vis_in) except 2:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.cb_attr_iter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 2;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_vis);
-  __Pyx_XDECREF((PyObject *)__pyx_v_info);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":230
- *     return 0
- * 
- * cdef herr_t cb_attr_simple(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, void* vis_in) except 2:             # <<<<<<<<<<<<<<
- *     cdef _AttrVisitor vis = <_AttrVisitor>vis_in
- *     vis.retval = vis.func(attr_name)
- */
-
-static herr_t __pyx_f_4h5py_3h5a_cb_attr_simple(CYTHON_UNUSED hid_t __pyx_v_loc_id, char *__pyx_v_attr_name, CYTHON_UNUSED H5A_info_t *__pyx_v_ainfo, void *__pyx_v_vis_in) {
-  struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cb_attr_simple", 0);
-
-  /* "h5py/h5a.pyx":231
- * 
- * cdef herr_t cb_attr_simple(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, void* vis_in) except 2:
- *     cdef _AttrVisitor vis = <_AttrVisitor>vis_in             # <<<<<<<<<<<<<<
- *     vis.retval = vis.func(attr_name)
- *     if vis.retval is not None:
- */
-  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_vis_in)));
-  __pyx_v_vis = ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_v_vis_in);
-
-  /* "h5py/h5a.pyx":232
- * cdef herr_t cb_attr_simple(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, void* vis_in) except 2:
- *     cdef _AttrVisitor vis = <_AttrVisitor>vis_in
- *     vis.retval = vis.func(attr_name)             # <<<<<<<<<<<<<<
- *     if vis.retval is not None:
- *         return 1
- */
-  __pyx_t_1 = PyBytes_FromString(__pyx_v_attr_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_v_vis->func, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_vis->retval);
-  __Pyx_DECREF(__pyx_v_vis->retval);
-  __pyx_v_vis->retval = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5a.pyx":233
- *     cdef _AttrVisitor vis = <_AttrVisitor>vis_in
- *     vis.retval = vis.func(attr_name)
- *     if vis.retval is not None:             # <<<<<<<<<<<<<<
- *         return 1
- *     return 0
- */
-  __pyx_t_3 = (__pyx_v_vis->retval != Py_None);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5a.pyx":234
- *     vis.retval = vis.func(attr_name)
- *     if vis.retval is not None:
- *         return 1             # <<<<<<<<<<<<<<
- *     return 0
- * 
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5a.pyx":235
- *     if vis.retval is not None:
- *         return 1
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.cb_attr_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 2;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_vis);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_15iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5a_14iterate[] = "(ObjectID loc, CALLABLE func, INT index=0, **kwds) => <Return value from func>\n\n    Iterate a callable (function, method or callable object) over the\n    attributes attached to this object.  You callable should have the\n    signature::\n\n        func(STRING name) => Result\n\n    or if the keyword argument \"info\" is True::\n\n        func(STRING name, AttrInfo info) => Result\n\n    Returning None continues iteration; returning anyth [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5a_15iterate = {__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pw_4h5py_3h5a_15iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_14iterate)};
-static PyObject *__pyx_pw_4h5py_3h5a_15iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  PyObject *__pyx_v_func = 0;
-  int __pyx_v_index;
-  int __pyx_v_index_type;
-  int __pyx_v_order;
-  int __pyx_v_info;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("iterate (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__index,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__info,0};
-    PyObject* values[6] = {0,0,0,0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 3)) {
-        Py_ssize_t index;
-        for (index = 3; index < 6 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_func = values[1];
-    if (values[2]) {
-      __pyx_v_index = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index = ((int)0);
-    }
-    if (values[3]) {
-      __pyx_v_index_type = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_index_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index_type = __pyx_k_14;
-    }
-    if (values[4]) {
-      __pyx_v_order = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_order = __pyx_k_15;
-    }
-    if (values[5]) {
-      __pyx_v_info = __Pyx_PyObject_IsTrue(values[5]); if (unlikely((__pyx_v_info == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_info = ((int)0);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5a.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_14iterate(__pyx_self, __pyx_v_loc, __pyx_v_func, __pyx_v_index, __pyx_v_index_type, __pyx_v_order, __pyx_v_info);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":238
- * 
- * 
- * def iterate(ObjectID loc not None, object func, int index=0, *,             # <<<<<<<<<<<<<<
- *     int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0):
- *     """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => <Return value from func>
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_14iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_index, int __pyx_v_index_type, int __pyx_v_order, int __pyx_v_info) {
-  hsize_t __pyx_v_i;
-  struct __pyx_obj_4h5py_3h5a__AttrVisitor *__pyx_v_vis = 0;
-  H5A_operator2_t __pyx_v_cfunc;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  herr_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("iterate", 0);
-
-  /* "h5py/h5a.pyx":264
- *         Index order to use
- *     """
- *     if index < 0:             # <<<<<<<<<<<<<<
- *         raise ValueError("Starting index must be a non-negative integer.")
- * 
- */
-  __pyx_t_1 = (__pyx_v_index < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5a.pyx":265
- *     """
- *     if index < 0:
- *         raise ValueError("Starting index must be a non-negative integer.")             # <<<<<<<<<<<<<<
- * 
- *     cdef hsize_t i = index
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5a.pyx":267
- *         raise ValueError("Starting index must be a non-negative integer.")
- * 
- *     cdef hsize_t i = index             # <<<<<<<<<<<<<<
- *     cdef _AttrVisitor vis = _AttrVisitor(func)
- *     cdef H5A_operator2_t cfunc
- */
-  __pyx_v_i = __pyx_v_index;
-
-  /* "h5py/h5a.pyx":268
- * 
- *     cdef hsize_t i = index
- *     cdef _AttrVisitor vis = _AttrVisitor(func)             # <<<<<<<<<<<<<<
- *     cdef H5A_operator2_t cfunc
- * 
- */
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(__pyx_v_func);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5a__AttrVisitor)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_v_vis = ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)__pyx_t_3);
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5a.pyx":271
- *     cdef H5A_operator2_t cfunc
- * 
- *     if info:             # <<<<<<<<<<<<<<
- *         cfunc = cb_attr_iter
- *     else:
- */
-  if (__pyx_v_info) {
-
-    /* "h5py/h5a.pyx":272
- * 
- *     if info:
- *         cfunc = cb_attr_iter             # <<<<<<<<<<<<<<
- *     else:
- *         cfunc = cb_attr_simple
- */
-    __pyx_v_cfunc = __pyx_f_4h5py_3h5a_cb_attr_iter;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "h5py/h5a.pyx":274
- *         cfunc = cb_attr_iter
- *     else:
- *         cfunc = cb_attr_simple             # <<<<<<<<<<<<<<
- * 
- *     H5Aiterate2(loc.id, <H5_index_t>index_type, <H5_iter_order_t>order,
- */
-    __pyx_v_cfunc = __pyx_f_4h5py_3h5a_cb_attr_simple;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5a.pyx":277
- * 
- *     H5Aiterate2(loc.id, <H5_index_t>index_type, <H5_iter_order_t>order,
- *         &i, cfunc, <void*>vis)             # <<<<<<<<<<<<<<
- * 
- *     return vis.retval
- */
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Aiterate2(__pyx_v_loc->id, ((H5_index_t)__pyx_v_index_type), ((H5_iter_order_t)__pyx_v_order), (&__pyx_v_i), __pyx_v_cfunc, ((void *)__pyx_v_vis)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 276; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5a.pyx":279
- *         &i, cfunc, <void*>vis)
- * 
- *     return vis.retval             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_vis->retval);
-  __pyx_r = __pyx_v_vis->retval;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5a.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_vis);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_4name_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_4name___get__(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":301
- *     property name:
- *         """The attribute's name"""
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.get_name()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4name___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5a.pyx":302
- *         """The attribute's name"""
- *         def __get__(self):
- *             return self.get_name()             # <<<<<<<<<<<<<<
- * 
- *     property shape:
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5shape_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":306
- *     property shape:
- *         """A Numpy-style shape tuple representing the attribute's dataspace"""
- *         def __get__(self):             # <<<<<<<<<<<<<<
- * 
- *             cdef SpaceID space
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5shape___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5a.pyx":309
- * 
- *             cdef SpaceID space
- *             space = self.get_space()             # <<<<<<<<<<<<<<
- *             return space.get_simple_extent_dims()
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5a.pyx":310
- *             cdef SpaceID space
- *             space = self.get_space()
- *             return space.get_simple_extent_dims()             # <<<<<<<<<<<<<<
- * 
- *     property dtype:
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_space), __pyx_n_s_18); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_space);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5dtype_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":314
- *     property dtype:
- *         """A Numpy-stype dtype object representing the attribute's datatype"""
- *         def __get__(self):             # <<<<<<<<<<<<<<
- * 
- *             cdef TypeID tid
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_5dtype___get__(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5a.pyx":317
- * 
- *             cdef TypeID tid
- *             tid = self.get_type()             # <<<<<<<<<<<<<<
- *             return tid.py_dtype()
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5a.pyx":318
- *             cdef TypeID tid
- *             tid = self.get_type()
- *             return tid.py_dtype()             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_tid->__pyx_vtab)->py_dtype(__pyx_v_tid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 318; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.dtype.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_tid);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5a_6AttrID__close[] = "()\n\n        Close this attribute and release resources.  You don't need to\n        call this manually; attributes are automatically destroyed when\n        their Python wrappers are freed.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_close (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID__close(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":321
- * 
- * 
- *     def _close(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID__close(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_close", 0);
-
-  /* "h5py/h5a.pyx":328
- *         their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Aclose(self.id)
- *             if not self.valid:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/h5a.pyx":329
- *         """
- *         with _objects.registry.lock:
- *             H5Aclose(self.id)             # <<<<<<<<<<<<<<
- *             if not self.valid:
- *                 del _objects.registry[self.id]
- */
-          __pyx_t_8 = __pyx_f_4h5py_4defs_H5Aclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-
-          /* "h5py/h5a.pyx":330
- *         with _objects.registry.lock:
- *             H5Aclose(self.id)
- *             if not self.valid:             # <<<<<<<<<<<<<<
- *                 del _objects.registry[self.id]
- * 
- */
-          __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __pyx_t_10 = (!__pyx_t_9);
-          if (__pyx_t_10) {
-
-            /* "h5py/h5a.pyx":331
- *             H5Aclose(self.id)
- *             if not self.valid:
- *                 del _objects.registry[self.id]             # <<<<<<<<<<<<<<
- * 
- * 
- */
-            __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_1);
-            __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_4);
-            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-            if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-        /* "h5py/h5a.pyx":328
- *         their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Aclose(self.id)
- *             if not self.valid:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.h5a.AttrID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_2);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_2);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2);
-          __Pyx_GIVEREF(__pyx_t_2);
-          __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_9 = (!__pyx_t_10);
-          if (__pyx_t_9) {
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_2);
-            __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2);
-            __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; 
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L18;
-          }
-          __pyx_L18:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      if (__pyx_t_3) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_19, NULL);
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-    }
-    goto __pyx_L19;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L1_error;
-    __pyx_L19:;
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.h5a.AttrID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_arr); /*proto*/
-static char __pyx_doc_4h5py_3h5a_6AttrID_2read[] = "(NDARRAY arr)\n\n        Read the attribute data into the given Numpy array.  Note that the\n        Numpy array must have the same shape as the HDF5 attribute, and a\n        conversion-compatible datatype.\n\n        The Numpy array must be writable and C-contiguous.  If this is not\n        the case, the read will fail with an exception.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_3read(PyObject *__pyx_v_self, PyObject *__pyx_v_arr) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("read (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_2read(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_arr));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":334
- * 
- * 
- *     def read(self, ndarray arr not None):             # <<<<<<<<<<<<<<
- *         """(NDARRAY arr)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_2read(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self, PyArrayObject *__pyx_v_arr) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype = 0;
-  hid_t __pyx_v_space_id;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  int __pyx_t_2;
-  struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  herr_t __pyx_t_6;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("read", 0);
-
-  /* "h5py/h5a.pyx":346
- *         cdef TypeID mtype
- *         cdef hid_t space_id
- *         space_id = 0             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_v_space_id = 0;
-
-  /* "h5py/h5a.pyx":348
- *         space_id = 0
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             space_id = H5Aget_space(self.id)
- *             check_numpy_write(arr, space_id)
- */
-  /*try:*/ {
-
-    /* "h5py/h5a.pyx":349
- * 
- *         try:
- *             space_id = H5Aget_space(self.id)             # <<<<<<<<<<<<<<
- *             check_numpy_write(arr, space_id)
- * 
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 349; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_space_id = __pyx_t_1;
-
-    /* "h5py/h5a.pyx":350
- *         try:
- *             space_id = H5Aget_space(self.id)
- *             check_numpy_write(arr, space_id)             # <<<<<<<<<<<<<<
- * 
- *             mtype = py_create(arr.dtype)
- */
-    __pyx_t_3.__pyx_n = 1;
-    __pyx_t_3.space_id = __pyx_v_space_id;
-    __pyx_t_2 = __pyx_f_4h5py_5utils_check_numpy_write(__pyx_v_arr, 0, &__pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 350; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5a.pyx":352
- *             check_numpy_write(arr, space_id)
- * 
- *             mtype = py_create(arr.dtype)             # <<<<<<<<<<<<<<
- * 
- *             attr_rw(self.id, mtype.id, PyArray_DATA(arr), 1)
- */
-    __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_n_s__dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_4, 0, NULL)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-    __pyx_t_5 = 0;
-
-    /* "h5py/h5a.pyx":354
- *             mtype = py_create(arr.dtype)
- * 
- *             attr_rw(self.id, mtype.id, PyArray_DATA(arr), 1)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __pyx_t_6 = __pyx_f_4h5py_6_proxy_attr_rw(__pyx_v_self->__pyx_base.id, __pyx_v_mtype->__pyx_base.id, PyArray_DATA(__pyx_v_arr), 1); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5a.pyx":357
- * 
- *         finally:
- *             if space_id:             # <<<<<<<<<<<<<<
- *                 H5Sclose(space_id)
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    if (__pyx_v_space_id) {
-
-      /* "h5py/h5a.pyx":358
- *         finally:
- *             if space_id:
- *                 H5Sclose(space_id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
-      goto __pyx_L7;
-    }
-    __pyx_L7:;
-    goto __pyx_L8;
-    __pyx_L6_error:;
-    if (__pyx_why == 4) {
-      Py_XDECREF(__pyx_exc_type);
-      Py_XDECREF(__pyx_exc_value);
-      Py_XDECREF(__pyx_exc_tb);
-    }
-    goto __pyx_L1_error;
-    __pyx_L8:;
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_mtype);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5write(PyObject *__pyx_v_self, PyObject *__pyx_v_arr); /*proto*/
-static char __pyx_doc_4h5py_3h5a_6AttrID_4write[] = "(NDARRAY arr)\n\n        Write the contents of a Numpy array too the attribute.  Note that\n        the Numpy array must have the same shape as the HDF5 attribute, and\n        a conversion-compatible datatype.\n\n        The Numpy array must be C-contiguous.  If this is not the case,\n        the write will fail with an exception.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_5write(PyObject *__pyx_v_self, PyObject *__pyx_v_arr) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("write (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_4write(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_arr));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":361
- * 
- * 
- *     def write(self, ndarray arr not None):             # <<<<<<<<<<<<<<
- *         """(NDARRAY arr)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_4write(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self, PyArrayObject *__pyx_v_arr) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype = 0;
-  hid_t __pyx_v_space_id;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  int __pyx_t_2;
-  struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  herr_t __pyx_t_6;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("write", 0);
-
-  /* "h5py/h5a.pyx":373
- *         cdef TypeID mtype
- *         cdef hid_t space_id
- *         space_id = 0             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_v_space_id = 0;
-
-  /* "h5py/h5a.pyx":375
- *         space_id = 0
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             space_id = H5Aget_space(self.id)
- *             check_numpy_read(arr, space_id)
- */
-  /*try:*/ {
-
-    /* "h5py/h5a.pyx":376
- * 
- *         try:
- *             space_id = H5Aget_space(self.id)             # <<<<<<<<<<<<<<
- *             check_numpy_read(arr, space_id)
- *             mtype = py_create(arr.dtype)
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_space_id = __pyx_t_1;
-
-    /* "h5py/h5a.pyx":377
- *         try:
- *             space_id = H5Aget_space(self.id)
- *             check_numpy_read(arr, space_id)             # <<<<<<<<<<<<<<
- *             mtype = py_create(arr.dtype)
- * 
- */
-    __pyx_t_3.__pyx_n = 1;
-    __pyx_t_3.space_id = __pyx_v_space_id;
-    __pyx_t_2 = __pyx_f_4h5py_5utils_check_numpy_read(__pyx_v_arr, 0, &__pyx_t_3); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5a.pyx":378
- *             space_id = H5Aget_space(self.id)
- *             check_numpy_read(arr, space_id)
- *             mtype = py_create(arr.dtype)             # <<<<<<<<<<<<<<
- * 
- *             attr_rw(self.id, mtype.id, PyArray_DATA(arr), 0)
- */
-    __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_arr), __pyx_n_s__dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_4, 0, NULL)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-    __pyx_t_5 = 0;
-
-    /* "h5py/h5a.pyx":380
- *             mtype = py_create(arr.dtype)
- * 
- *             attr_rw(self.id, mtype.id, PyArray_DATA(arr), 0)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __pyx_t_6 = __pyx_f_4h5py_6_proxy_attr_rw(__pyx_v_self->__pyx_base.id, __pyx_v_mtype->__pyx_base.id, PyArray_DATA(__pyx_v_arr), 0); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5a.pyx":383
- * 
- *         finally:
- *             if space_id:             # <<<<<<<<<<<<<<
- *                 H5Sclose(space_id)
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    if (__pyx_v_space_id) {
-
-      /* "h5py/h5a.pyx":384
- *         finally:
- *             if space_id:
- *                 H5Sclose(space_id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L6_error;}
-      goto __pyx_L7;
-    }
-    __pyx_L7:;
-    goto __pyx_L8;
-    __pyx_L6_error:;
-    if (__pyx_why == 4) {
-      Py_XDECREF(__pyx_exc_type);
-      Py_XDECREF(__pyx_exc_value);
-      Py_XDECREF(__pyx_exc_tb);
-    }
-    goto __pyx_L1_error;
-    __pyx_L8:;
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_mtype);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_7get_name(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5a_6AttrID_6get_name[] = "() => STRING name\n\n        Determine the name of this attribute.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_7get_name(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_name (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_6get_name(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":387
- * 
- * 
- *     def get_name(self):             # <<<<<<<<<<<<<<
- *         """() => STRING name
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_6get_name(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) {
-  int __pyx_v_blen;
-  char *__pyx_v_buf;
-  PyObject *__pyx_v_strout = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_name", 0);
-
-  /* "h5py/h5a.pyx":394
- *         cdef int blen
- *         cdef char* buf
- *         buf = NULL             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_v_buf = NULL;
-
-  /* "h5py/h5a.pyx":396
- *         buf = NULL
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             blen = H5Aget_name(self.id, 0, NULL)
- *             assert blen >= 0
- */
-  /*try:*/ {
-
-    /* "h5py/h5a.pyx":397
- * 
- *         try:
- *             blen = H5Aget_name(self.id, 0, NULL)             # <<<<<<<<<<<<<<
- *             assert blen >= 0
- *             buf = <char*>emalloc(sizeof(char)*blen+1)
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_name(__pyx_v_self->__pyx_base.id, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_blen = __pyx_t_1;
-
-    /* "h5py/h5a.pyx":398
- *         try:
- *             blen = H5Aget_name(self.id, 0, NULL)
- *             assert blen >= 0             # <<<<<<<<<<<<<<
- *             buf = <char*>emalloc(sizeof(char)*blen+1)
- *             blen = H5Aget_name(self.id, blen+1, buf)
- */
-    #ifndef CYTHON_WITHOUT_ASSERTIONS
-    if (unlikely(!(__pyx_v_blen >= 0))) {
-      PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    }
-    #endif
-
-    /* "h5py/h5a.pyx":399
- *             blen = H5Aget_name(self.id, 0, NULL)
- *             assert blen >= 0
- *             buf = <char*>emalloc(sizeof(char)*blen+1)             # <<<<<<<<<<<<<<
- *             blen = H5Aget_name(self.id, blen+1, buf)
- *             strout = <bytes>buf
- */
-    __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((((sizeof(char)) * __pyx_v_blen) + 1)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_buf = ((char *)__pyx_t_2);
-
-    /* "h5py/h5a.pyx":400
- *             assert blen >= 0
- *             buf = <char*>emalloc(sizeof(char)*blen+1)
- *             blen = H5Aget_name(self.id, blen+1, buf)             # <<<<<<<<<<<<<<
- *             strout = <bytes>buf
- *         finally:
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_name(__pyx_v_self->__pyx_base.id, (__pyx_v_blen + 1), __pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_blen = __pyx_t_1;
-
-    /* "h5py/h5a.pyx":401
- *             buf = <char*>emalloc(sizeof(char)*blen+1)
- *             blen = H5Aget_name(self.id, blen+1, buf)
- *             strout = <bytes>buf             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(buf)
- */
-    __pyx_t_3 = PyBytes_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 401; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __Pyx_INCREF(((PyObject*)__pyx_t_3));
-    __pyx_v_strout = ((PyObject*)__pyx_t_3);
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  }
-
-  /* "h5py/h5a.pyx":403
- *             strout = <bytes>buf
- *         finally:
- *             efree(buf)             # <<<<<<<<<<<<<<
- * 
- *         return strout
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/h5a.pyx":405
- *             efree(buf)
- * 
- *         return strout             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_strout));
-  __pyx_r = ((PyObject *)__pyx_v_strout);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.get_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_strout);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_9get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5a_6AttrID_8get_space[] = "() => SpaceID\n\n        Create and return a copy of the attribute's dataspace.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_9get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_space (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_8get_space(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":408
- * 
- * 
- *     def get_space(self):             # <<<<<<<<<<<<<<
- *         """() => SpaceID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_8get_space(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_space", 0);
-
-  /* "h5py/h5a.pyx":413
- *         Create and return a copy of the attribute's dataspace.
- *         """
- *         return SpaceID.open(H5Aget_space(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Aget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.get_space", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_11get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5a_6AttrID_10get_type[] = "() => TypeID\n\n        Create and return a copy of the attribute's datatype.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_11get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_type (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_10get_type(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":416
- * 
- * 
- *     def get_type(self):             # <<<<<<<<<<<<<<
- *         """() => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_10get_type(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_type", 0);
-
-  /* "h5py/h5a.pyx":421
- *         Create and return a copy of the attribute's datatype.
- *         """
- *         return typewrap(H5Aget_type(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_type(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.get_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_13get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5a_6AttrID_12get_storage_size[] = "() => INT\n\n        Get the amount of storage required for this attribute.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5a_6AttrID_13get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_storage_size (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5a_6AttrID_12get_storage_size(((struct __pyx_obj_4h5py_3h5a_AttrID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5a.pyx":424
- * 
- * 
- *     def get_storage_size(self):             # <<<<<<<<<<<<<<
- *         """() => INT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5a_6AttrID_12get_storage_size(struct __pyx_obj_4h5py_3h5a_AttrID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hsize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_storage_size", 0);
-
-  /* "h5py/h5a.pyx":429
- *         Get the amount of storage required for this attribute.
- *         """
- *         return H5Aget_storage_size(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Aget_storage_size(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 429; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5a.AttrID.get_storage_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5a_AttrID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_ptype_4h5py_8_objects_ObjectID->tp_new(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5a_AttrID(PyObject *o) {
-  PyObject_GC_UnTrack(o);
-  PyObject_GC_Track(o);
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5a_AttrID);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5a_AttrID(PyObject *o, visitproc v, void *a) {
-  int e;
-  e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5a_AttrID)); if (e) return e;
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5a_AttrID(PyObject *o) {
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5a_AttrID);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_name(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5a_6AttrID_4name_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_shape(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5a_6AttrID_5shape_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5a_6AttrID_dtype(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5a_6AttrID_5dtype_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5a_AttrID[] = {
-  {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_1_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID__close)},
-  {__Pyx_NAMESTR("read"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_3read, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_2read)},
-  {__Pyx_NAMESTR("write"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_5write, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_4write)},
-  {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_7get_name, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_6get_name)},
-  {__Pyx_NAMESTR("get_space"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_9get_space, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_8get_space)},
-  {__Pyx_NAMESTR("get_type"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_11get_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_10get_type)},
-  {__Pyx_NAMESTR("get_storage_size"), (PyCFunction)__pyx_pw_4h5py_3h5a_6AttrID_13get_storage_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5a_6AttrID_12get_storage_size)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5a_AttrID[] = {
-  {(char *)"name", __pyx_getprop_4h5py_3h5a_6AttrID_name, 0, __Pyx_DOCSTR(__pyx_k_20), 0},
-  {(char *)"shape", __pyx_getprop_4h5py_3h5a_6AttrID_shape, 0, __Pyx_DOCSTR(__pyx_k_21), 0},
-  {(char *)"dtype", __pyx_getprop_4h5py_3h5a_6AttrID_dtype, 0, __Pyx_DOCSTR(__pyx_k_22), 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_AttrID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_AttrID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_AttrID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_AttrID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5a_AttrID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5a.AttrID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5a_AttrID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5a_AttrID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_AttrID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_AttrID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_AttrID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_AttrID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Logical representation of an HDF5 attribute identifier.\n\n        Objects of this class can be used in any HDF5 function call\n        which expects an attribute identifier.  Additionally, all ``H5A*``\n        functions which always take an attribute instance as the first\n        argument are presented as methods of this class.\n\n        * Hashable: No\n        * Equality: Identifier comparison\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5a_AttrID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5a_AttrID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5a_AttrID, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5a_AttrID, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5a_AttrID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5a_AttrInfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5a_AttrInfo(PyObject *o) {
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_corder_valid(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5a_8AttrInfo_12corder_valid_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_corder(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5a_8AttrInfo_6corder_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_cset(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5a_8AttrInfo_4cset_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5a_8AttrInfo_data_size(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5a_8AttrInfo_9data_size_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5a_AttrInfo[] = {
-  {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pw_4h5py_3h5a_8AttrInfo_1_hash, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5a_AttrInfo[] = {
-  {(char *)"corder_valid", __pyx_getprop_4h5py_3h5a_8AttrInfo_corder_valid, 0, __Pyx_DOCSTR(__pyx_k_23), 0},
-  {(char *)"corder", __pyx_getprop_4h5py_3h5a_8AttrInfo_corder, 0, __Pyx_DOCSTR(__pyx_k_24), 0},
-  {(char *)"cset", __pyx_getprop_4h5py_3h5a_8AttrInfo_cset, 0, __Pyx_DOCSTR(__pyx_k_25), 0},
-  {(char *)"data_size", __pyx_getprop_4h5py_3h5a_8AttrInfo_data_size, 0, __Pyx_DOCSTR(__pyx_k_26), 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_AttrInfo = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_AttrInfo = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_AttrInfo = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_AttrInfo = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5a_AttrInfo = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5a.AttrInfo"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5a_AttrInfo), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5a_AttrInfo, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_AttrInfo, /*tp_as_number*/
-  &__pyx_tp_as_sequence_AttrInfo, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_AttrInfo, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_AttrInfo, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  0, /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5a_AttrInfo, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5a_AttrInfo, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5a_AttrInfo, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5a__AttrVisitor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_3h5a__AttrVisitor *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o);
-  p->func = Py_None; Py_INCREF(Py_None);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5a__AttrVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5a__AttrVisitor *p = (struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->func);
-  Py_CLEAR(p->retval);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5a__AttrVisitor(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5a__AttrVisitor *p = (struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o;
-  if (p->func) {
-    e = (*v)(p->func, a); if (e) return e;
-  }
-  if (p->retval) {
-    e = (*v)(p->retval, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5a__AttrVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5a__AttrVisitor *p = (struct __pyx_obj_4h5py_3h5a__AttrVisitor *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->func);
-  p->func = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->retval);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5a__AttrVisitor[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__AttrVisitor = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__AttrVisitor = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__AttrVisitor = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__AttrVisitor = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5a__AttrVisitor = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5a._AttrVisitor"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5a__AttrVisitor), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5a__AttrVisitor, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__AttrVisitor, /*tp_as_number*/
-  &__pyx_tp_as_sequence__AttrVisitor, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__AttrVisitor, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__AttrVisitor, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  0, /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5a__AttrVisitor, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5a__AttrVisitor, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5a__AttrVisitor, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5a_12_AttrVisitor_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5a__AttrVisitor, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5a"),
-    __Pyx_DOCSTR(__pyx_k_27), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 0},
-  {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0},
-  {&__pyx_n_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 1},
-  {&__pyx_kp_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 0},
-  {&__pyx_n_s_31, __pyx_k_31, sizeof(__pyx_k_31), 0, 0, 1, 1},
-  {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
-  {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1},
-  {&__pyx_n_s__cfunc, __pyx_k__cfunc, sizeof(__pyx_k__cfunc), 0, 0, 1, 1},
-  {&__pyx_n_s__corder, __pyx_k__corder, sizeof(__pyx_k__corder), 0, 0, 1, 1},
-  {&__pyx_n_s__corder_valid, __pyx_k__corder_valid, sizeof(__pyx_k__corder_valid), 0, 0, 1, 1},
-  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
-  {&__pyx_n_s__cset, __pyx_k__cset, sizeof(__pyx_k__cset), 0, 0, 1, 1},
-  {&__pyx_n_s__data_size, __pyx_k__data_size, sizeof(__pyx_k__data_size), 0, 0, 1, 1},
-  {&__pyx_n_s__delete, __pyx_k__delete, sizeof(__pyx_k__delete), 0, 0, 1, 1},
-  {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1},
-  {&__pyx_n_s__exists, __pyx_k__exists, sizeof(__pyx_k__exists), 0, 0, 1, 1},
-  {&__pyx_n_s__func, __pyx_k__func, sizeof(__pyx_k__func), 0, 0, 1, 1},
-  {&__pyx_n_s__get_info, __pyx_k__get_info, sizeof(__pyx_k__get_info), 0, 0, 1, 1},
-  {&__pyx_n_s__get_name, __pyx_k__get_name, sizeof(__pyx_k__get_name), 0, 0, 1, 1},
-  {&__pyx_n_s__get_num_attrs, __pyx_k__get_num_attrs, sizeof(__pyx_k__get_num_attrs), 0, 0, 1, 1},
-  {&__pyx_n_s__get_space, __pyx_k__get_space, sizeof(__pyx_k__get_space), 0, 0, 1, 1},
-  {&__pyx_n_s__get_type, __pyx_k__get_type, sizeof(__pyx_k__get_type), 0, 0, 1, 1},
-  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
-  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
-  {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1},
-  {&__pyx_n_s__index_type, __pyx_k__index_type, sizeof(__pyx_k__index_type), 0, 0, 1, 1},
-  {&__pyx_n_s__info, __pyx_k__info, sizeof(__pyx_k__info), 0, 0, 1, 1},
-  {&__pyx_n_s__iterate, __pyx_k__iterate, sizeof(__pyx_k__iterate), 0, 0, 1, 1},
-  {&__pyx_n_s__lapl, __pyx_k__lapl, sizeof(__pyx_k__lapl), 0, 0, 1, 1},
-  {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1},
-  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__new_name, __pyx_k__new_name, sizeof(__pyx_k__new_name), 0, 0, 1, 1},
-  {&__pyx_n_s__obj_name, __pyx_k__obj_name, sizeof(__pyx_k__obj_name), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__order, __pyx_k__order, sizeof(__pyx_k__order), 0, 0, 1, 1},
-  {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1},
-  {&__pyx_n_s__rename, __pyx_k__rename, sizeof(__pyx_k__rename), 0, 0, 1, 1},
-  {&__pyx_n_s__space, __pyx_k__space, sizeof(__pyx_k__space), 0, 0, 1, 1},
-  {&__pyx_n_s__tid, __pyx_k__tid, sizeof(__pyx_k__tid), 0, 0, 1, 1},
-  {&__pyx_n_s__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 0, 0, 1, 1},
-  {&__pyx_n_s__vis, __pyx_k__vis, sizeof(__pyx_k__vis), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5a.pyx":71
- *     """
- *     if (name == NULL and index < 0) or (name != NULL and index >= 0):
- *         raise TypeError("Exactly one of name or idx must be specified")             # <<<<<<<<<<<<<<
- * 
- *     if name != NULL:
- */
-  __pyx_k_tuple_5 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_4)); if (unlikely(!__pyx_k_tuple_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_5);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_5));
-
-  /* "h5py/h5a.pyx":140
- *             <H5_iter_order_t>order, index, pdefault(lapl))
- *     else:
- *         raise TypeError("Exactly one of index or name must be specified.")             # <<<<<<<<<<<<<<
- * 
- * def get_num_attrs(ObjectID loc not None):
- */
-  __pyx_k_tuple_9 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_8)); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_9);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));
-
-  /* "h5py/h5a.pyx":203
- *         H5Aget_info(loc.id, &info.info)
- *     elif name != NULL and index >= 0:
- *         raise TypeError("At most one of name and index may be specified")             # <<<<<<<<<<<<<<
- *     elif name != NULL:
- *         H5Aget_info_by_name(loc.id, obj_name, name, &info.info, pdefault(lapl))
- */
-  __pyx_k_tuple_13 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_12)); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_13);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_13));
-
-  /* "h5py/h5a.pyx":265
- *     """
- *     if index < 0:
- *         raise ValueError("Starting index must be a non-negative integer.")             # <<<<<<<<<<<<<<
- * 
- *     cdef hsize_t i = index
- */
-  __pyx_k_tuple_17 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_16)); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_17);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));
-
-  /* "h5py/h5a.pyx":328
- *         their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Aclose(self.id)
- *             if not self.valid:
- */
-  __pyx_k_tuple_19 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_19);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));
-
-  /* "h5py/h5a.pyx":32
- * # --- create, create_by_name ---
- * 
- * def create(ObjectID loc not None, char* name, TypeID tid not None,             # <<<<<<<<<<<<<<
- *     SpaceID space not None, *, char* obj_name='.', PropID lapl=None):
- *     """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID
- */
-  __pyx_k_tuple_28 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__tid), ((PyObject *)__pyx_n_s__space), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__lapl)); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_28);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_28));
-  __pyx_k_codeobj_29 = (PyObject*)__Pyx_PyCode_New(6, 2, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__create, 32, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5a.pyx":51
- * # --- open, open_by_name, open_by_idx ---
- * 
- * def open(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *     PropID lapl=None):
- */
-  __pyx_k_tuple_32 = PyTuple_Pack(7, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__index_type), ((PyObject *)__pyx_n_s__order), ((PyObject *)__pyx_n_s__lapl)); if (unlikely(!__pyx_k_tuple_32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_32);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_32));
-  __pyx_k_codeobj_33 = (PyObject*)__Pyx_PyCode_New(7, 4, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__open, 51, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5a.pyx":84
- * # --- exists, exists_by_name ---
- * 
- * def exists(ObjectID loc not None, char* name, *,             # <<<<<<<<<<<<<<
- *             char* obj_name=".", PropID lapl=None):
- *     """(ObjectID loc, STRING name, **kwds) => BOOL
- */
-  __pyx_k_tuple_34 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__lapl)); if (unlikely(!__pyx_k_tuple_34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_34);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_34));
-  __pyx_k_codeobj_35 = (PyObject*)__Pyx_PyCode_New(4, 2, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__exists, 84, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5a.pyx":101
- * # --- rename, rename_by_name ---
- * 
- * def rename(ObjectID loc not None, char* name, char* new_name, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', PropID lapl=None):
- *     """(ObjectID loc, STRING name, STRING new_name, **kwds)
- */
-  __pyx_k_tuple_36 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__new_name), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__lapl)); if (unlikely(!__pyx_k_tuple_36)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_36);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_36));
-  __pyx_k_codeobj_37 = (PyObject*)__Pyx_PyCode_New(5, 2, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__rename, 101, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5a.pyx":116
- * 
- * 
- * def delete(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *     PropID lapl=None):
- */
-  __pyx_k_tuple_38 = PyTuple_Pack(7, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__index_type), ((PyObject *)__pyx_n_s__order), ((PyObject *)__pyx_n_s__lapl)); if (unlikely(!__pyx_k_tuple_38)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_38);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_38));
-  __pyx_k_codeobj_39 = (PyObject*)__Pyx_PyCode_New(7, 4, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__delete, 116, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5a.pyx":142
- *         raise TypeError("Exactly one of index or name must be specified.")
- * 
- * def get_num_attrs(ObjectID loc not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc) => INT
- * 
- */
-  __pyx_k_tuple_40 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__loc)); if (unlikely(!__pyx_k_tuple_40)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_40);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_40));
-  __pyx_k_codeobj_41 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_40, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__get_num_attrs, 142, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5a.pyx":175
- * 
- * 
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *             char* obj_name='.', PropID lapl=None,
- *             int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE):
- */
-  __pyx_k_tuple_42 = PyTuple_Pack(8, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__lapl), ((PyObject *)__pyx_n_s__index_type), ((PyObject *)__pyx_n_s__order), ((PyObject *)__pyx_n_s__info)); if (unlikely(!__pyx_k_tuple_42)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_42);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_42));
-  __pyx_k_codeobj_43 = (PyObject*)__Pyx_PyCode_New(7, 4, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_42, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__get_info, 175, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5a.pyx":238
- * 
- * 
- * def iterate(ObjectID loc not None, object func, int index=0, *,             # <<<<<<<<<<<<<<
- *     int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0):
- *     """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => <Return value from func>
- */
-  __pyx_k_tuple_44 = PyTuple_Pack(9, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__func), ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__index_type), ((PyObject *)__pyx_n_s__order), ((PyObject *)__pyx_n_s__info), ((PyObject *)__pyx_n_s__i), ((PyObject *)__pyx_n_s__vis), ((PyObject *)__pyx_n_s__cfunc)); if (unlikely(!__pyx_k_tuple_44)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_44);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_44));
-  __pyx_k_codeobj_45 = (PyObject*)__Pyx_PyCode_New(6, 3, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_44, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_30, __pyx_n_s__iterate, 238, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5a(void); /*proto*/
-PyMODINIT_FUNC inith5a(void)
-#else
-PyMODINIT_FUNC PyInit_h5a(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5a(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5a(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5a"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_27), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5a")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5a", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5a) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_type_4h5py_3h5a_AttrID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5a_AttrID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "AttrID", (PyObject *)&__pyx_type_4h5py_3h5a_AttrID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 285; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5a_AttrID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5a_AttrID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5a_AttrID, __pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5a_AttrID = &__pyx_type_4h5py_3h5a_AttrID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5a_AttrInfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "AttrInfo", (PyObject *)&__pyx_type_4h5py_3h5a_AttrInfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5a_AttrInfo = &__pyx_type_4h5py_3h5a_AttrInfo;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5a__AttrVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_AttrVisitor", (PyObject *)&__pyx_type_4h5py_3h5a__AttrVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5a__AttrVisitor = &__pyx_type_4h5py_3h5a__AttrVisitor;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_3h5t_TypeID = __Pyx_ImportType("h5py.h5t", "TypeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeArrayID = __Pyx_ImportType("h5py.h5t", "TypeArrayID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeArrayID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeArrayID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeOpaqueID = __Pyx_ImportType("h5py.h5t", "TypeOpaqueID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeOpaqueID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeStringID = __Pyx_ImportType("h5py.h5t", "TypeStringID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeStringID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeStringID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeVlenID = __Pyx_ImportType("h5py.h5t", "TypeVlenID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeVlenID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeVlenID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeTimeID = __Pyx_ImportType("h5py.h5t", "TypeTimeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeTimeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeTimeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeBitfieldID = __Pyx_ImportType("h5py.h5t", "TypeBitfieldID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeBitfieldID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeReferenceID = __Pyx_ImportType("h5py.h5t", "TypeReferenceID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeReferenceID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeReferenceID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeAtomicID = __Pyx_ImportType("h5py.h5t", "TypeAtomicID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeAtomicID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeAtomicID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeIntegerID = __Pyx_ImportType("h5py.h5t", "TypeIntegerID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeIntegerID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeIntegerID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeFloatID = __Pyx_ImportType("h5py.h5t", "TypeFloatID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeFloatID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeFloatID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeCompositeID = __Pyx_ImportType("h5py.h5t", "TypeCompositeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeCompositeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompositeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeEnumID = __Pyx_ImportType("h5py.h5t", "TypeEnumID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeEnumID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeEnumID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeCompoundID = __Pyx_ImportType("h5py.h5t", "TypeCompoundID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5s_SpaceID = __Pyx_ImportType("h5py.h5s", "SpaceID", sizeof(struct __pyx_obj_4h5py_3h5s_SpaceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5s_SpaceID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropOCID = __Pyx_ImportType("h5py.h5p", "PropOCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropOCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropOCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_num_attrs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_num_attrs, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_name, "Py_ssize_t (hid_t, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Adelete_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Adelete_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Acreate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Acreate_by_name, "hid_t (hid_t, char *, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_name, "herr_t (hid_t, char *, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aopen_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aopen_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aexists_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aexists_by_name, "htri_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Arename_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Arename_by_name, "herr_t (hid_t, char *, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info, "herr_t (hid_t, H5A_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_name, "herr_t (hid_t, char *, char *, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5A_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aiterate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aiterate2, "herr_t (hid_t, H5_index_t, H5_iter_order_t, hsize_t *, H5A_operator2_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Aget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Aget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_4 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_5 = __Pyx_ImportModule("h5py._proxy"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_5, "attr_rw", (void (**)(void))&__pyx_f_4h5py_6_proxy_attr_rw, "herr_t (hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5a.pyx":23
- * from _proxy cimport attr_rw
- * 
- * from h5py import _objects             # <<<<<<<<<<<<<<
- * 
- * # Initialization
- */
-  __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s___objects));
-  PyList_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_n_s___objects));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects));
-  __pyx_t_7 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_6), -1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-  __pyx_t_6 = PyObject_GetAttr(__pyx_t_7, __pyx_n_s___objects);
-  if (__pyx_t_6 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects);
-    if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":26
- * 
- * # Initialization
- * import_array()             # <<<<<<<<<<<<<<
- * 
- * # === General attribute operations ============================================
- */
-  import_array();
-
-  /* "h5py/h5a.pyx":32
- * # --- create, create_by_name ---
- * 
- * def create(ObjectID loc not None, char* name, TypeID tid not None,             # <<<<<<<<<<<<<<
- *     SpaceID space not None, *, char* obj_name='.', PropID lapl=None):
- *     """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID
- */
-  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_1create, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":52
- * 
- * def open(ObjectID loc not None, char* name=NULL, int index=-1, *,
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,             # <<<<<<<<<<<<<<
- *     PropID lapl=None):
- *     """(ObjectID loc, STRING name=, INT index=, **kwds) => AttrID
- */
-  __pyx_k_2 = H5_INDEX_NAME;
-  __pyx_k_3 = H5_ITER_NATIVE;
-
-  /* "h5py/h5a.pyx":51
- * # --- open, open_by_name, open_by_idx ---
- * 
- * def open(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *     PropID lapl=None):
- */
-  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_3open, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":84
- * # --- exists, exists_by_name ---
- * 
- * def exists(ObjectID loc not None, char* name, *,             # <<<<<<<<<<<<<<
- *             char* obj_name=".", PropID lapl=None):
- *     """(ObjectID loc, STRING name, **kwds) => BOOL
- */
-  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_5exists, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__exists, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":101
- * # --- rename, rename_by_name ---
- * 
- * def rename(ObjectID loc not None, char* name, char* new_name, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', PropID lapl=None):
- *     """(ObjectID loc, STRING name, STRING new_name, **kwds)
- */
-  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_7rename, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__rename, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":117
- * 
- * def delete(ObjectID loc not None, char* name=NULL, int index=-1, *,
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,             # <<<<<<<<<<<<<<
- *     PropID lapl=None):
- *     """(ObjectID loc, STRING name=, INT index=, **kwds)
- */
-  __pyx_k_6 = H5_INDEX_NAME;
-  __pyx_k_7 = H5_ITER_NATIVE;
-
-  /* "h5py/h5a.pyx":116
- * 
- * 
- * def delete(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *     PropID lapl=None):
- */
-  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_9delete, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__delete, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":142
- *         raise TypeError("Exactly one of index or name must be specified.")
- * 
- * def get_num_attrs(ObjectID loc not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc) => INT
- * 
- */
-  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_11get_num_attrs, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_num_attrs, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":177
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,
- *             char* obj_name='.', PropID lapl=None,
- *             int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name=, INT index=, **kwds) => AttrInfo
- * 
- */
-  __pyx_k_10 = H5_INDEX_NAME;
-  __pyx_k_11 = H5_ITER_NATIVE;
-
-  /* "h5py/h5a.pyx":175
- * 
- * 
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *             char* obj_name='.', PropID lapl=None,
- *             int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE):
- */
-  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_13get_info, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_info, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":239
- * 
- * def iterate(ObjectID loc not None, object func, int index=0, *,
- *     int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => <Return value from func>
- * 
- */
-  __pyx_k_14 = H5_INDEX_NAME;
-  __pyx_k_15 = H5_ITER_NATIVE;
-
-  /* "h5py/h5a.pyx":238
- * 
- * 
- * def iterate(ObjectID loc not None, object func, int index=0, *,             # <<<<<<<<<<<<<<
- *     int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0):
- *     """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => <Return value from func>
- */
-  __pyx_t_7 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5a_15iterate, NULL, __pyx_n_s_31); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__iterate, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-  /* "h5py/h5a.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_7 = PyDict_New(); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_7));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_7)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5a", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5a");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_dealloc != current_tp_dealloc)
-        type = type->tp_base;
-    while (type && type->tp_dealloc == current_tp_dealloc)
-        type = type->tp_base;
-    if (type)
-        type->tp_dealloc(obj);
-}
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_traverse != current_tp_traverse)
-        type = type->tp_base;
-    while (type && type->tp_traverse == current_tp_traverse)
-        type = type->tp_base;
-    if (type && type->tp_traverse)
-        return type->tp_traverse(obj, v, a);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_clear != current_tp_clear)
-        type = type->tp_base;
-    while (type && type->tp_clear == current_tp_clear)
-        type = type->tp_base;
-    if (type && type->tp_clear)
-        type->tp_clear(obj);
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_herr_t(herr_t val) {
-    const herr_t neg_one = (herr_t)-1, const_zero = (herr_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(herr_t) == sizeof(char))  ||
-        (sizeof(herr_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(herr_t) == sizeof(int)) ||
-               (sizeof(herr_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(herr_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(herr_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-static void* __Pyx_GetVtable(PyObject *dict) {
-    void* ptr;
-    PyObject *ob = PyMapping_GetItemString(dict, (char *)"__pyx_vtable__");
-    if (!ob)
-        goto bad;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    ptr = PyCapsule_GetPointer(ob, 0);
-#else
-    ptr = PyCObject_AsVoidPtr(ob);
-#endif
-    if (!ptr && !PyErr_Occurred())
-        PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
-    Py_DECREF(ob);
-    return ptr;
-bad:
-    Py_XDECREF(ob);
-    return NULL;
-}
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5a.pyx b/h5py/h5a.pyx
index 13c0b10..b891a4c 100644
--- a/h5py/h5a.pyx
+++ b/h5py/h5a.pyx
@@ -21,6 +21,7 @@ from utils cimport check_numpy_read, check_numpy_write, emalloc, efree
 from _proxy cimport attr_rw
 
 from h5py import _objects
+from ._objects import phil, with_phil
 
 # Initialization
 import_array()
@@ -29,6 +30,7 @@ import_array()
 
 # --- create, create_by_name ---
 
+ at with_phil
 def create(ObjectID loc not None, char* name, TypeID tid not None,
     SpaceID space not None, *, char* obj_name='.', PropID lapl=None):
     """(ObjectID loc, STRING name, TypeID tid, SpaceID space, **kwds) => AttrID
@@ -42,12 +44,13 @@ def create(ObjectID loc not None, char* name, TypeID tid not None,
         Link access property list for obj_name
     """
 
-    return AttrID.open(H5Acreate_by_name(loc.id, obj_name, name, tid.id,
+    return AttrID(H5Acreate_by_name(loc.id, obj_name, name, tid.id,
             space.id, H5P_DEFAULT, H5P_DEFAULT, pdefault(lapl)))
 
 
 # --- open, open_by_name, open_by_idx ---
 
+ at with_phil
 def open(ObjectID loc not None, char* name=NULL, int index=-1, *,
     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
     PropID lapl=None):
@@ -71,16 +74,17 @@ def open(ObjectID loc not None, char* name=NULL, int index=-1, *,
         raise TypeError("Exactly one of name or idx must be specified")
 
     if name != NULL:
-        return AttrID.open(H5Aopen_by_name(loc.id, obj_name, name,
+        return AttrID(H5Aopen_by_name(loc.id, obj_name, name,
                         H5P_DEFAULT, pdefault(lapl)))
     else:
-        return AttrID.open(H5Aopen_by_idx(loc.id, obj_name,
+        return AttrID(H5Aopen_by_idx(loc.id, obj_name,
             <H5_index_t>index_type, <H5_iter_order_t>order, index,
             H5P_DEFAULT, pdefault(lapl)))
 
 
 # --- exists, exists_by_name ---
 
+ at with_phil
 def exists(ObjectID loc not None, char* name, *,
             char* obj_name=".", PropID lapl=None):
     """(ObjectID loc, STRING name, **kwds) => BOOL
@@ -98,6 +102,7 @@ def exists(ObjectID loc not None, char* name, *,
 
 # --- rename, rename_by_name ---
 
+ at with_phil
 def rename(ObjectID loc not None, char* name, char* new_name, *,
     char* obj_name='.', PropID lapl=None):
     """(ObjectID loc, STRING name, STRING new_name, **kwds)
@@ -113,6 +118,7 @@ def rename(ObjectID loc not None, char* name, char* new_name, *,
     H5Arename_by_name(loc.id, obj_name, name, new_name, pdefault(lapl))
 
 
+ at with_phil
 def delete(ObjectID loc not None, char* name=NULL, int index=-1, *,
     char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
     PropID lapl=None):
@@ -139,6 +145,8 @@ def delete(ObjectID loc not None, char* name=NULL, int index=-1, *,
     else:
         raise TypeError("Exactly one of index or name must be specified.")
 
+
+ at with_phil
 def get_num_attrs(ObjectID loc not None):
     """(ObjectID loc) => INT
 
@@ -172,6 +180,7 @@ cdef class AttrInfo:
         return hash((self.corder_valid, self.corder, self.cset, self.data_size))
 
 
+ at with_phil
 def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,
             char* obj_name='.', PropID lapl=None,
             int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE):
@@ -235,6 +244,7 @@ cdef herr_t cb_attr_simple(hid_t loc_id, char* attr_name, H5A_info_t *ainfo, voi
     return 0
 
 
+ at with_phil
 def iterate(ObjectID loc not None, object func, int index=0, *,
     int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE, bint info=0):
     """(ObjectID loc, CALLABLE func, INT index=0, **kwds) => <Return value from func>
@@ -299,38 +309,27 @@ cdef class AttrID(ObjectID):
     property name:
         """The attribute's name"""
         def __get__(self):
-            return self.get_name()
+            with phil:
+                return self.get_name()
 
     property shape:
         """A Numpy-style shape tuple representing the attribute's dataspace"""
         def __get__(self):
-
             cdef SpaceID space
-            space = self.get_space()
-            return space.get_simple_extent_dims()
+            with phil:
+                space = self.get_space()
+                return space.get_simple_extent_dims()
 
     property dtype:
         """A Numpy-stype dtype object representing the attribute's datatype"""
         def __get__(self):
-
             cdef TypeID tid
-            tid = self.get_type()
-            return tid.py_dtype()
-
-
-    def _close(self):
-        """()
-
-        Close this attribute and release resources.  You don't need to
-        call this manually; attributes are automatically destroyed when
-        their Python wrappers are freed.
-        """
-        with _objects.registry.lock:
-            H5Aclose(self.id)
-            if not self.valid:
-                del _objects.registry[self.id]
-
+            with phil:
+                tid = self.get_type()
+                return tid.py_dtype()
 
+    
+    @with_phil
     def read(self, ndarray arr not None):
         """(NDARRAY arr)
 
@@ -358,6 +357,7 @@ cdef class AttrID(ObjectID):
                 H5Sclose(space_id)
 
 
+    @with_phil
     def write(self, ndarray arr not None):
         """(NDARRAY arr)
 
@@ -384,6 +384,7 @@ cdef class AttrID(ObjectID):
                 H5Sclose(space_id)
 
 
+    @with_phil
     def get_name(self):
         """() => STRING name
 
@@ -405,14 +406,16 @@ cdef class AttrID(ObjectID):
         return strout
 
 
+    @with_phil
     def get_space(self):
         """() => SpaceID
 
         Create and return a copy of the attribute's dataspace.
         """
-        return SpaceID.open(H5Aget_space(self.id))
+        return SpaceID(H5Aget_space(self.id))
 
 
+    @with_phil
     def get_type(self):
         """() => TypeID
 
@@ -421,6 +424,7 @@ cdef class AttrID(ObjectID):
         return typewrap(H5Aget_type(self.id))
 
 
+    @with_phil
     def get_storage_size(self):
         """() => INT
 
diff --git a/h5py/h5ac.c b/h5py/h5ac.c
deleted file mode 100644
index 8a328d4..0000000
--- a/h5py/h5ac.c
+++ /dev/null
@@ -1,5137 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5ac
-#define __PYX_HAVE_API__h5py__h5ac
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5ac.pyx",
-  "_objects.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_4h5ac_CacheConfig;
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-
-/* "h5py/h5ac.pxd":12
- * from defs cimport *
- * 
- * cdef class CacheConfig:             # <<<<<<<<<<<<<<
- *     cdef H5AC_cache_config_t cache_config
- */
-struct __pyx_obj_4h5py_4h5ac_CacheConfig {
-  PyObject_HEAD
-  H5AC_cache_config_t cache_config;
-};
-
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-static CYTHON_INLINE hbool_t __Pyx_PyInt_from_py_hbool_t(PyObject *);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hbool_t(hbool_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/
-
-/* Module declarations from 'h5py.h5ac' */
-static PyTypeObject *__pyx_ptype_4h5py_4h5ac_CacheConfig = 0;
-#define __Pyx_MODULE_NAME "h5py.h5ac"
-int __pyx_module_is_main_h5py__h5ac = 0;
-
-/* Implementation of 'h5py.h5ac' */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig___cinit__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_7version___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_7version_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, int __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_17evictions_enabled___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_17evictions_enabled_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_16set_initial_size___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_16set_initial_size_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_12initial_size___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_12initial_size_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_18min_clean_fraction___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_8max_size___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_8max_size_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_8min_size___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_8min_size_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_12epoch_length___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_12epoch_length_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, long __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_9incr_mode___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_9incr_mode_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, enum H5C_cache_incr_mode __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_9increment___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_9increment_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_increment___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_increment_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_13max_increment___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_13max_increment_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_incr_mode___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, enum H5C_cache_flash_incr_mode __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_14flash_multiple___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_14flash_multiple_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_threshold___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_threshold_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_9decr_mode___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_9decr_mode_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, enum H5C_cache_decr_mode __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_9decrement___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_9decrement_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_decrement___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_13max_decrement___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_13max_decrement_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, int __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_13empty_reserve___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_13empty_reserve_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, int __pyx_v_val); /* proto */
-static char __pyx_k_1[] = "\n    Low-level HDF5 \"H5AC\" cache configuration interface.\n";
-static char __pyx_k__h5py[] = "h5py";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k___objects[] = "_objects";
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___objects;
-static PyObject *__pyx_n_s__h5py;
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
-  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig___cinit__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":24
- *     #cdef H5AC_cache_config_t cache_config
- *     #     /[inserted by cython to avoid comment start]* general configuration fields: *[inserted by cython to avoid comment closer]/
- *     def __cinit__(self):             # <<<<<<<<<<<<<<
- *         self.cache_config.version = H5AC__CURR_CACHE_CONFIG_VERSION
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig___cinit__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "h5py/h5ac.pyx":25
- *     #     /[inserted by cython to avoid comment start]* general configuration fields: *[inserted by cython to avoid comment closer]/
- *     def __cinit__(self):
- *         self.cache_config.version = H5AC__CURR_CACHE_CONFIG_VERSION             # <<<<<<<<<<<<<<
- * 
- *     property version:
- */
-  __pyx_v_self->cache_config.version = H5AC__CURR_CACHE_CONFIG_VERSION;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_7version_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_7version_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_7version___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":28
- * 
- *     property version:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.version
- *         def __set__(self, int val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_7version___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":29
- *     property version:
- *         def __get__(self):
- *             return self.cache_config.version             # <<<<<<<<<<<<<<
- *         def __set__(self, int val):
- *             self.cache_config.version = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->cache_config.version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.version.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_7version_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_7version_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  int __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsInt(__pyx_arg_val); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.version.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_7version_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((int)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":30
- *         def __get__(self):
- *             return self.cache_config.version
- *         def __set__(self, int val):             # <<<<<<<<<<<<<<
- *             self.cache_config.version = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_7version_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, int __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":31
- *             return self.cache_config.version
- *         def __set__(self, int val):
- *             self.cache_config.version = val             # <<<<<<<<<<<<<<
- * 
- *     property rpt_fcn_enabled:
- */
-  __pyx_v_self->cache_config.version = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":34
- * 
- *     property rpt_fcn_enabled:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.rpt_fcn_enabled
- *         def __set__(self, hbool_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":35
- *     property rpt_fcn_enabled:
- *         def __get__(self):
- *             return self.cache_config.rpt_fcn_enabled             # <<<<<<<<<<<<<<
- *         def __set__(self, hbool_t val):
- *             self.cache_config.rpt_fcn_enabled = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hbool_t(__pyx_v_self->cache_config.rpt_fcn_enabled); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.rpt_fcn_enabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  hbool_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_from_py_hbool_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.rpt_fcn_enabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((hbool_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":36
- *         def __get__(self):
- *             return self.cache_config.rpt_fcn_enabled
- *         def __set__(self, hbool_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.rpt_fcn_enabled = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":37
- *             return self.cache_config.rpt_fcn_enabled
- *         def __set__(self, hbool_t val):
- *             self.cache_config.rpt_fcn_enabled = val             # <<<<<<<<<<<<<<
- * 
- *     property evictions_enabled:
- */
-  __pyx_v_self->cache_config.rpt_fcn_enabled = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_17evictions_enabled_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_17evictions_enabled_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_17evictions_enabled___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":40
- * 
- *     property evictions_enabled:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.evictions_enabled
- *         def __set__(self, hbool_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_17evictions_enabled___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":41
- *     property evictions_enabled:
- *         def __get__(self):
- *             return self.cache_config.evictions_enabled             # <<<<<<<<<<<<<<
- *         def __set__(self, hbool_t val):
- *             self.cache_config.evictions_enabled = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hbool_t(__pyx_v_self->cache_config.evictions_enabled); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.evictions_enabled.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_17evictions_enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_17evictions_enabled_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  hbool_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_from_py_hbool_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.evictions_enabled.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_17evictions_enabled_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((hbool_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":42
- *         def __get__(self):
- *             return self.cache_config.evictions_enabled
- *         def __set__(self, hbool_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.evictions_enabled = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_17evictions_enabled_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":43
- *             return self.cache_config.evictions_enabled
- *         def __set__(self, hbool_t val):
- *             self.cache_config.evictions_enabled = val             # <<<<<<<<<<<<<<
- * 
- *     property set_initial_size:
- */
-  __pyx_v_self->cache_config.evictions_enabled = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_16set_initial_size_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_16set_initial_size_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_16set_initial_size___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":46
- * 
- *     property set_initial_size:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.set_initial_size
- *         def __set__(self, hbool_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_16set_initial_size___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":47
- *     property set_initial_size:
- *         def __get__(self):
- *             return self.cache_config.set_initial_size             # <<<<<<<<<<<<<<
- *         def __set__(self, hbool_t val):
- *             self.cache_config.set_initial_size = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hbool_t(__pyx_v_self->cache_config.set_initial_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.set_initial_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_16set_initial_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_16set_initial_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  hbool_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_from_py_hbool_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.set_initial_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_16set_initial_size_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((hbool_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":48
- *         def __get__(self):
- *             return self.cache_config.set_initial_size
- *         def __set__(self, hbool_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.set_initial_size = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_16set_initial_size_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":49
- *             return self.cache_config.set_initial_size
- *         def __set__(self, hbool_t val):
- *             self.cache_config.set_initial_size = val             # <<<<<<<<<<<<<<
- * 
- *     property initial_size:
- */
-  __pyx_v_self->cache_config.set_initial_size = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_12initial_size_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_12initial_size_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_12initial_size___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":52
- * 
- *     property initial_size:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.initial_size
- *         def __set__(self, size_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_12initial_size___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":53
- *     property initial_size:
- *         def __get__(self):
- *             return self.cache_config.initial_size             # <<<<<<<<<<<<<<
- *         def __set__(self, size_t val):
- *             self.cache_config.initial_size = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->cache_config.initial_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.initial_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_12initial_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_12initial_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  size_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsSize_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.initial_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_12initial_size_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((size_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":54
- *         def __get__(self):
- *             return self.cache_config.initial_size
- *         def __set__(self, size_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.initial_size = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_12initial_size_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":55
- *             return self.cache_config.initial_size
- *         def __set__(self, size_t val):
- *             self.cache_config.initial_size = val             # <<<<<<<<<<<<<<
- * 
- *     property min_clean_fraction:
- */
-  __pyx_v_self->cache_config.initial_size = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_18min_clean_fraction___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":58
- * 
- *     property min_clean_fraction:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.min_clean_fraction
- *         def __set__(self, double val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_18min_clean_fraction___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":59
- *     property min_clean_fraction:
- *         def __get__(self):
- *             return self.cache_config.min_clean_fraction             # <<<<<<<<<<<<<<
- *         def __set__(self, double val):
- *             self.cache_config.min_clean_fraction = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->cache_config.min_clean_fraction); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.min_clean_fraction.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  double __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __pyx_PyFloat_AsDouble(__pyx_arg_val); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.min_clean_fraction.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((double)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":60
- *         def __get__(self):
- *             return self.cache_config.min_clean_fraction
- *         def __set__(self, double val):             # <<<<<<<<<<<<<<
- *             self.cache_config.min_clean_fraction = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":61
- *             return self.cache_config.min_clean_fraction
- *         def __set__(self, double val):
- *             self.cache_config.min_clean_fraction = val             # <<<<<<<<<<<<<<
- * 
- *     property max_size:
- */
-  __pyx_v_self->cache_config.min_clean_fraction = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_8max_size_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_8max_size_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_8max_size___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":64
- * 
- *     property max_size:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.max_size
- *         def __set__(self, size_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_8max_size___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":65
- *     property max_size:
- *         def __get__(self):
- *             return self.cache_config.max_size             # <<<<<<<<<<<<<<
- *         def __set__(self, size_t val):
- *             self.cache_config.max_size = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->cache_config.max_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.max_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_8max_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_8max_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  size_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsSize_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.max_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_8max_size_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((size_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":66
- *         def __get__(self):
- *             return self.cache_config.max_size
- *         def __set__(self, size_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.max_size = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_8max_size_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":67
- *             return self.cache_config.max_size
- *         def __set__(self, size_t val):
- *             self.cache_config.max_size = val             # <<<<<<<<<<<<<<
- * 
- *     property min_size:
- */
-  __pyx_v_self->cache_config.max_size = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_8min_size_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_8min_size_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_8min_size___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":70
- * 
- *     property min_size:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.min_size
- *         def __set__(self, size_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_8min_size___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":71
- *     property min_size:
- *         def __get__(self):
- *             return self.cache_config.min_size             # <<<<<<<<<<<<<<
- *         def __set__(self, size_t val):
- *             self.cache_config.min_size = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->cache_config.min_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.min_size.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_8min_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_8min_size_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  size_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsSize_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.min_size.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_8min_size_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((size_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":72
- *         def __get__(self):
- *             return self.cache_config.min_size
- *         def __set__(self, size_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.min_size = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_8min_size_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":73
- *             return self.cache_config.min_size
- *         def __set__(self, size_t val):
- *             self.cache_config.min_size = val             # <<<<<<<<<<<<<<
- * 
- *     property epoch_length:
- */
-  __pyx_v_self->cache_config.min_size = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_12epoch_length_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_12epoch_length_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_12epoch_length___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":76
- * 
- *     property epoch_length:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.epoch_length
- *         def __set__(self, long int val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_12epoch_length___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":77
- *     property epoch_length:
- *         def __get__(self):
- *             return self.cache_config.epoch_length             # <<<<<<<<<<<<<<
- *         def __set__(self, long int val):
- *             self.cache_config.epoch_length = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->cache_config.epoch_length); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.epoch_length.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_12epoch_length_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_12epoch_length_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  long __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsLong(__pyx_arg_val); if (unlikely((__pyx_v_val == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.epoch_length.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_12epoch_length_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((long)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":78
- *         def __get__(self):
- *             return self.cache_config.epoch_length
- *         def __set__(self, long int val):             # <<<<<<<<<<<<<<
- *             self.cache_config.epoch_length = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_12epoch_length_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, long __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":79
- *             return self.cache_config.epoch_length
- *         def __set__(self, long int val):
- *             self.cache_config.epoch_length = val             # <<<<<<<<<<<<<<
- * 
- *     #    /[inserted by cython to avoid comment start]* size increase control fields: *[inserted by cython to avoid comment closer]/
- */
-  __pyx_v_self->cache_config.epoch_length = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_9incr_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_9incr_mode_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_9incr_mode___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":83
- *     #    /[inserted by cython to avoid comment start]* size increase control fields: *[inserted by cython to avoid comment closer]/
- *     property incr_mode:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.incr_mode
- *         def __set__(self, H5C_cache_incr_mode val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_9incr_mode___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":84
- *     property incr_mode:
- *         def __get__(self):
- *             return self.cache_config.incr_mode             # <<<<<<<<<<<<<<
- *         def __set__(self, H5C_cache_incr_mode val):
- *             self.cache_config.incr_mode = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->cache_config.incr_mode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.incr_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_9incr_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_9incr_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  enum H5C_cache_incr_mode __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = ((enum H5C_cache_incr_mode)PyInt_AsLong(__pyx_arg_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.incr_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_9incr_mode_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((enum H5C_cache_incr_mode)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":85
- *         def __get__(self):
- *             return self.cache_config.incr_mode
- *         def __set__(self, H5C_cache_incr_mode val):             # <<<<<<<<<<<<<<
- *             self.cache_config.incr_mode = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_9incr_mode_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, enum H5C_cache_incr_mode __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":86
- *             return self.cache_config.incr_mode
- *         def __set__(self, H5C_cache_incr_mode val):
- *             self.cache_config.incr_mode = val             # <<<<<<<<<<<<<<
- * 
- *     property lower_hr_threshold:
- */
-  __pyx_v_self->cache_config.incr_mode = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":89
- * 
- *     property lower_hr_threshold:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.lower_hr_threshold
- *         def __set__(self, double val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":90
- *     property lower_hr_threshold:
- *         def __get__(self):
- *             return self.cache_config.lower_hr_threshold             # <<<<<<<<<<<<<<
- *         def __set__(self, double val):
- *             self.cache_config.lower_hr_threshold = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->cache_config.lower_hr_threshold); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.lower_hr_threshold.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  double __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __pyx_PyFloat_AsDouble(__pyx_arg_val); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.lower_hr_threshold.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((double)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":91
- *         def __get__(self):
- *             return self.cache_config.lower_hr_threshold
- *         def __set__(self, double val):             # <<<<<<<<<<<<<<
- *             self.cache_config.lower_hr_threshold = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":92
- *             return self.cache_config.lower_hr_threshold
- *         def __set__(self, double val):
- *             self.cache_config.lower_hr_threshold = val             # <<<<<<<<<<<<<<
- * 
- *     property increment:
- */
-  __pyx_v_self->cache_config.lower_hr_threshold = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_9increment_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_9increment_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_9increment___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":95
- * 
- *     property increment:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.increment
- *         def __set__(self, double val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_9increment___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":96
- *     property increment:
- *         def __get__(self):
- *             return self.cache_config.increment             # <<<<<<<<<<<<<<
- *         def __set__(self, double val):
- *             self.cache_config.increment = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->cache_config.increment); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.increment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_9increment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_9increment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  double __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __pyx_PyFloat_AsDouble(__pyx_arg_val); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.increment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_9increment_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((double)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":97
- *         def __get__(self):
- *             return self.cache_config.increment
- *         def __set__(self, double val):             # <<<<<<<<<<<<<<
- *             self.cache_config.increment = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_9increment_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":98
- *             return self.cache_config.increment
- *         def __set__(self, double val):
- *             self.cache_config.increment = val             # <<<<<<<<<<<<<<
- * 
- *     property apply_max_increment:
- */
-  __pyx_v_self->cache_config.increment = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_increment_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_increment_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_increment___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":101
- * 
- *     property apply_max_increment:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.apply_max_increment
- *         def __set__(self, hbool_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_increment___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":102
- *     property apply_max_increment:
- *         def __get__(self):
- *             return self.cache_config.apply_max_increment             # <<<<<<<<<<<<<<
- *         def __set__(self, hbool_t val):
- *             self.cache_config.apply_max_increment = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hbool_t(__pyx_v_self->cache_config.apply_max_increment); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.apply_max_increment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_increment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_increment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  hbool_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_from_py_hbool_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.apply_max_increment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_increment_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((hbool_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":103
- *         def __get__(self):
- *             return self.cache_config.apply_max_increment
- *         def __set__(self, hbool_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.apply_max_increment = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_increment_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":104
- *             return self.cache_config.apply_max_increment
- *         def __set__(self, hbool_t val):
- *             self.cache_config.apply_max_increment = val             # <<<<<<<<<<<<<<
- * 
- *     property max_increment:
- */
-  __pyx_v_self->cache_config.apply_max_increment = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_13max_increment_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_13max_increment_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_13max_increment___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":107
- * 
- *     property max_increment:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.max_increment
- *         def __set__(self, size_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_13max_increment___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":108
- *     property max_increment:
- *         def __get__(self):
- *             return self.cache_config.max_increment             # <<<<<<<<<<<<<<
- *         def __set__(self, size_t val):
- *             self.cache_config.max_increment = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->cache_config.max_increment); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.max_increment.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_13max_increment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_13max_increment_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  size_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsSize_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.max_increment.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_13max_increment_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((size_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":109
- *         def __get__(self):
- *             return self.cache_config.max_increment
- *         def __set__(self, size_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.max_increment = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_13max_increment_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":110
- *             return self.cache_config.max_increment
- *         def __set__(self, size_t val):
- *             self.cache_config.max_increment = val             # <<<<<<<<<<<<<<
- * 
- *     property flash_incr_mode:
- */
-  __pyx_v_self->cache_config.max_increment = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_incr_mode___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":113
- * 
- *     property flash_incr_mode:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.flash_incr_mode
- *         def __set__(self, H5C_cache_flash_incr_mode val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_incr_mode___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":114
- *     property flash_incr_mode:
- *         def __get__(self):
- *             return self.cache_config.flash_incr_mode             # <<<<<<<<<<<<<<
- *         def __set__(self, H5C_cache_flash_incr_mode val):
- *             self.cache_config.flash_incr_mode = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->cache_config.flash_incr_mode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.flash_incr_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  enum H5C_cache_flash_incr_mode __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = ((enum H5C_cache_flash_incr_mode)PyInt_AsLong(__pyx_arg_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.flash_incr_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((enum H5C_cache_flash_incr_mode)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":115
- *         def __get__(self):
- *             return self.cache_config.flash_incr_mode
- *         def __set__(self, H5C_cache_flash_incr_mode val):             # <<<<<<<<<<<<<<
- *             self.cache_config.flash_incr_mode = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, enum H5C_cache_flash_incr_mode __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":116
- *             return self.cache_config.flash_incr_mode
- *         def __set__(self, H5C_cache_flash_incr_mode val):
- *             self.cache_config.flash_incr_mode = val             # <<<<<<<<<<<<<<
- * 
- *     property flash_multiple:
- */
-  __pyx_v_self->cache_config.flash_incr_mode = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_14flash_multiple_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_14flash_multiple_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_14flash_multiple___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":119
- * 
- *     property flash_multiple:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.flash_multiple
- *         def __set__(self, double val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_14flash_multiple___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":120
- *     property flash_multiple:
- *         def __get__(self):
- *             return self.cache_config.flash_multiple             # <<<<<<<<<<<<<<
- *         def __set__(self, double val):
- *             self.cache_config.flash_multiple = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->cache_config.flash_multiple); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.flash_multiple.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_14flash_multiple_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_14flash_multiple_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  double __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __pyx_PyFloat_AsDouble(__pyx_arg_val); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.flash_multiple.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_14flash_multiple_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((double)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":121
- *         def __get__(self):
- *             return self.cache_config.flash_multiple
- *         def __set__(self, double val):             # <<<<<<<<<<<<<<
- *             self.cache_config.flash_multiple = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_14flash_multiple_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":122
- *             return self.cache_config.flash_multiple
- *         def __set__(self, double val):
- *             self.cache_config.flash_multiple = val             # <<<<<<<<<<<<<<
- * 
- *     property flash_threshold:
- */
-  __pyx_v_self->cache_config.flash_multiple = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_threshold_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_threshold_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_threshold___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":125
- * 
- *     property flash_threshold:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.flash_threshold
- *         def __set__(self, double val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_threshold___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":126
- *     property flash_threshold:
- *         def __get__(self):
- *             return self.cache_config.flash_threshold             # <<<<<<<<<<<<<<
- *         def __set__(self, double val):
- *             self.cache_config.flash_threshold = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->cache_config.flash_threshold); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.flash_threshold.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_threshold_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_threshold_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  double __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __pyx_PyFloat_AsDouble(__pyx_arg_val); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.flash_threshold.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_threshold_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((double)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":127
- *         def __get__(self):
- *             return self.cache_config.flash_threshold
- *         def __set__(self, double val):             # <<<<<<<<<<<<<<
- *             self.cache_config.flash_threshold = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_15flash_threshold_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":128
- *             return self.cache_config.flash_threshold
- *         def __set__(self, double val):
- *             self.cache_config.flash_threshold = val             # <<<<<<<<<<<<<<
- * 
- *     # /[inserted by cython to avoid comment start]* size decrease control fields: *[inserted by cython to avoid comment closer]/
- */
-  __pyx_v_self->cache_config.flash_threshold = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_9decr_mode_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_9decr_mode_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_9decr_mode___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":132
- *     # /[inserted by cython to avoid comment start]* size decrease control fields: *[inserted by cython to avoid comment closer]/
- *     property decr_mode:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.decr_mode
- *         def __set__(self, H5C_cache_decr_mode val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_9decr_mode___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":133
- *     property decr_mode:
- *         def __get__(self):
- *             return self.cache_config.decr_mode             # <<<<<<<<<<<<<<
- *         def __set__(self, H5C_cache_decr_mode val):
- *             self.cache_config.decr_mode = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->cache_config.decr_mode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.decr_mode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_9decr_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_9decr_mode_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  enum H5C_cache_decr_mode __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = ((enum H5C_cache_decr_mode)PyInt_AsLong(__pyx_arg_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.decr_mode.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_9decr_mode_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((enum H5C_cache_decr_mode)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":134
- *         def __get__(self):
- *             return self.cache_config.decr_mode
- *         def __set__(self, H5C_cache_decr_mode val):             # <<<<<<<<<<<<<<
- *             self.cache_config.decr_mode = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_9decr_mode_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, enum H5C_cache_decr_mode __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":135
- *             return self.cache_config.decr_mode
- *         def __set__(self, H5C_cache_decr_mode val):
- *             self.cache_config.decr_mode = val             # <<<<<<<<<<<<<<
- * 
- *     property upper_hr_threshold:
- */
-  __pyx_v_self->cache_config.decr_mode = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":138
- * 
- *     property upper_hr_threshold:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.upper_hr_threshold
- *         def __set__(self, double val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":139
- *     property upper_hr_threshold:
- *         def __get__(self):
- *             return self.cache_config.upper_hr_threshold             # <<<<<<<<<<<<<<
- *         def __set__(self, double val):
- *             self.cache_config.upper_hr_threshold = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->cache_config.upper_hr_threshold); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.upper_hr_threshold.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  double __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __pyx_PyFloat_AsDouble(__pyx_arg_val); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.upper_hr_threshold.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((double)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":140
- *         def __get__(self):
- *             return self.cache_config.upper_hr_threshold
- *         def __set__(self, double val):             # <<<<<<<<<<<<<<
- *             self.cache_config.upper_hr_threshold = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":141
- *             return self.cache_config.upper_hr_threshold
- *         def __set__(self, double val):
- *             self.cache_config.upper_hr_threshold = val             # <<<<<<<<<<<<<<
- * 
- *     property decrement:
- */
-  __pyx_v_self->cache_config.upper_hr_threshold = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_9decrement_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_9decrement_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_9decrement___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":144
- * 
- *     property decrement:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.decrement
- *         def __set__(self, double val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_9decrement___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":145
- *     property decrement:
- *         def __get__(self):
- *             return self.cache_config.decrement             # <<<<<<<<<<<<<<
- *         def __set__(self, double val):
- *             self.cache_config.decrement = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->cache_config.decrement); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.decrement.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_9decrement_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_9decrement_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  double __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __pyx_PyFloat_AsDouble(__pyx_arg_val); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.decrement.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_9decrement_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((double)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":146
- *         def __get__(self):
- *             return self.cache_config.decrement
- *         def __set__(self, double val):             # <<<<<<<<<<<<<<
- *             self.cache_config.decrement = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_9decrement_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":147
- *             return self.cache_config.decrement
- *         def __set__(self, double val):
- *             self.cache_config.decrement = val             # <<<<<<<<<<<<<<
- * 
- *     property apply_max_decrement:
- */
-  __pyx_v_self->cache_config.decrement = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_decrement___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":150
- * 
- *     property apply_max_decrement:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.apply_max_decrement
- *         def __set__(self, hbool_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_decrement___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":151
- *     property apply_max_decrement:
- *         def __get__(self):
- *             return self.cache_config.apply_max_decrement             # <<<<<<<<<<<<<<
- *         def __set__(self, hbool_t val):
- *             self.cache_config.apply_max_decrement = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hbool_t(__pyx_v_self->cache_config.apply_max_decrement); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.apply_max_decrement.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  hbool_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_from_py_hbool_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.apply_max_decrement.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((hbool_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":152
- *         def __get__(self):
- *             return self.cache_config.apply_max_decrement
- *         def __set__(self, hbool_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.apply_max_decrement = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":153
- *             return self.cache_config.apply_max_decrement
- *         def __set__(self, hbool_t val):
- *             self.cache_config.apply_max_decrement = val             # <<<<<<<<<<<<<<
- * 
- *     property max_decrement:
- */
-  __pyx_v_self->cache_config.apply_max_decrement = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_13max_decrement_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_13max_decrement_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_13max_decrement___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":156
- * 
- *     property max_decrement:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.max_decrement
- *         def __set__(self, size_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_13max_decrement___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":157
- *     property max_decrement:
- *         def __get__(self):
- *             return self.cache_config.max_decrement             # <<<<<<<<<<<<<<
- *         def __set__(self, size_t val):
- *             self.cache_config.max_decrement = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->cache_config.max_decrement); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.max_decrement.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_13max_decrement_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_13max_decrement_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  size_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsSize_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.max_decrement.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_13max_decrement_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((size_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":158
- *         def __get__(self):
- *             return self.cache_config.max_decrement
- *         def __set__(self, size_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.max_decrement = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_13max_decrement_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, size_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":159
- *             return self.cache_config.max_decrement
- *         def __set__(self, size_t val):
- *             self.cache_config.max_decrement = val             # <<<<<<<<<<<<<<
- * 
- *     property epochs_before_eviction:
- */
-  __pyx_v_self->cache_config.max_decrement = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":162
- * 
- *     property epochs_before_eviction:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.epochs_before_eviction
- *         def __set__(self, int val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":163
- *     property epochs_before_eviction:
- *         def __get__(self):
- *             return self.cache_config.epochs_before_eviction             # <<<<<<<<<<<<<<
- *         def __set__(self, int val):
- *             self.cache_config.epochs_before_eviction = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->cache_config.epochs_before_eviction); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.epochs_before_eviction.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  int __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsInt(__pyx_arg_val); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.epochs_before_eviction.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((int)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":164
- *         def __get__(self):
- *             return self.cache_config.epochs_before_eviction
- *         def __set__(self, int val):             # <<<<<<<<<<<<<<
- *             self.cache_config.epochs_before_eviction = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, int __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":165
- *             return self.cache_config.epochs_before_eviction
- *         def __set__(self, int val):
- *             self.cache_config.epochs_before_eviction = val             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_v_self->cache_config.epochs_before_eviction = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":170
- * 
- *     property apply_empty_reserve:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.apply_empty_reserve
- *         def __set__(self, hbool_t val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":171
- *     property apply_empty_reserve:
- *         def __get__(self):
- *             return self.cache_config.apply_empty_reserve             # <<<<<<<<<<<<<<
- *         def __set__(self, hbool_t val):
- *             self.cache_config.apply_empty_reserve = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hbool_t(__pyx_v_self->cache_config.apply_empty_reserve); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.apply_empty_reserve.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  hbool_t __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_from_py_hbool_t(__pyx_arg_val); if (unlikely((__pyx_v_val == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.apply_empty_reserve.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((hbool_t)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":172
- *         def __get__(self):
- *             return self.cache_config.apply_empty_reserve
- *         def __set__(self, hbool_t val):             # <<<<<<<<<<<<<<
- *             self.cache_config.apply_empty_reserve = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, hbool_t __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":173
- *             return self.cache_config.apply_empty_reserve
- *         def __set__(self, hbool_t val):
- *             self.cache_config.apply_empty_reserve = val             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_v_self->cache_config.apply_empty_reserve = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_13empty_reserve_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_13empty_reserve_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_13empty_reserve___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":177
- * 
- *     property empty_reserve:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.empty_reserve
- *         def __set__(self, double val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_13empty_reserve___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":178
- *     property empty_reserve:
- *         def __get__(self):
- *             return self.cache_config.empty_reserve             # <<<<<<<<<<<<<<
- *         def __set__(self, double val):
- *             self.cache_config.empty_reserve = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyFloat_FromDouble(__pyx_v_self->cache_config.empty_reserve); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.empty_reserve.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_13empty_reserve_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_13empty_reserve_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  double __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __pyx_PyFloat_AsDouble(__pyx_arg_val); if (unlikely((__pyx_v_val == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.empty_reserve.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_13empty_reserve_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((double)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":179
- *         def __get__(self):
- *             return self.cache_config.empty_reserve
- *         def __set__(self, double val):             # <<<<<<<<<<<<<<
- *             self.cache_config.empty_reserve = val
- * 
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_13empty_reserve_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, double __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":180
- *             return self.cache_config.empty_reserve
- *         def __set__(self, double val):
- *             self.cache_config.empty_reserve = val             # <<<<<<<<<<<<<<
- * 
- *     # /[inserted by cython to avoid comment start]* parallel configuration fields: *[inserted by cython to avoid comment closer]/
- */
-  __pyx_v_self->cache_config.empty_reserve = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold___get__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":184
- *     # /[inserted by cython to avoid comment start]* parallel configuration fields: *[inserted by cython to avoid comment closer]/
- *     property dirty_bytes_threshold:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.cache_config.dirty_bytes_threshold
- *         def __set__(self, int val):
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold___get__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5ac.pyx":185
- *     property dirty_bytes_threshold:
- *         def __get__(self):
- *             return self.cache_config.dirty_bytes_threshold             # <<<<<<<<<<<<<<
- *         def __set__(self, int val):
- *             self.cache_config.dirty_bytes_threshold = val
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->cache_config.dirty_bytes_threshold); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.dirty_bytes_threshold.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val); /*proto*/
-static int __pyx_pw_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_arg_val) {
-  int __pyx_v_val;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  assert(__pyx_arg_val); {
-    __pyx_v_val = __Pyx_PyInt_AsInt(__pyx_arg_val); if (unlikely((__pyx_v_val == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ac.CacheConfig.dirty_bytes_threshold.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_2__set__(((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_self), ((int)__pyx_v_val));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ac.pyx":186
- *         def __get__(self):
- *             return self.cache_config.dirty_bytes_threshold
- *         def __set__(self, int val):             # <<<<<<<<<<<<<<
- *             self.cache_config.dirty_bytes_threshold = val
- */
-
-static int __pyx_pf_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_2__set__(struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_self, int __pyx_v_val) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__", 0);
-
-  /* "h5py/h5ac.pyx":187
- *             return self.cache_config.dirty_bytes_threshold
- *         def __set__(self, int val):
- *             self.cache_config.dirty_bytes_threshold = val             # <<<<<<<<<<<<<<
- */
-  __pyx_v_self->cache_config.dirty_bytes_threshold = __pyx_v_val;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_4h5ac_CacheConfig(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  if (__pyx_pw_4h5py_4h5ac_11CacheConfig_1__cinit__(o, __pyx_empty_tuple, NULL) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_4h5ac_CacheConfig(PyObject *o) {
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_version(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_7version_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_version(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_7version_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_rpt_fcn_enabled(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_rpt_fcn_enabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_15rpt_fcn_enabled_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_evictions_enabled(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_17evictions_enabled_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_evictions_enabled(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_17evictions_enabled_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_set_initial_size(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_16set_initial_size_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_set_initial_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_16set_initial_size_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_initial_size(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_12initial_size_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_initial_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_12initial_size_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_min_clean_fraction(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_min_clean_fraction(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_18min_clean_fraction_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_max_size(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_8max_size_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_max_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_8max_size_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_min_size(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_8min_size_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_min_size(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_8min_size_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_epoch_length(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_12epoch_length_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_epoch_length(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_12epoch_length_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_incr_mode(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_9incr_mode_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_incr_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_9incr_mode_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_lower_hr_threshold(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_lower_hr_threshold(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_18lower_hr_threshold_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_increment(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_9increment_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_increment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_9increment_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_apply_max_increment(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_increment_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_apply_max_increment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_increment_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_max_increment(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_13max_increment_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_max_increment(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_13max_increment_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_flash_incr_mode(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_flash_incr_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_incr_mode_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_flash_multiple(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_14flash_multiple_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_flash_multiple(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_14flash_multiple_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_flash_threshold(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_threshold_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_flash_threshold(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_15flash_threshold_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_decr_mode(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_9decr_mode_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_decr_mode(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_9decr_mode_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_upper_hr_threshold(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_upper_hr_threshold(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_18upper_hr_threshold_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_decrement(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_9decrement_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_decrement(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_9decrement_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_apply_max_decrement(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_apply_max_decrement(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_max_decrement_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_max_decrement(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_13max_decrement_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_max_decrement(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_13max_decrement_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_epochs_before_eviction(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_epochs_before_eviction(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_22epochs_before_eviction_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_apply_empty_reserve(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_apply_empty_reserve(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_19apply_empty_reserve_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_empty_reserve(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_13empty_reserve_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_empty_reserve(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_13empty_reserve_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_4h5ac_11CacheConfig_dirty_bytes_threshold(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_4h5ac_11CacheConfig_dirty_bytes_threshold(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_4h5ac_11CacheConfig_21dirty_bytes_threshold_3__set__(o, v);
-  }
-  else {
-    PyErr_SetString(PyExc_NotImplementedError, "__del__");
-    return -1;
-  }
-}
-
-static PyMethodDef __pyx_methods_4h5py_4h5ac_CacheConfig[] = {
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_4h5ac_CacheConfig[] = {
-  {(char *)"version", __pyx_getprop_4h5py_4h5ac_11CacheConfig_version, __pyx_setprop_4h5py_4h5ac_11CacheConfig_version, 0, 0},
-  {(char *)"rpt_fcn_enabled", __pyx_getprop_4h5py_4h5ac_11CacheConfig_rpt_fcn_enabled, __pyx_setprop_4h5py_4h5ac_11CacheConfig_rpt_fcn_enabled, 0, 0},
-  {(char *)"evictions_enabled", __pyx_getprop_4h5py_4h5ac_11CacheConfig_evictions_enabled, __pyx_setprop_4h5py_4h5ac_11CacheConfig_evictions_enabled, 0, 0},
-  {(char *)"set_initial_size", __pyx_getprop_4h5py_4h5ac_11CacheConfig_set_initial_size, __pyx_setprop_4h5py_4h5ac_11CacheConfig_set_initial_size, 0, 0},
-  {(char *)"initial_size", __pyx_getprop_4h5py_4h5ac_11CacheConfig_initial_size, __pyx_setprop_4h5py_4h5ac_11CacheConfig_initial_size, 0, 0},
-  {(char *)"min_clean_fraction", __pyx_getprop_4h5py_4h5ac_11CacheConfig_min_clean_fraction, __pyx_setprop_4h5py_4h5ac_11CacheConfig_min_clean_fraction, 0, 0},
-  {(char *)"max_size", __pyx_getprop_4h5py_4h5ac_11CacheConfig_max_size, __pyx_setprop_4h5py_4h5ac_11CacheConfig_max_size, 0, 0},
-  {(char *)"min_size", __pyx_getprop_4h5py_4h5ac_11CacheConfig_min_size, __pyx_setprop_4h5py_4h5ac_11CacheConfig_min_size, 0, 0},
-  {(char *)"epoch_length", __pyx_getprop_4h5py_4h5ac_11CacheConfig_epoch_length, __pyx_setprop_4h5py_4h5ac_11CacheConfig_epoch_length, 0, 0},
-  {(char *)"incr_mode", __pyx_getprop_4h5py_4h5ac_11CacheConfig_incr_mode, __pyx_setprop_4h5py_4h5ac_11CacheConfig_incr_mode, 0, 0},
-  {(char *)"lower_hr_threshold", __pyx_getprop_4h5py_4h5ac_11CacheConfig_lower_hr_threshold, __pyx_setprop_4h5py_4h5ac_11CacheConfig_lower_hr_threshold, 0, 0},
-  {(char *)"increment", __pyx_getprop_4h5py_4h5ac_11CacheConfig_increment, __pyx_setprop_4h5py_4h5ac_11CacheConfig_increment, 0, 0},
-  {(char *)"apply_max_increment", __pyx_getprop_4h5py_4h5ac_11CacheConfig_apply_max_increment, __pyx_setprop_4h5py_4h5ac_11CacheConfig_apply_max_increment, 0, 0},
-  {(char *)"max_increment", __pyx_getprop_4h5py_4h5ac_11CacheConfig_max_increment, __pyx_setprop_4h5py_4h5ac_11CacheConfig_max_increment, 0, 0},
-  {(char *)"flash_incr_mode", __pyx_getprop_4h5py_4h5ac_11CacheConfig_flash_incr_mode, __pyx_setprop_4h5py_4h5ac_11CacheConfig_flash_incr_mode, 0, 0},
-  {(char *)"flash_multiple", __pyx_getprop_4h5py_4h5ac_11CacheConfig_flash_multiple, __pyx_setprop_4h5py_4h5ac_11CacheConfig_flash_multiple, 0, 0},
-  {(char *)"flash_threshold", __pyx_getprop_4h5py_4h5ac_11CacheConfig_flash_threshold, __pyx_setprop_4h5py_4h5ac_11CacheConfig_flash_threshold, 0, 0},
-  {(char *)"decr_mode", __pyx_getprop_4h5py_4h5ac_11CacheConfig_decr_mode, __pyx_setprop_4h5py_4h5ac_11CacheConfig_decr_mode, 0, 0},
-  {(char *)"upper_hr_threshold", __pyx_getprop_4h5py_4h5ac_11CacheConfig_upper_hr_threshold, __pyx_setprop_4h5py_4h5ac_11CacheConfig_upper_hr_threshold, 0, 0},
-  {(char *)"decrement", __pyx_getprop_4h5py_4h5ac_11CacheConfig_decrement, __pyx_setprop_4h5py_4h5ac_11CacheConfig_decrement, 0, 0},
-  {(char *)"apply_max_decrement", __pyx_getprop_4h5py_4h5ac_11CacheConfig_apply_max_decrement, __pyx_setprop_4h5py_4h5ac_11CacheConfig_apply_max_decrement, 0, 0},
-  {(char *)"max_decrement", __pyx_getprop_4h5py_4h5ac_11CacheConfig_max_decrement, __pyx_setprop_4h5py_4h5ac_11CacheConfig_max_decrement, 0, 0},
-  {(char *)"epochs_before_eviction", __pyx_getprop_4h5py_4h5ac_11CacheConfig_epochs_before_eviction, __pyx_setprop_4h5py_4h5ac_11CacheConfig_epochs_before_eviction, 0, 0},
-  {(char *)"apply_empty_reserve", __pyx_getprop_4h5py_4h5ac_11CacheConfig_apply_empty_reserve, __pyx_setprop_4h5py_4h5ac_11CacheConfig_apply_empty_reserve, 0, 0},
-  {(char *)"empty_reserve", __pyx_getprop_4h5py_4h5ac_11CacheConfig_empty_reserve, __pyx_setprop_4h5py_4h5ac_11CacheConfig_empty_reserve, 0, 0},
-  {(char *)"dirty_bytes_threshold", __pyx_getprop_4h5py_4h5ac_11CacheConfig_dirty_bytes_threshold, __pyx_setprop_4h5py_4h5ac_11CacheConfig_dirty_bytes_threshold, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_CacheConfig = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_CacheConfig = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_CacheConfig = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_CacheConfig = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_4h5ac_CacheConfig = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5ac.CacheConfig"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_4h5ac_CacheConfig), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_4h5ac_CacheConfig, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_CacheConfig, /*tp_as_number*/
-  &__pyx_tp_as_sequence_CacheConfig, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_CacheConfig, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_CacheConfig, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  __Pyx_DOCSTR("Represents H5AC_cache_config_t objects\n\n    "), /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_4h5ac_CacheConfig, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_4h5ac_CacheConfig, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_4h5ac_CacheConfig, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5ac"),
-    __Pyx_DOCSTR(__pyx_k_1), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1},
-  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  return 0;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-  __Pyx_RefNannyFinishContext();
-  return 0;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5ac(void); /*proto*/
-PyMODINIT_FUNC inith5ac(void)
-#else
-PyMODINIT_FUNC PyInit_h5ac(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5ac(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5ac(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5ac"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_1), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5ac")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5ac", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5ac) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_4h5py_4h5ac_CacheConfig) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "CacheConfig", (PyObject *)&__pyx_type_4h5py_4h5ac_CacheConfig) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_4h5ac_CacheConfig = &__pyx_type_4h5py_4h5ac_CacheConfig;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5ac.pyx":15
- * """
- * from _objects cimport pdefault
- * from h5py import _objects             # <<<<<<<<<<<<<<
- * 
- * cdef class CacheConfig:
- */
-  __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s___objects));
-  PyList_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_n_s___objects));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects));
-  __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_2), -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s___objects);
-  if (__pyx_t_2 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects);
-    if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ac.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_3)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5ac", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5ac");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
-    PyObject *kwdict,
-    const char* function_name,
-    int kw_allowed)
-{
-    PyObject* key = 0;
-    Py_ssize_t pos = 0;
-#if CPYTHON_COMPILING_IN_PYPY
-    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
-        goto invalid_keyword;
-    return 1;
-#else
-    while (PyDict_Next(kwdict, &pos, &key, 0)) {
-        #if PY_MAJOR_VERSION < 3
-        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
-        #endif
-            if (unlikely(!PyUnicode_Check(key)))
-                goto invalid_keyword_type;
-    }
-    if ((!kw_allowed) && unlikely(key))
-        goto invalid_keyword;
-    return 1;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    return 0;
-#endif
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-    return 0;
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE hbool_t __Pyx_PyInt_from_py_hbool_t(PyObject* x) {
-    const hbool_t neg_one = (hbool_t)-1, const_zero = (hbool_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hbool_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hbool_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hbool_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hbool_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hbool_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hbool_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hbool_t)-1;
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hbool_t(hbool_t val) {
-    const hbool_t neg_one = (hbool_t)-1, const_zero = (hbool_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hbool_t) == sizeof(char))  ||
-        (sizeof(hbool_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hbool_t) == sizeof(int)) ||
-               (sizeof(hbool_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hbool_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hbool_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5d.c b/h5py/h5d.c
deleted file mode 100644
index d65295d..0000000
--- a/h5py/h5d.c
+++ /dev/null
@@ -1,6009 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5d
-#define __PYX_HAVE_API__h5py__h5d
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5d.pyx",
-  "numpy.pxd",
-  "h5t.pxd",
-  "h5s.pxd",
-  "h5p.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5p_PropID;
-struct __pyx_obj_4h5py_3h5p_PropInstanceID;
-struct __pyx_obj_4h5py_3h5p_PropFAID;
-struct __pyx_obj_4h5py_3h5t_TypeID;
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID;
-struct __pyx_obj_4h5py_3h5p_PropCreateID;
-struct __pyx_obj_4h5py_3h5p_PropFCID;
-struct __pyx_obj_4h5py_3h5p_PropClassID;
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID;
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID;
-struct __pyx_obj_4h5py_3h5t_TypeVlenID;
-struct __pyx_obj_4h5py_3h5p_PropOCID;
-struct __pyx_obj_4h5py_3h5p_PropLCID;
-struct __pyx_obj_4h5py_3h5p_PropGCID;
-struct __pyx_obj_4h5py_3h5p_PropDCID;
-struct __pyx_obj_4h5py_3h5t_TypeTimeID;
-struct __pyx_obj_4h5py_3h5t_TypeArrayID;
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID;
-struct __pyx_obj_4h5py_3h5t_TypeFloatID;
-struct __pyx_obj_4h5py_3h5t_TypeStringID;
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID;
-struct __pyx_obj_4h5py_3h5t_TypeEnumID;
-struct __pyx_obj_4h5py_3h5p_PropCopyID;
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID;
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID;
-struct __pyx_obj_4h5py_3h5p_PropDXID;
-struct __pyx_obj_4h5py_3h5d_DatasetID;
-struct __pyx_obj_4h5py_3h5s_SpaceID;
-struct __pyx_obj_4h5py_3h5p_PropLAID;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-struct __pyx_opt_args_4h5py_3h5t_py_create;
-
-/* "h5t.pxd":69
- * 
- * cpdef TypeID typewrap(hid_t id_)
- * cpdef TypeID py_create(object dtype, bint logical=*)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-struct __pyx_opt_args_4h5py_3h5t_py_create {
-  int __pyx_n;
-  int logical;
-};
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5p.pxd":16
- * # --- Base classes ---
- * 
- * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
- *     """ Base class for all property lists """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5p.pxd":26
- *     pass
- * 
- * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an instance of a property list class (i.e. an actual list
- *         which can be passed on to other API functions).
- */
-struct __pyx_obj_4h5py_3h5p_PropInstanceID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5p.pxd":59
- * # --- Object access ---
- * 
- * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ File access property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5t.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self)
- */
-struct __pyx_obj_4h5py_3h5t_TypeID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
-};
-
-
-/* "h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":32
- *     pass
- * 
- * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Base class for all object creation lists.
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCreateID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":52
- *     pass
- * 
- * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ File creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":20
- *     pass
- * 
- * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an HDF5 property list class.  These can be either (locked)
- *         library-defined classes or user-created classes.
- */
-struct __pyx_obj_4h5py_3h5p_PropClassID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeVlenID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":44
- * # --- Object creation ---
- * 
- * cdef class PropOCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Object creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropOCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":70
- * # --- New in 1.8 ---
- * 
- * cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Link creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropLCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":78
- *     cdef char* _buf
- * 
- * cdef class PropGCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Group creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropGCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5p.pxd":48
- *     pass
- * 
- * cdef class PropDCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Dataset creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeTimeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeArrayID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeFloatID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeStringID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-struct __pyx_obj_4h5py_3h5t_TypeEnumID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5p.pxd":39
- *     pass
- * 
- * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Property list for copying objects (as in h5o.copy) """
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCopyID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":63
- *     pass
- * 
- * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Dataset transfer property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDXID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5py/h5d.pxd":14
- * from _objects cimport ObjectID
- * 
- * cdef class DatasetID(ObjectID):             # <<<<<<<<<<<<<<
- *     cdef object _dtype
- * 
- */
-struct __pyx_obj_4h5py_3h5d_DatasetID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  PyObject *_dtype;
-};
-
-struct __pyx_obj_4h5py_3h5s_SpaceID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5p.pxd":74
- *     pass
- * 
- * cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Link access property list """
- *     cdef char* _buf
- */
-struct __pyx_obj_4h5py_3h5p_PropLAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-  char *_buf;
-};
-
-
-
-/* "h5t.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self)
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
-  PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;
-
-
-/* "h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
-
-
-/* "h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
-
-
-/* "h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
-
-
-/* "h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
-
-
-/* "h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
-
-
-/* "h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
-
-
-/* "h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
-
-
-/* "h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;
-
-
-/* "h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
-
-
-/* "h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
-
-
-/* "h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
-
-
-/* "h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
-
-
-/* "h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-  int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-#define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_DelItemInt_Fast(o, i) : \
-                                                    __Pyx_DelItem_Generic(o, to_py_func(i)))
-static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) {
-    int r;
-    if (!j) return -1;
-    r = PyObject_DelItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_PYPY
-    if (PySequence_Check(o)) {
-        return PySequence_DelItem(o, i);
-    }
-#else
-    PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-    if (likely(m && m->sq_ass_item)) {
-        if (unlikely(i < 0) && likely(m->sq_length)) {
-            Py_ssize_t l = m->sq_length(o);
-            if (unlikely(l < 0)) return -1;
-            i += l;
-        }
-        return m->sq_ass_item(o, i, (PyObject *)NULL);
-    }
-#endif
-    return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_haddr_t(haddr_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static void* __Pyx_GetVtable(PyObject *dict); /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Dcreate_anon)(hid_t, hid_t, hid_t, hid_t, hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Dopen)(hid_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Dclose)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Dget_space)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Dget_space_status)(hid_t, H5D_space_status_t *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Dget_type)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Dget_create_plist)(hid_t); /*proto*/
-static haddr_t (*__pyx_f_4h5py_4defs_H5Dget_offset)(hid_t); /*proto*/
-static hsize_t (*__pyx_f_4h5py_4defs_H5Dget_storage_size)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Dextend)(hid_t, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Dset_extent)(hid_t, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/
-static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/
-static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
-
-/* Module declarations from 'h5py.h5t' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
-static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t, int __pyx_skip_dispatch); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/
-
-/* Module declarations from 'h5py.h5s' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5s_SpaceID = 0;
-
-/* Module declarations from 'h5py.h5p' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropOCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0;
-static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/
-
-/* Module declarations from 'h5py._proxy' */
-static herr_t (*__pyx_f_4h5py_6_proxy_dset_rw)(hid_t, hid_t, hid_t, hid_t, hid_t, void *, int); /*proto*/
-
-/* Module declarations from 'h5py.h5d' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5d_DatasetID = 0;
-#define __Pyx_MODULE_NAME "h5py.h5d"
-int __pyx_module_is_main_h5py__h5d = 0;
-
-/* Implementation of 'h5py.h5d' */
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_pf_4h5py_3h5d_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_name, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID__close(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_2read(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace, PyArrayObject *__pyx_v_arr_obj, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4write(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace, PyArrayObject *__pyx_v_arr_obj, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_6extend(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, PyObject *__pyx_v_shape); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_8set_extent(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, PyObject *__pyx_v_shape); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_10get_space(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_12get_space_status(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_14get_type(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_16get_create_plist(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_18get_offset(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_20get_storage_size(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self); /* proto */
-static char __pyx_k_1[] = "get_simple_extent_dims";
-static char __pyx_k_2[] = "get_simple_extent_ndims";
-static char __pyx_k_4[] = "New shape length (%d) must match dataset rank (%d)";
-static char __pyx_k_5[] = " Numpy dtype object representing the dataset type ";
-static char __pyx_k_6[] = " Numpy-style shape tuple representing the dataspace ";
-static char __pyx_k_7[] = " Integer giving the dataset rank (0 = scalar) ";
-static char __pyx_k_8[] = "\n    Provides access to the low-level HDF5 \"H5D\" dataset interface.\n";
-static char __pyx_k_9[] = "SPACE_STATUS_NOT_ALLOCATED";
-static char __pyx_k_10[] = "SPACE_STATUS_PART_ALLOCATED";
-static char __pyx_k_11[] = "SPACE_STATUS_ALLOCATED";
-static char __pyx_k_12[] = "FILL_VALUE_UNDEFINED";
-static char __pyx_k_13[] = "FILL_VALUE_USER_DEFINED";
-static char __pyx_k_16[] = "/home/computer/h5py/h5py/h5d.pyx";
-static char __pyx_k_17[] = "h5py.h5d";
-static char __pyx_k__loc[] = "loc";
-static char __pyx_k__tid[] = "tid";
-static char __pyx_k__dapl[] = "dapl";
-static char __pyx_k__dcpl[] = "dcpl";
-static char __pyx_k__dsid[] = "dsid";
-static char __pyx_k__dxpl[] = "dxpl";
-static char __pyx_k__h5py[] = "h5py";
-static char __pyx_k__lcpl[] = "lcpl";
-static char __pyx_k__lock[] = "lock";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__cname[] = "cname";
-static char __pyx_k__dtype[] = "dtype";
-static char __pyx_k__mtype[] = "mtype";
-static char __pyx_k__space[] = "space";
-static char __pyx_k__valid[] = "valid";
-static char __pyx_k__create[] = "create";
-static char __pyx_k__fspace[] = "fspace";
-static char __pyx_k__mspace[] = "mspace";
-static char __pyx_k__CHUNKED[] = "CHUNKED";
-static char __pyx_k__COMPACT[] = "COMPACT";
-static char __pyx_k__arr_obj[] = "arr_obj";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k___objects[] = "_objects";
-static char __pyx_k__get_type[] = "get_type";
-static char __pyx_k__registry[] = "registry";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__get_space[] = "get_space";
-static char __pyx_k__CONTIGUOUS[] = "CONTIGUOUS";
-static char __pyx_k__ALLOC_TIME_INCR[] = "ALLOC_TIME_INCR";
-static char __pyx_k__ALLOC_TIME_LATE[] = "ALLOC_TIME_LATE";
-static char __pyx_k__FILL_TIME_ALLOC[] = "FILL_TIME_ALLOC";
-static char __pyx_k__FILL_TIME_IFSET[] = "FILL_TIME_IFSET";
-static char __pyx_k__FILL_TIME_NEVER[] = "FILL_TIME_NEVER";
-static char __pyx_k__ALLOC_TIME_EARLY[] = "ALLOC_TIME_EARLY";
-static char __pyx_k__ALLOC_TIME_DEFAULT[] = "ALLOC_TIME_DEFAULT";
-static char __pyx_k__FILL_VALUE_DEFAULT[] = "FILL_VALUE_DEFAULT";
-static PyObject *__pyx_n_s_1;
-static PyObject *__pyx_n_s_10;
-static PyObject *__pyx_n_s_11;
-static PyObject *__pyx_n_s_12;
-static PyObject *__pyx_n_s_13;
-static PyObject *__pyx_kp_s_16;
-static PyObject *__pyx_n_s_17;
-static PyObject *__pyx_n_s_2;
-static PyObject *__pyx_kp_s_4;
-static PyObject *__pyx_n_s_9;
-static PyObject *__pyx_n_s__ALLOC_TIME_DEFAULT;
-static PyObject *__pyx_n_s__ALLOC_TIME_EARLY;
-static PyObject *__pyx_n_s__ALLOC_TIME_INCR;
-static PyObject *__pyx_n_s__ALLOC_TIME_LATE;
-static PyObject *__pyx_n_s__CHUNKED;
-static PyObject *__pyx_n_s__COMPACT;
-static PyObject *__pyx_n_s__CONTIGUOUS;
-static PyObject *__pyx_n_s__FILL_TIME_ALLOC;
-static PyObject *__pyx_n_s__FILL_TIME_IFSET;
-static PyObject *__pyx_n_s__FILL_TIME_NEVER;
-static PyObject *__pyx_n_s__FILL_VALUE_DEFAULT;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___objects;
-static PyObject *__pyx_n_s__arr_obj;
-static PyObject *__pyx_n_s__cname;
-static PyObject *__pyx_n_s__create;
-static PyObject *__pyx_n_s__dapl;
-static PyObject *__pyx_n_s__dcpl;
-static PyObject *__pyx_n_s__dsid;
-static PyObject *__pyx_n_s__dtype;
-static PyObject *__pyx_n_s__dxpl;
-static PyObject *__pyx_n_s__fspace;
-static PyObject *__pyx_n_s__get_space;
-static PyObject *__pyx_n_s__get_type;
-static PyObject *__pyx_n_s__h5py;
-static PyObject *__pyx_n_s__lcpl;
-static PyObject *__pyx_n_s__loc;
-static PyObject *__pyx_n_s__lock;
-static PyObject *__pyx_n_s__mspace;
-static PyObject *__pyx_n_s__mtype;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__registry;
-static PyObject *__pyx_n_s__space;
-static PyObject *__pyx_n_s__tid;
-static PyObject *__pyx_n_s__valid;
-static PyObject *__pyx_k_tuple_3;
-static PyObject *__pyx_k_tuple_14;
-static PyObject *__pyx_k_tuple_18;
-static PyObject *__pyx_k_codeobj_15;
-static PyObject *__pyx_k_codeobj_19;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5d_create[] = " (objectID loc, STRING name or None, TypeID tid, SpaceID space,\n             PropDCID dcpl=None, PropID lcpl=None) => DatasetID\n\n        Create a new dataset.  If \"name\" is None, the dataset will be\n        anonymous.\n        ";
-static PyMethodDef __pyx_mdef_4h5py_3h5d_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5d_1create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_create)};
-static PyObject *__pyx_pw_4h5py_3h5d_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  PyObject *__pyx_v_name = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__tid,&__pyx_n_s__space,&__pyx_n_s__dcpl,&__pyx_n_s__lcpl,&__pyx_n_s__dapl,0};
-    PyObject* values[7] = {0,0,0,0,0,0,0};
-
-    /* "h5py/h5d.pyx":55
- * 
- * def create(ObjectID loc not None, object name, TypeID tid not None,
- *                SpaceID space not None, PropID dcpl=None, PropID lcpl=None, PropID dapl = None):             # <<<<<<<<<<<<<<
- *         """ (objectID loc, STRING name or None, TypeID tid, SpaceID space,
- *              PropDCID dcpl=None, PropID lcpl=None) => DatasetID
- */
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    values[5] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    values[6] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
-        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 0, 4, 7, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__tid)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 0, 4, 7, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 0, 4, 7, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dcpl);
-          if (value) { values[4] = value; kw_args--; }
-        }
-        case  5:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[5] = value; kw_args--; }
-        }
-        case  6:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dapl);
-          if (value) { values[6] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
-        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = values[1];
-    __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[2]);
-    __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[3]);
-    __pyx_v_dcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[5]);
-    __pyx_v_dapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[6]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create", 0, 4, 7, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5d.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_tid), __pyx_ptype_4h5py_3h5t_TypeID, 0, "tid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_space), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "space", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "dcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "dapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5d_create(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_tid, __pyx_v_space, __pyx_v_dcpl, __pyx_v_lcpl, __pyx_v_dapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":54
- * # === Dataset operations ======================================================
- * 
- * def create(ObjectID loc not None, object name, TypeID tid not None,             # <<<<<<<<<<<<<<
- *                SpaceID space not None, PropID dcpl=None, PropID lcpl=None, PropID dapl = None):
- *         """ (objectID loc, STRING name or None, TypeID tid, SpaceID space,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_name, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dapl) {
-  hid_t __pyx_v_dsid;
-  char *__pyx_v_cname;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  char *__pyx_t_2;
-  hid_t __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create", 0);
-
-  /* "h5py/h5d.pyx":63
- *         """
- *         cdef hid_t dsid
- *         cdef char* cname = NULL             # <<<<<<<<<<<<<<
- *         if name is not None:
- *             cname = name
- */
-  __pyx_v_cname = NULL;
-
-  /* "h5py/h5d.pyx":64
- *         cdef hid_t dsid
- *         cdef char* cname = NULL
- *         if name is not None:             # <<<<<<<<<<<<<<
- *             cname = name
- * 
- */
-  __pyx_t_1 = (__pyx_v_name != Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5d.pyx":65
- *         cdef char* cname = NULL
- *         if name is not None:
- *             cname = name             # <<<<<<<<<<<<<<
- * 
- *         if cname != NULL:
- */
-    __pyx_t_2 = PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_cname = __pyx_t_2;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5d.pyx":67
- *             cname = name
- * 
- *         if cname != NULL:             # <<<<<<<<<<<<<<
- *             dsid = H5Dcreate2(loc.id, cname, tid.id, space.id,
- *                      pdefault(lcpl), pdefault(dcpl), pdefault(dapl))
- */
-  __pyx_t_1 = (__pyx_v_cname != NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5d.pyx":69
- *         if cname != NULL:
- *             dsid = H5Dcreate2(loc.id, cname, tid.id, space.id,
- *                      pdefault(lcpl), pdefault(dcpl), pdefault(dapl))             # <<<<<<<<<<<<<<
- *         else:
- *             dsid = H5Dcreate_anon(loc.id, tid.id, space.id,
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Dcreate2(__pyx_v_loc->id, __pyx_v_cname, __pyx_v_tid->__pyx_base.id, __pyx_v_space->__pyx_base.id, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_dcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_dapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_l [...]
-    __pyx_v_dsid = __pyx_t_3;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "h5py/h5d.pyx":72
- *         else:
- *             dsid = H5Dcreate_anon(loc.id, tid.id, space.id,
- *                      pdefault(dcpl), pdefault(dapl))             # <<<<<<<<<<<<<<
- *         return DatasetID.open(dsid)
- * 
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Dcreate_anon(__pyx_v_loc->id, __pyx_v_tid->__pyx_base.id, __pyx_v_space->__pyx_base.id, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_dcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_dapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_dsid = __pyx_t_3;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5d.pyx":73
- *             dsid = H5Dcreate_anon(loc.id, tid.id, space.id,
- *                      pdefault(dcpl), pdefault(dapl))
- *         return DatasetID.open(dsid)             # <<<<<<<<<<<<<<
- * 
- * def open(ObjectID loc not None, char* name):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_4 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5d_DatasetID)), __pyx_n_s__open); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_v_dsid); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  __pyx_t_5 = 0;
-  __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-  __pyx_r = __pyx_t_5;
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5d.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5d_2open[] = " (ObjectID loc, STRING name) => DatasetID\n\n        Open an existing dataset attached to a group or file object, by name.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5d_3open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5d_3open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_2open)};
-static PyObject *__pyx_pw_4h5py_3h5d_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("open (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5d.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5d_2open(__pyx_self, __pyx_v_loc, __pyx_v_name);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":75
- *         return DatasetID.open(dsid)
- * 
- * def open(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """ (ObjectID loc, STRING name) => DatasetID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("open", 0);
-
-  /* "h5py/h5d.pyx":80
- *         Open an existing dataset attached to a group or file object, by name.
- *     """
- *     return DatasetID.open(H5Dopen(loc.id, name))             # <<<<<<<<<<<<<<
- * 
- * # --- Proxy functions for safe(r) threading -----------------------------------
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5d_DatasetID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Dopen(__pyx_v_loc->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5d.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5dtype_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":106
- *     property dtype:
- *         """ Numpy dtype object representing the dataset type """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             # Dataset type can't change
- *             cdef TypeID tid
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5dtype___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5d.pyx":109
- *             # Dataset type can't change
- *             cdef TypeID tid
- *             if self._dtype is None:             # <<<<<<<<<<<<<<
- *                 tid = self.get_type()
- *                 self._dtype = tid.dtype
- */
-  __pyx_t_1 = (__pyx_v_self->_dtype == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5d.pyx":110
- *             cdef TypeID tid
- *             if self._dtype is None:
- *                 tid = self.get_type()             # <<<<<<<<<<<<<<
- *                 self._dtype = tid.dtype
- *             return self._dtype
- */
-    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3);
-    __pyx_t_3 = 0;
-
-    /* "h5py/h5d.pyx":111
- *             if self._dtype is None:
- *                 tid = self.get_type()
- *                 self._dtype = tid.dtype             # <<<<<<<<<<<<<<
- *             return self._dtype
- * 
- */
-    __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_tid), __pyx_n_s__dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_GIVEREF(__pyx_t_3);
-    __Pyx_GOTREF(__pyx_v_self->_dtype);
-    __Pyx_DECREF(__pyx_v_self->_dtype);
-    __pyx_v_self->_dtype = __pyx_t_3;
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5d.pyx":112
- *                 tid = self.get_type()
- *                 self._dtype = tid.dtype
- *             return self._dtype             # <<<<<<<<<<<<<<
- * 
- *     property shape:
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->_dtype);
-  __pyx_r = __pyx_v_self->_dtype;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.dtype.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_tid);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5shape_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":116
- *     property shape:
- *         """ Numpy-style shape tuple representing the dataspace """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             # Shape can change (DatasetID.extend), so don't cache it
- *             cdef SpaceID sid
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_5shape___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_sid = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5d.pyx":119
- *             # Shape can change (DatasetID.extend), so don't cache it
- *             cdef SpaceID sid
- *             sid = self.get_space()             # <<<<<<<<<<<<<<
- *             return sid.get_simple_extent_dims()
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_sid = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5d.pyx":120
- *             cdef SpaceID sid
- *             sid = self.get_space()
- *             return sid.get_simple_extent_dims()             # <<<<<<<<<<<<<<
- * 
- *     property rank:
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_sid), __pyx_n_s_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_sid);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_4rank_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_4rank_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":124
- *     property rank:
- *         """ Integer giving the dataset rank (0 = scalar) """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             cdef SpaceID sid
- *             sid = self.get_space()
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4rank___get__(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_sid = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5d.pyx":126
- *         def __get__(self):
- *             cdef SpaceID sid
- *             sid = self.get_space()             # <<<<<<<<<<<<<<
- *             return sid.get_simple_extent_ndims()
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_space); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_sid = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5d.pyx":127
- *             cdef SpaceID sid
- *             sid = self.get_space()
- *             return sid.get_simple_extent_ndims()             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_sid), __pyx_n_s_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.rank.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_sid);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID__close[] = " ()\n\n            Terminate access through this identifier.  You shouldn't have to\n            call this manually; Dataset objects are automatically destroyed\n            when their Python wrappers are freed.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_close (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID__close(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":130
- * 
- * 
- *     def _close(self):             # <<<<<<<<<<<<<<
- *         """ ()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID__close(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_close", 0);
-
-  /* "h5py/h5d.pyx":137
- *             when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Dclose(self.id)
- *             if not self.valid:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/h5d.pyx":138
- *         """
- *         with _objects.registry.lock:
- *             H5Dclose(self.id)             # <<<<<<<<<<<<<<
- *             if not self.valid:
- *                 del _objects.registry[self.id]
- */
-          __pyx_t_8 = __pyx_f_4h5py_4defs_H5Dclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-
-          /* "h5py/h5d.pyx":139
- *         with _objects.registry.lock:
- *             H5Dclose(self.id)
- *             if not self.valid:             # <<<<<<<<<<<<<<
- *                 del _objects.registry[self.id]
- * 
- */
-          __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __pyx_t_10 = (!__pyx_t_9);
-          if (__pyx_t_10) {
-
-            /* "h5py/h5d.pyx":140
- *             H5Dclose(self.id)
- *             if not self.valid:
- *                 del _objects.registry[self.id]             # <<<<<<<<<<<<<<
- * 
- * 
- */
-            __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_1);
-            __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_4);
-            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-            if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-        /* "h5py/h5d.pyx":137
- *             when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Dclose(self.id)
- *             if not self.valid:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.h5d.DatasetID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_2);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_2);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2);
-          __Pyx_GIVEREF(__pyx_t_2);
-          __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_9 = (!__pyx_t_10);
-          if (__pyx_t_9) {
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_2);
-            __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2);
-            __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; 
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L18;
-          }
-          __pyx_L18:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      if (__pyx_t_3) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_3, NULL);
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-    }
-    goto __pyx_L19;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L1_error;
-    __pyx_L19:;
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_3read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_2read[] = " (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,\n             TypeID mtype=None, PropDXID dxpl=None)\n\n            Read data from an HDF5 dataset into a Numpy array.\n\n            It is your responsibility to ensure that the memory dataspace\n            provided is compatible with the shape of the Numpy array.  Since a\n            wide variety of dataspace configurations are possible, this is not\n            checked.  You can [...]
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_3read(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace = 0;
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace = 0;
-  PyArrayObject *__pyx_v_arr_obj = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("read (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mspace,&__pyx_n_s__fspace,&__pyx_n_s__arr_obj,&__pyx_n_s__mtype,&__pyx_n_s__dxpl,0};
-    PyObject* values[5] = {0,0,0,0,0};
-
-    /* "h5py/h5d.pyx":144
- * 
- *     def read(self, SpaceID mspace not None, SpaceID fspace not None,
- *                    ndarray arr_obj not None, TypeID mtype=None,             # <<<<<<<<<<<<<<
- *                    PropID dxpl=None):
- *         """ (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None);
-
-    /* "h5py/h5d.pyx":145
- *     def read(self, SpaceID mspace not None, SpaceID fspace not None,
- *                    ndarray arr_obj not None, TypeID mtype=None,
- *                    PropID dxpl=None):             # <<<<<<<<<<<<<<
- *         """ (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,
- *              TypeID mtype=None, PropDXID dxpl=None)
- */
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mspace)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fspace)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("read", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__arr_obj)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("read", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mtype);
-          if (value) { values[3] = value; kw_args--; }
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl);
-          if (value) { values[4] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_mspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[0]);
-    __pyx_v_fspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[1]);
-    __pyx_v_arr_obj = ((PyArrayObject *)values[2]);
-    __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[3]);
-    __pyx_v_dxpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("read", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "mspace", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "fspace", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr_obj), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr_obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mtype), __pyx_ptype_4h5py_3h5t_TypeID, 1, "mtype", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dxpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "dxpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_2read(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self), __pyx_v_mspace, __pyx_v_fspace, __pyx_v_arr_obj, __pyx_v_mtype, __pyx_v_dxpl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":143
- * 
- * 
- *     def read(self, SpaceID mspace not None, SpaceID fspace not None,             # <<<<<<<<<<<<<<
- *                    ndarray arr_obj not None, TypeID mtype=None,
- *                    PropID dxpl=None):
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_2read(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace, PyArrayObject *__pyx_v_arr_obj, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl) {
-  hid_t __pyx_v_self_id;
-  hid_t __pyx_v_mtype_id;
-  hid_t __pyx_v_mspace_id;
-  hid_t __pyx_v_fspace_id;
-  hid_t __pyx_v_plist_id;
-  void *__pyx_v_data;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_t_4;
-  struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_5;
-  hid_t __pyx_t_6;
-  herr_t __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("read", 0);
-  __Pyx_INCREF((PyObject *)__pyx_v_mtype);
-
-  /* "h5py/h5d.pyx":168
- *         cdef int oldflags
- * 
- *         if mtype is None:             # <<<<<<<<<<<<<<
- *             mtype = py_create(arr_obj.dtype)
- *         check_numpy_write(arr_obj, -1)
- */
-  __pyx_t_1 = (((PyObject *)__pyx_v_mtype) == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5d.pyx":169
- * 
- *         if mtype is None:
- *             mtype = py_create(arr_obj.dtype)             # <<<<<<<<<<<<<<
- *         check_numpy_write(arr_obj, -1)
- * 
- */
-    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr_obj), __pyx_n_s__dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_2, 0, NULL)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_v_mtype));
-    __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5d.pyx":170
- *         if mtype is None:
- *             mtype = py_create(arr_obj.dtype)
- *         check_numpy_write(arr_obj, -1)             # <<<<<<<<<<<<<<
- * 
- *         self_id = self.id
- */
-  __pyx_t_5.__pyx_n = 1;
-  __pyx_t_5.space_id = -1;
-  __pyx_t_4 = __pyx_f_4h5py_5utils_check_numpy_write(__pyx_v_arr_obj, 0, &__pyx_t_5); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5d.pyx":172
- *         check_numpy_write(arr_obj, -1)
- * 
- *         self_id = self.id             # <<<<<<<<<<<<<<
- *         mtype_id = mtype.id
- *         mspace_id = mspace.id
- */
-  __pyx_t_6 = __pyx_v_self->__pyx_base.id;
-  __pyx_v_self_id = __pyx_t_6;
-
-  /* "h5py/h5d.pyx":173
- * 
- *         self_id = self.id
- *         mtype_id = mtype.id             # <<<<<<<<<<<<<<
- *         mspace_id = mspace.id
- *         fspace_id = fspace.id
- */
-  __pyx_t_6 = __pyx_v_mtype->__pyx_base.id;
-  __pyx_v_mtype_id = __pyx_t_6;
-
-  /* "h5py/h5d.pyx":174
- *         self_id = self.id
- *         mtype_id = mtype.id
- *         mspace_id = mspace.id             # <<<<<<<<<<<<<<
- *         fspace_id = fspace.id
- *         plist_id = pdefault(dxpl)
- */
-  __pyx_t_6 = __pyx_v_mspace->__pyx_base.id;
-  __pyx_v_mspace_id = __pyx_t_6;
-
-  /* "h5py/h5d.pyx":175
- *         mtype_id = mtype.id
- *         mspace_id = mspace.id
- *         fspace_id = fspace.id             # <<<<<<<<<<<<<<
- *         plist_id = pdefault(dxpl)
- *         data = PyArray_DATA(arr_obj)
- */
-  __pyx_t_6 = __pyx_v_fspace->__pyx_base.id;
-  __pyx_v_fspace_id = __pyx_t_6;
-
-  /* "h5py/h5d.pyx":176
- *         mspace_id = mspace.id
- *         fspace_id = fspace.id
- *         plist_id = pdefault(dxpl)             # <<<<<<<<<<<<<<
- *         data = PyArray_DATA(arr_obj)
- * 
- */
-  __pyx_v_plist_id = __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_dxpl));
-
-  /* "h5py/h5d.pyx":177
- *         fspace_id = fspace.id
- *         plist_id = pdefault(dxpl)
- *         data = PyArray_DATA(arr_obj)             # <<<<<<<<<<<<<<
- * 
- *         dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 1)
- */
-  __pyx_v_data = PyArray_DATA(__pyx_v_arr_obj);
-
-  /* "h5py/h5d.pyx":179
- *         data = PyArray_DATA(arr_obj)
- * 
- *         dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 1)             # <<<<<<<<<<<<<<
- * 
- *     def write(self, SpaceID mspace not None, SpaceID fspace not None,
- */
-  __pyx_t_7 = __pyx_f_4h5py_6_proxy_dset_rw(__pyx_v_self_id, __pyx_v_mtype_id, __pyx_v_mspace_id, __pyx_v_fspace_id, __pyx_v_plist_id, __pyx_v_data, 1); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.read", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_mtype);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_4write[] = " (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,\n             TypeID mtype=None, PropDXID dxpl=None)\n\n            Write data from a Numpy array to an HDF5 dataset. Keyword dxpl may\n            be a dataset transfer property list.\n\n            It is your responsibility to ensure that the memory dataspace\n            provided is compatible with the shape of the Numpy array.  Since a\n            wide variety of dataspace conf [...]
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_5write(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace = 0;
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace = 0;
-  PyArrayObject *__pyx_v_arr_obj = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("write (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mspace,&__pyx_n_s__fspace,&__pyx_n_s__arr_obj,&__pyx_n_s__mtype,&__pyx_n_s__dxpl,0};
-    PyObject* values[5] = {0,0,0,0,0};
-
-    /* "h5py/h5d.pyx":182
- * 
- *     def write(self, SpaceID mspace not None, SpaceID fspace not None,
- *                     ndarray arr_obj not None, TypeID mtype=None,             # <<<<<<<<<<<<<<
- *                     PropID dxpl=None):
- *         """ (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None);
-
-    /* "h5py/h5d.pyx":183
- *     def write(self, SpaceID mspace not None, SpaceID fspace not None,
- *                     ndarray arr_obj not None, TypeID mtype=None,
- *                     PropID dxpl=None):             # <<<<<<<<<<<<<<
- *         """ (SpaceID mspace, SpaceID fspace, NDARRAY arr_obj,
- *              TypeID mtype=None, PropDXID dxpl=None)
- */
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mspace)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fspace)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("write", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__arr_obj)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("write", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mtype);
-          if (value) { values[3] = value; kw_args--; }
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl);
-          if (value) { values[4] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_mspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[0]);
-    __pyx_v_fspace = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)values[1]);
-    __pyx_v_arr_obj = ((PyArrayObject *)values[2]);
-    __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[3]);
-    __pyx_v_dxpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("write", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "mspace", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fspace), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "fspace", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr_obj), __pyx_ptype_4h5py_5numpy_ndarray, 0, "arr_obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_mtype), __pyx_ptype_4h5py_3h5t_TypeID, 1, "mtype", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dxpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "dxpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_4write(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self), __pyx_v_mspace, __pyx_v_fspace, __pyx_v_arr_obj, __pyx_v_mtype, __pyx_v_dxpl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":181
- *         dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 1)
- * 
- *     def write(self, SpaceID mspace not None, SpaceID fspace not None,             # <<<<<<<<<<<<<<
- *                     ndarray arr_obj not None, TypeID mtype=None,
- *                     PropID dxpl=None):
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_4write(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_mspace, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_fspace, PyArrayObject *__pyx_v_arr_obj, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_mtype, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_dxpl) {
-  hid_t __pyx_v_self_id;
-  hid_t __pyx_v_mtype_id;
-  hid_t __pyx_v_mspace_id;
-  hid_t __pyx_v_fspace_id;
-  hid_t __pyx_v_plist_id;
-  void *__pyx_v_data;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_t_4;
-  struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_5;
-  hid_t __pyx_t_6;
-  herr_t __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("write", 0);
-  __Pyx_INCREF((PyObject *)__pyx_v_mtype);
-
-  /* "h5py/h5d.pyx":206
- *         cdef int oldflags
- * 
- *         if mtype is None:             # <<<<<<<<<<<<<<
- *             mtype = py_create(arr_obj.dtype)
- *         check_numpy_read(arr_obj, -1)
- */
-  __pyx_t_1 = (((PyObject *)__pyx_v_mtype) == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5d.pyx":207
- * 
- *         if mtype is None:
- *             mtype = py_create(arr_obj.dtype)             # <<<<<<<<<<<<<<
- *         check_numpy_read(arr_obj, -1)
- * 
- */
-    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_arr_obj), __pyx_n_s__dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_2, 0, NULL)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_v_mtype));
-    __pyx_v_mtype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5d.pyx":208
- *         if mtype is None:
- *             mtype = py_create(arr_obj.dtype)
- *         check_numpy_read(arr_obj, -1)             # <<<<<<<<<<<<<<
- * 
- *         self_id = self.id
- */
-  __pyx_t_5.__pyx_n = 1;
-  __pyx_t_5.space_id = -1;
-  __pyx_t_4 = __pyx_f_4h5py_5utils_check_numpy_read(__pyx_v_arr_obj, 0, &__pyx_t_5); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5d.pyx":210
- *         check_numpy_read(arr_obj, -1)
- * 
- *         self_id = self.id             # <<<<<<<<<<<<<<
- *         mtype_id = mtype.id
- *         mspace_id = mspace.id
- */
-  __pyx_t_6 = __pyx_v_self->__pyx_base.id;
-  __pyx_v_self_id = __pyx_t_6;
-
-  /* "h5py/h5d.pyx":211
- * 
- *         self_id = self.id
- *         mtype_id = mtype.id             # <<<<<<<<<<<<<<
- *         mspace_id = mspace.id
- *         fspace_id = fspace.id
- */
-  __pyx_t_6 = __pyx_v_mtype->__pyx_base.id;
-  __pyx_v_mtype_id = __pyx_t_6;
-
-  /* "h5py/h5d.pyx":212
- *         self_id = self.id
- *         mtype_id = mtype.id
- *         mspace_id = mspace.id             # <<<<<<<<<<<<<<
- *         fspace_id = fspace.id
- *         plist_id = pdefault(dxpl)
- */
-  __pyx_t_6 = __pyx_v_mspace->__pyx_base.id;
-  __pyx_v_mspace_id = __pyx_t_6;
-
-  /* "h5py/h5d.pyx":213
- *         mtype_id = mtype.id
- *         mspace_id = mspace.id
- *         fspace_id = fspace.id             # <<<<<<<<<<<<<<
- *         plist_id = pdefault(dxpl)
- *         data = PyArray_DATA(arr_obj)
- */
-  __pyx_t_6 = __pyx_v_fspace->__pyx_base.id;
-  __pyx_v_fspace_id = __pyx_t_6;
-
-  /* "h5py/h5d.pyx":214
- *         mspace_id = mspace.id
- *         fspace_id = fspace.id
- *         plist_id = pdefault(dxpl)             # <<<<<<<<<<<<<<
- *         data = PyArray_DATA(arr_obj)
- * 
- */
-  __pyx_v_plist_id = __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_dxpl));
-
-  /* "h5py/h5d.pyx":215
- *         fspace_id = fspace.id
- *         plist_id = pdefault(dxpl)
- *         data = PyArray_DATA(arr_obj)             # <<<<<<<<<<<<<<
- * 
- *         dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 0)
- */
-  __pyx_v_data = PyArray_DATA(__pyx_v_arr_obj);
-
-  /* "h5py/h5d.pyx":217
- *         data = PyArray_DATA(arr_obj)
- * 
- *         dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 0)             # <<<<<<<<<<<<<<
- * 
- *     def extend(self, tuple shape):
- */
-  __pyx_t_7 = __pyx_f_4h5py_6_proxy_dset_rw(__pyx_v_self_id, __pyx_v_mtype_id, __pyx_v_mspace_id, __pyx_v_fspace_id, __pyx_v_plist_id, __pyx_v_data, 0); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_mtype);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_7extend(PyObject *__pyx_v_self, PyObject *__pyx_v_shape); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_6extend[] = " (TUPLE shape)\n\n            Extend the given dataset so it's at least as big as \"shape\".  Note\n            that a dataset may only be extended up to the maximum dimensions of\n            its dataspace, which are fixed when the dataset is created.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_7extend(PyObject *__pyx_v_self, PyObject *__pyx_v_shape) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("extend (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1, "shape", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_6extend(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self), ((PyObject*)__pyx_v_shape));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":219
- *         dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 0)
- * 
- *     def extend(self, tuple shape):             # <<<<<<<<<<<<<<
- *         """ (TUPLE shape)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_6extend(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, PyObject *__pyx_v_shape) {
-  int __pyx_v_rank;
-  hid_t __pyx_v_space_id;
-  hsize_t *__pyx_v_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  int __pyx_t_2;
-  Py_ssize_t __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  void *__pyx_t_8;
-  herr_t __pyx_t_9;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("extend", 0);
-
-  /* "h5py/h5d.pyx":227
- *         """
- *         cdef int rank
- *         cdef hid_t space_id = 0             # <<<<<<<<<<<<<<
- *         cdef hsize_t* dims = NULL
- * 
- */
-  __pyx_v_space_id = 0;
-
-  /* "h5py/h5d.pyx":228
- *         cdef int rank
- *         cdef hid_t space_id = 0
- *         cdef hsize_t* dims = NULL             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5d.pyx":230
- *         cdef hsize_t* dims = NULL
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             space_id = H5Dget_space(self.id)
- *             rank = H5Sget_simple_extent_ndims(space_id)
- */
-  /*try:*/ {
-
-    /* "h5py/h5d.pyx":231
- * 
- *         try:
- *             space_id = H5Dget_space(self.id)             # <<<<<<<<<<<<<<
- *             rank = H5Sget_simple_extent_ndims(space_id)
- * 
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_space_id = __pyx_t_1;
-
-    /* "h5py/h5d.pyx":232
- *         try:
- *             space_id = H5Dget_space(self.id)
- *             rank = H5Sget_simple_extent_ndims(space_id)             # <<<<<<<<<<<<<<
- * 
- *             if len(shape) != rank:
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 232; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_rank = __pyx_t_2;
-
-    /* "h5py/h5d.pyx":234
- *             rank = H5Sget_simple_extent_ndims(space_id)
- * 
- *             if len(shape) != rank:             # <<<<<<<<<<<<<<
- *                 raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank))
- * 
- */
-    if (unlikely(((PyObject *)__pyx_v_shape) == Py_None)) {
-      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    }
-    __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_t_4 = (__pyx_t_3 != __pyx_v_rank);
-    if (__pyx_t_4) {
-
-      /* "h5py/h5d.pyx":235
- * 
- *             if len(shape) != rank:
- *                 raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank))             # <<<<<<<<<<<<<<
- * 
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-      if (unlikely(((PyObject *)__pyx_v_shape) == Py_None)) {
-        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
-        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      }
-      __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_6 = PyInt_FromLong(__pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_7);
-      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
-      __Pyx_GIVEREF(__pyx_t_5);
-      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6);
-      __Pyx_GIVEREF(__pyx_t_6);
-      __pyx_t_5 = 0;
-      __pyx_t_6 = 0;
-      __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), ((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_6));
-      __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-      __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_7);
-      PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_t_6));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_6));
-      __pyx_t_6 = 0;
-      __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5d.pyx":237
- *                 raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank))
- * 
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *             convert_tuple(shape, dims, rank)
- *             H5Dextend(self.id, dims)
- */
-    __pyx_t_8 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_8 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_dims = ((hsize_t *)__pyx_t_8);
-
-    /* "h5py/h5d.pyx":238
- * 
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(shape, dims, rank)             # <<<<<<<<<<<<<<
- *             H5Dextend(self.id, dims)
- * 
- */
-    __pyx_t_2 = __pyx_f_4h5py_5utils_convert_tuple(((PyObject *)__pyx_v_shape), __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5d.pyx":239
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(shape, dims, rank)
- *             H5Dextend(self.id, dims)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __pyx_t_9 = __pyx_f_4h5py_4defs_H5Dextend(__pyx_v_self->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 239; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5d.pyx":242
- * 
- *         finally:
- *             efree(dims)             # <<<<<<<<<<<<<<
- *             if space_id:
- *                 H5Sclose(space_id)
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-
-    /* "h5py/h5d.pyx":243
- *         finally:
- *             efree(dims)
- *             if space_id:             # <<<<<<<<<<<<<<
- *                 H5Sclose(space_id)
- * 
- */
-    if (__pyx_v_space_id) {
-
-      /* "h5py/h5d.pyx":244
- *             efree(dims)
- *             if space_id:
- *                 H5Sclose(space_id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-      __pyx_t_9 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 244; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-      goto __pyx_L8;
-    }
-    __pyx_L8:;
-    goto __pyx_L9;
-    __pyx_L7_error:;
-    if (__pyx_why == 4) {
-      Py_XDECREF(__pyx_exc_type);
-      Py_XDECREF(__pyx_exc_value);
-      Py_XDECREF(__pyx_exc_tb);
-    }
-    goto __pyx_L1_error;
-    __pyx_L9:;
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.extend", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_9set_extent(PyObject *__pyx_v_self, PyObject *__pyx_v_shape); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_8set_extent[] = " (TUPLE shape)\n\n            Set the size of the dataspace to match the given shape.  If the new\n            size is larger in any dimension, it must be compatible with the\n            maximum dataspace size.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_9set_extent(PyObject *__pyx_v_self, PyObject *__pyx_v_shape) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_extent (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_shape), (&PyTuple_Type), 1, "shape", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_8set_extent(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self), ((PyObject*)__pyx_v_shape));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":247
- * 
- * 
- *     def set_extent(self, tuple shape):             # <<<<<<<<<<<<<<
- *         """ (TUPLE shape)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_8set_extent(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self, PyObject *__pyx_v_shape) {
-  int __pyx_v_rank;
-  hid_t __pyx_v_space_id;
-  hsize_t *__pyx_v_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  int __pyx_t_2;
-  Py_ssize_t __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  void *__pyx_t_8;
-  herr_t __pyx_t_9;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_extent", 0);
-
-  /* "h5py/h5d.pyx":255
- *         """
- *         cdef int rank
- *         cdef hid_t space_id = 0             # <<<<<<<<<<<<<<
- *         cdef hsize_t* dims = NULL
- * 
- */
-  __pyx_v_space_id = 0;
-
-  /* "h5py/h5d.pyx":256
- *         cdef int rank
- *         cdef hid_t space_id = 0
- *         cdef hsize_t* dims = NULL             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5d.pyx":258
- *         cdef hsize_t* dims = NULL
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             space_id = H5Dget_space(self.id)
- *             rank = H5Sget_simple_extent_ndims(space_id)
- */
-  /*try:*/ {
-
-    /* "h5py/h5d.pyx":259
- * 
- *         try:
- *             space_id = H5Dget_space(self.id)             # <<<<<<<<<<<<<<
- *             rank = H5Sget_simple_extent_ndims(space_id)
- * 
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_space_id = __pyx_t_1;
-
-    /* "h5py/h5d.pyx":260
- *         try:
- *             space_id = H5Dget_space(self.id)
- *             rank = H5Sget_simple_extent_ndims(space_id)             # <<<<<<<<<<<<<<
- * 
- *             if len(shape) != rank:
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_rank = __pyx_t_2;
-
-    /* "h5py/h5d.pyx":262
- *             rank = H5Sget_simple_extent_ndims(space_id)
- * 
- *             if len(shape) != rank:             # <<<<<<<<<<<<<<
- *                 raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank))
- * 
- */
-    if (unlikely(((PyObject *)__pyx_v_shape) == Py_None)) {
-      PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    }
-    __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_t_4 = (__pyx_t_3 != __pyx_v_rank);
-    if (__pyx_t_4) {
-
-      /* "h5py/h5d.pyx":263
- * 
- *             if len(shape) != rank:
- *                 raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank))             # <<<<<<<<<<<<<<
- * 
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-      if (unlikely(((PyObject *)__pyx_v_shape) == Py_None)) {
-        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
-        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      }
-      __pyx_t_3 = PyTuple_GET_SIZE(((PyObject *)__pyx_v_shape)); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_6 = PyInt_FromLong(__pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_7);
-      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
-      __Pyx_GIVEREF(__pyx_t_5);
-      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6);
-      __Pyx_GIVEREF(__pyx_t_6);
-      __pyx_t_5 = 0;
-      __pyx_t_6 = 0;
-      __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), ((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_6));
-      __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-      __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_7);
-      PyTuple_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_t_6));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_6));
-      __pyx_t_6 = 0;
-      __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-      __Pyx_Raise(__pyx_t_6, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5d.pyx":265
- *                 raise TypeError("New shape length (%d) must match dataset rank (%d)" % (len(shape), rank))
- * 
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *             convert_tuple(shape, dims, rank)
- *             H5Dset_extent(self.id, dims)
- */
-    __pyx_t_8 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_8 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_dims = ((hsize_t *)__pyx_t_8);
-
-    /* "h5py/h5d.pyx":266
- * 
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(shape, dims, rank)             # <<<<<<<<<<<<<<
- *             H5Dset_extent(self.id, dims)
- * 
- */
-    __pyx_t_2 = __pyx_f_4h5py_5utils_convert_tuple(((PyObject *)__pyx_v_shape), __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5d.pyx":267
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(shape, dims, rank)
- *             H5Dset_extent(self.id, dims)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __pyx_t_9 = __pyx_f_4h5py_4defs_H5Dset_extent(__pyx_v_self->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5d.pyx":270
- * 
- *         finally:
- *             efree(dims)             # <<<<<<<<<<<<<<
- *             if space_id:
- *                 H5Sclose(space_id)
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-
-    /* "h5py/h5d.pyx":271
- *         finally:
- *             efree(dims)
- *             if space_id:             # <<<<<<<<<<<<<<
- *                 H5Sclose(space_id)
- * 
- */
-    if (__pyx_v_space_id) {
-
-      /* "h5py/h5d.pyx":272
- *             efree(dims)
- *             if space_id:
- *                 H5Sclose(space_id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-      __pyx_t_9 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-      goto __pyx_L8;
-    }
-    __pyx_L8:;
-    goto __pyx_L9;
-    __pyx_L7_error:;
-    if (__pyx_why == 4) {
-      Py_XDECREF(__pyx_exc_type);
-      Py_XDECREF(__pyx_exc_value);
-      Py_XDECREF(__pyx_exc_tb);
-    }
-    goto __pyx_L1_error;
-    __pyx_L9:;
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.set_extent", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_11get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_10get_space[] = " () => SpaceID\n\n            Create and return a new copy of the dataspace for this dataset.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_11get_space(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_space (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_10get_space(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":276
- * 
- * 
- *     def get_space(self):             # <<<<<<<<<<<<<<
- *         """ () => SpaceID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_10get_space(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_space", 0);
-
-  /* "h5py/h5d.pyx":281
- *             Create and return a new copy of the dataspace for this dataset.
- *         """
- *         return SpaceID.open(H5Dget_space(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Dget_space(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.get_space", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_13get_space_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_12get_space_status[] = " () => INT space_status_code\n\n            Determine if space has been allocated for a dataset.\n            Return value is one of:\n\n            * SPACE_STATUS_NOT_ALLOCATED\n            * SPACE_STATUS_PART_ALLOCATED\n            * SPACE_STATUS_ALLOCATED\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_13get_space_status(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_space_status (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_12get_space_status(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":284
- * 
- * 
- *     def get_space_status(self):             # <<<<<<<<<<<<<<
- *         """ () => INT space_status_code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_12get_space_status(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  H5D_space_status_t __pyx_v_status;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_space_status", 0);
-
-  /* "h5py/h5d.pyx":295
- *         """
- *         cdef H5D_space_status_t status
- *         H5Dget_space_status(self.id, &status)             # <<<<<<<<<<<<<<
- *         return <int>status
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_space_status(__pyx_v_self->__pyx_base.id, (&__pyx_v_status)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5d.pyx":296
- *         cdef H5D_space_status_t status
- *         H5Dget_space_status(self.id, &status)
- *         return <int>status             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_v_status)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 296; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.get_space_status", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_15get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_14get_type[] = " () => TypeID\n\n            Create and return a new copy of the datatype for this dataset.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_15get_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_type (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_14get_type(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":299
- * 
- * 
- *     def get_type(self):             # <<<<<<<<<<<<<<
- *         """ () => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_14get_type(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_type", 0);
-
-  /* "h5py/h5d.pyx":304
- *             Create and return a new copy of the datatype for this dataset.
- *         """
- *         return typewrap(H5Dget_type(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_type(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.get_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_17get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_16get_create_plist[] = " () => PropDCID\n\n            Create an return a new copy of the dataset creation property list\n            used when this dataset was created.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_17get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_create_plist (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_16get_create_plist(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":307
- * 
- * 
- *     def get_create_plist(self):             # <<<<<<<<<<<<<<
- *         """ () => PropDCID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_16get_create_plist(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_create_plist", 0);
-
-  /* "h5py/h5d.pyx":313
- *             used when this dataset was created.
- *         """
- *         return propwrap(H5Dget_create_plist(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_create_plist(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.get_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_19get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_18get_offset[] = " () => LONG offset or None\n\n            Get the offset of this dataset in the file, in bytes, or None if\n            it doesn't have one.  This is always the case for datasets which\n            use chunked storage, compact datasets, and datasets for which space\n            has not yet been allocated in the file.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_19get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_offset (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_18get_offset(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":316
- * 
- * 
- *     def get_offset(self):             # <<<<<<<<<<<<<<
- *         """ () => LONG offset or None
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_18get_offset(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  haddr_t __pyx_v_offset;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  haddr_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_offset", 0);
-
-  /* "h5py/h5d.pyx":325
- *         """
- *         cdef haddr_t offset
- *         offset = H5Dget_offset(self.id)             # <<<<<<<<<<<<<<
- *         if offset == HADDR_UNDEF:
- *             return None
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_offset(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_offset = __pyx_t_1;
-
-  /* "h5py/h5d.pyx":326
- *         cdef haddr_t offset
- *         offset = H5Dget_offset(self.id)
- *         if offset == HADDR_UNDEF:             # <<<<<<<<<<<<<<
- *             return None
- *         return offset
- */
-  __pyx_t_2 = (__pyx_v_offset == HADDR_UNDEF);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5d.pyx":327
- *         offset = H5Dget_offset(self.id)
- *         if offset == HADDR_UNDEF:
- *             return None             # <<<<<<<<<<<<<<
- *         return offset
- * 
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(Py_None);
-    __pyx_r = Py_None;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5d.pyx":328
- *         if offset == HADDR_UNDEF:
- *             return None
- *         return offset             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = __Pyx_PyInt_to_py_haddr_t(__pyx_v_offset); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.get_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_21get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5d_9DatasetID_20get_storage_size[] = " () => LONG storage_size\n\n            Determine the amount of file space required for a dataset.  Note\n            this only counts the space which has actually been allocated; it\n            may even be zero.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5d_9DatasetID_21get_storage_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_storage_size (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5d_9DatasetID_20get_storage_size(((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5d.pyx":331
- * 
- * 
- *     def get_storage_size(self):             # <<<<<<<<<<<<<<
- *         """ () => LONG storage_size
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5d_9DatasetID_20get_storage_size(struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hsize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_storage_size", 0);
-
-  /* "h5py/h5d.pyx":338
- *             may even be zero.
- *         """
- *         return H5Dget_storage_size(self.id)             # <<<<<<<<<<<<<<
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Dget_storage_size(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 338; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5d.DatasetID.get_storage_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5d_DatasetID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *p;
-  PyObject *o = __pyx_ptype_4h5py_8_objects_ObjectID->tp_new(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)o);
-  p->_dtype = Py_None; Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5d_DatasetID(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *p = (struct __pyx_obj_4h5py_3h5d_DatasetID *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->_dtype);
-  PyObject_GC_Track(o);
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5d_DatasetID);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5d_DatasetID(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5d_DatasetID *p = (struct __pyx_obj_4h5py_3h5d_DatasetID *)o;
-  e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5d_DatasetID)); if (e) return e;
-  if (p->_dtype) {
-    e = (*v)(p->_dtype, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5d_DatasetID(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *p = (struct __pyx_obj_4h5py_3h5d_DatasetID *)o;
-  PyObject* tmp;
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5d_DatasetID);
-  tmp = ((PyObject*)p->_dtype);
-  p->_dtype = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_dtype(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5d_9DatasetID_5dtype_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_shape(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5d_9DatasetID_5shape_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5d_9DatasetID_rank(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5d_9DatasetID_4rank_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5d_DatasetID[] = {
-  {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_1_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID__close)},
-  {__Pyx_NAMESTR("read"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_3read, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_2read)},
-  {__Pyx_NAMESTR("write"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_5write, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_4write)},
-  {__Pyx_NAMESTR("extend"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_7extend, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_6extend)},
-  {__Pyx_NAMESTR("set_extent"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_9set_extent, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_8set_extent)},
-  {__Pyx_NAMESTR("get_space"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_11get_space, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_10get_space)},
-  {__Pyx_NAMESTR("get_space_status"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_13get_space_status, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_12get_space_status)},
-  {__Pyx_NAMESTR("get_type"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_15get_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_14get_type)},
-  {__Pyx_NAMESTR("get_create_plist"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_17get_create_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_16get_create_plist)},
-  {__Pyx_NAMESTR("get_offset"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_19get_offset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_18get_offset)},
-  {__Pyx_NAMESTR("get_storage_size"), (PyCFunction)__pyx_pw_4h5py_3h5d_9DatasetID_21get_storage_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5d_9DatasetID_20get_storage_size)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5d_DatasetID[] = {
-  {(char *)"dtype", __pyx_getprop_4h5py_3h5d_9DatasetID_dtype, 0, __Pyx_DOCSTR(__pyx_k_5), 0},
-  {(char *)"shape", __pyx_getprop_4h5py_3h5d_9DatasetID_shape, 0, __Pyx_DOCSTR(__pyx_k_6), 0},
-  {(char *)"rank", __pyx_getprop_4h5py_3h5d_9DatasetID_rank, 0, __Pyx_DOCSTR(__pyx_k_7), 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_DatasetID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_DatasetID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_DatasetID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_DatasetID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5d_DatasetID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5d.DatasetID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5d_DatasetID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5d_DatasetID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_DatasetID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_DatasetID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_DatasetID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_DatasetID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents an HDF5 dataset identifier.\n\n        Objects of this class may be used in any HDF5 function which expects\n        a dataset identifier.  Also, all H5D* functions which take a dataset\n        instance as their first argument are presented as methods of this\n        class.\n\n        Properties:\n        dtype:  Numpy dtype representing the dataset type\n        shape:  Numpy-style shape tuple representing the dataspace\n        rank:   Integer giv [...]
-  __pyx_tp_traverse_4h5py_3h5d_DatasetID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5d_DatasetID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5d_DatasetID, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5d_DatasetID, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5d_DatasetID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5d"),
-    __Pyx_DOCSTR(__pyx_k_8), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_n_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 1},
-  {&__pyx_n_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 1},
-  {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1},
-  {&__pyx_n_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 1},
-  {&__pyx_n_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 1},
-  {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0},
-  {&__pyx_n_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 1},
-  {&__pyx_n_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 1},
-  {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
-  {&__pyx_n_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 1},
-  {&__pyx_n_s__ALLOC_TIME_DEFAULT, __pyx_k__ALLOC_TIME_DEFAULT, sizeof(__pyx_k__ALLOC_TIME_DEFAULT), 0, 0, 1, 1},
-  {&__pyx_n_s__ALLOC_TIME_EARLY, __pyx_k__ALLOC_TIME_EARLY, sizeof(__pyx_k__ALLOC_TIME_EARLY), 0, 0, 1, 1},
-  {&__pyx_n_s__ALLOC_TIME_INCR, __pyx_k__ALLOC_TIME_INCR, sizeof(__pyx_k__ALLOC_TIME_INCR), 0, 0, 1, 1},
-  {&__pyx_n_s__ALLOC_TIME_LATE, __pyx_k__ALLOC_TIME_LATE, sizeof(__pyx_k__ALLOC_TIME_LATE), 0, 0, 1, 1},
-  {&__pyx_n_s__CHUNKED, __pyx_k__CHUNKED, sizeof(__pyx_k__CHUNKED), 0, 0, 1, 1},
-  {&__pyx_n_s__COMPACT, __pyx_k__COMPACT, sizeof(__pyx_k__COMPACT), 0, 0, 1, 1},
-  {&__pyx_n_s__CONTIGUOUS, __pyx_k__CONTIGUOUS, sizeof(__pyx_k__CONTIGUOUS), 0, 0, 1, 1},
-  {&__pyx_n_s__FILL_TIME_ALLOC, __pyx_k__FILL_TIME_ALLOC, sizeof(__pyx_k__FILL_TIME_ALLOC), 0, 0, 1, 1},
-  {&__pyx_n_s__FILL_TIME_IFSET, __pyx_k__FILL_TIME_IFSET, sizeof(__pyx_k__FILL_TIME_IFSET), 0, 0, 1, 1},
-  {&__pyx_n_s__FILL_TIME_NEVER, __pyx_k__FILL_TIME_NEVER, sizeof(__pyx_k__FILL_TIME_NEVER), 0, 0, 1, 1},
-  {&__pyx_n_s__FILL_VALUE_DEFAULT, __pyx_k__FILL_VALUE_DEFAULT, sizeof(__pyx_k__FILL_VALUE_DEFAULT), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1},
-  {&__pyx_n_s__arr_obj, __pyx_k__arr_obj, sizeof(__pyx_k__arr_obj), 0, 0, 1, 1},
-  {&__pyx_n_s__cname, __pyx_k__cname, sizeof(__pyx_k__cname), 0, 0, 1, 1},
-  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
-  {&__pyx_n_s__dapl, __pyx_k__dapl, sizeof(__pyx_k__dapl), 0, 0, 1, 1},
-  {&__pyx_n_s__dcpl, __pyx_k__dcpl, sizeof(__pyx_k__dcpl), 0, 0, 1, 1},
-  {&__pyx_n_s__dsid, __pyx_k__dsid, sizeof(__pyx_k__dsid), 0, 0, 1, 1},
-  {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1},
-  {&__pyx_n_s__dxpl, __pyx_k__dxpl, sizeof(__pyx_k__dxpl), 0, 0, 1, 1},
-  {&__pyx_n_s__fspace, __pyx_k__fspace, sizeof(__pyx_k__fspace), 0, 0, 1, 1},
-  {&__pyx_n_s__get_space, __pyx_k__get_space, sizeof(__pyx_k__get_space), 0, 0, 1, 1},
-  {&__pyx_n_s__get_type, __pyx_k__get_type, sizeof(__pyx_k__get_type), 0, 0, 1, 1},
-  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
-  {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1},
-  {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1},
-  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
-  {&__pyx_n_s__mspace, __pyx_k__mspace, sizeof(__pyx_k__mspace), 0, 0, 1, 1},
-  {&__pyx_n_s__mtype, __pyx_k__mtype, sizeof(__pyx_k__mtype), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1},
-  {&__pyx_n_s__space, __pyx_k__space, sizeof(__pyx_k__space), 0, 0, 1, 1},
-  {&__pyx_n_s__tid, __pyx_k__tid, sizeof(__pyx_k__tid), 0, 0, 1, 1},
-  {&__pyx_n_s__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 235; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5d.pyx":137
- *             when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Dclose(self.id)
- *             if not self.valid:
- */
-  __pyx_k_tuple_3 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_3);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-
-  /* "h5py/h5d.pyx":54
- * # === Dataset operations ======================================================
- * 
- * def create(ObjectID loc not None, object name, TypeID tid not None,             # <<<<<<<<<<<<<<
- *                SpaceID space not None, PropID dcpl=None, PropID lcpl=None, PropID dapl = None):
- *         """ (objectID loc, STRING name or None, TypeID tid, SpaceID space,
- */
-  __pyx_k_tuple_14 = PyTuple_Pack(9, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__tid), ((PyObject *)__pyx_n_s__space), ((PyObject *)__pyx_n_s__dcpl), ((PyObject *)__pyx_n_s__lcpl), ((PyObject *)__pyx_n_s__dapl), ((PyObject *)__pyx_n_s__dsid), ((PyObject *)__pyx_n_s__cname)); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_14);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14));
-  __pyx_k_codeobj_15 = (PyObject*)__Pyx_PyCode_New(7, 0, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__create, 54, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5d.pyx":75
- *         return DatasetID.open(dsid)
- * 
- * def open(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """ (ObjectID loc, STRING name) => DatasetID
- * 
- */
-  __pyx_k_tuple_18 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_18);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18));
-  __pyx_k_codeobj_19 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__open, 75, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5d(void); /*proto*/
-PyMODINIT_FUNC inith5d(void)
-#else
-PyMODINIT_FUNC PyInit_h5d(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5d(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5d(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5d"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_8), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5d")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5d", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5d) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_type_4h5py_3h5d_DatasetID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5d_DatasetID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "DatasetID", (PyObject *)&__pyx_type_4h5py_3h5d_DatasetID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5d_DatasetID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5d_DatasetID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5d_DatasetID, __pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5d_DatasetID = &__pyx_type_4h5py_3h5d_DatasetID;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeID = __Pyx_ImportType("h5py.h5t", "TypeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeArrayID = __Pyx_ImportType("h5py.h5t", "TypeArrayID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeArrayID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeArrayID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeOpaqueID = __Pyx_ImportType("h5py.h5t", "TypeOpaqueID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeOpaqueID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeStringID = __Pyx_ImportType("h5py.h5t", "TypeStringID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeStringID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeStringID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeVlenID = __Pyx_ImportType("h5py.h5t", "TypeVlenID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeVlenID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeVlenID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeTimeID = __Pyx_ImportType("h5py.h5t", "TypeTimeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeTimeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeTimeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeBitfieldID = __Pyx_ImportType("h5py.h5t", "TypeBitfieldID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeBitfieldID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeReferenceID = __Pyx_ImportType("h5py.h5t", "TypeReferenceID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeReferenceID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeReferenceID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeAtomicID = __Pyx_ImportType("h5py.h5t", "TypeAtomicID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeAtomicID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeAtomicID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeIntegerID = __Pyx_ImportType("h5py.h5t", "TypeIntegerID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeIntegerID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeIntegerID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeFloatID = __Pyx_ImportType("h5py.h5t", "TypeFloatID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeFloatID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeFloatID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeCompositeID = __Pyx_ImportType("h5py.h5t", "TypeCompositeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeCompositeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompositeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeEnumID = __Pyx_ImportType("h5py.h5t", "TypeEnumID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeEnumID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeEnumID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeCompoundID = __Pyx_ImportType("h5py.h5t", "TypeCompoundID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5s_SpaceID = __Pyx_ImportType("h5py.h5s", "SpaceID", sizeof(struct __pyx_obj_4h5py_3h5s_SpaceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5s_SpaceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropOCID = __Pyx_ImportType("h5py.h5p", "PropOCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropOCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropOCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dcreate_anon, "hid_t (hid_t, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_space_status", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_space_status, "herr_t (hid_t, H5D_space_status_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_type, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_offset, "haddr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dget_storage_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dget_storage_size, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dextend", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dextend, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Dset_extent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Dset_extent, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_4 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_5 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_5, "propwrap", (void (**)(void))&__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_6 = __Pyx_ImportModule("h5py._proxy"); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_6, "dset_rw", (void (**)(void))&__pyx_f_4h5py_6_proxy_dset_rw, "herr_t (hid_t, hid_t, hid_t, hid_t, hid_t, void *, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5d.pyx":23
- * from _proxy cimport dset_rw
- * 
- * from h5py import _objects             # <<<<<<<<<<<<<<
- * 
- * # Initialization
- */
-  __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s___objects));
-  PyList_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_n_s___objects));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects));
-  __pyx_t_8 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_7), -1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-  __pyx_t_7 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s___objects);
-  if (__pyx_t_7 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects);
-    if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":26
- * 
- * # Initialization
- * import_array()             # <<<<<<<<<<<<<<
- * 
- * # === Public constants and data structures ====================================
- */
-  import_array();
-
-  /* "h5py/h5d.pyx":30
- * # === Public constants and data structures ====================================
- * 
- * COMPACT     = H5D_COMPACT             # <<<<<<<<<<<<<<
- * CONTIGUOUS  = H5D_CONTIGUOUS
- * CHUNKED     = H5D_CHUNKED
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_COMPACT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__COMPACT, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":31
- * 
- * COMPACT     = H5D_COMPACT
- * CONTIGUOUS  = H5D_CONTIGUOUS             # <<<<<<<<<<<<<<
- * CHUNKED     = H5D_CHUNKED
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_CONTIGUOUS); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CONTIGUOUS, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":32
- * COMPACT     = H5D_COMPACT
- * CONTIGUOUS  = H5D_CONTIGUOUS
- * CHUNKED     = H5D_CHUNKED             # <<<<<<<<<<<<<<
- * 
- * ALLOC_TIME_DEFAULT  = H5D_ALLOC_TIME_DEFAULT
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_CHUNKED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CHUNKED, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":34
- * CHUNKED     = H5D_CHUNKED
- * 
- * ALLOC_TIME_DEFAULT  = H5D_ALLOC_TIME_DEFAULT             # <<<<<<<<<<<<<<
- * ALLOC_TIME_LATE     = H5D_ALLOC_TIME_LATE
- * ALLOC_TIME_EARLY    = H5D_ALLOC_TIME_EARLY
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_ALLOC_TIME_DEFAULT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_DEFAULT, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":35
- * 
- * ALLOC_TIME_DEFAULT  = H5D_ALLOC_TIME_DEFAULT
- * ALLOC_TIME_LATE     = H5D_ALLOC_TIME_LATE             # <<<<<<<<<<<<<<
- * ALLOC_TIME_EARLY    = H5D_ALLOC_TIME_EARLY
- * ALLOC_TIME_INCR     = H5D_ALLOC_TIME_INCR
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_ALLOC_TIME_LATE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_LATE, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":36
- * ALLOC_TIME_DEFAULT  = H5D_ALLOC_TIME_DEFAULT
- * ALLOC_TIME_LATE     = H5D_ALLOC_TIME_LATE
- * ALLOC_TIME_EARLY    = H5D_ALLOC_TIME_EARLY             # <<<<<<<<<<<<<<
- * ALLOC_TIME_INCR     = H5D_ALLOC_TIME_INCR
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_ALLOC_TIME_EARLY); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_EARLY, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":37
- * ALLOC_TIME_LATE     = H5D_ALLOC_TIME_LATE
- * ALLOC_TIME_EARLY    = H5D_ALLOC_TIME_EARLY
- * ALLOC_TIME_INCR     = H5D_ALLOC_TIME_INCR             # <<<<<<<<<<<<<<
- * 
- * SPACE_STATUS_NOT_ALLOCATED  = H5D_SPACE_STATUS_NOT_ALLOCATED
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_ALLOC_TIME_INCR); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALLOC_TIME_INCR, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":39
- * ALLOC_TIME_INCR     = H5D_ALLOC_TIME_INCR
- * 
- * SPACE_STATUS_NOT_ALLOCATED  = H5D_SPACE_STATUS_NOT_ALLOCATED             # <<<<<<<<<<<<<<
- * SPACE_STATUS_PART_ALLOCATED = H5D_SPACE_STATUS_PART_ALLOCATED
- * SPACE_STATUS_ALLOCATED      = H5D_SPACE_STATUS_ALLOCATED
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_SPACE_STATUS_NOT_ALLOCATED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_9, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":40
- * 
- * SPACE_STATUS_NOT_ALLOCATED  = H5D_SPACE_STATUS_NOT_ALLOCATED
- * SPACE_STATUS_PART_ALLOCATED = H5D_SPACE_STATUS_PART_ALLOCATED             # <<<<<<<<<<<<<<
- * SPACE_STATUS_ALLOCATED      = H5D_SPACE_STATUS_ALLOCATED
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_SPACE_STATUS_PART_ALLOCATED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_10, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":41
- * SPACE_STATUS_NOT_ALLOCATED  = H5D_SPACE_STATUS_NOT_ALLOCATED
- * SPACE_STATUS_PART_ALLOCATED = H5D_SPACE_STATUS_PART_ALLOCATED
- * SPACE_STATUS_ALLOCATED      = H5D_SPACE_STATUS_ALLOCATED             # <<<<<<<<<<<<<<
- * 
- * FILL_TIME_ALLOC = H5D_FILL_TIME_ALLOC
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_SPACE_STATUS_ALLOCATED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_11, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":43
- * SPACE_STATUS_ALLOCATED      = H5D_SPACE_STATUS_ALLOCATED
- * 
- * FILL_TIME_ALLOC = H5D_FILL_TIME_ALLOC             # <<<<<<<<<<<<<<
- * FILL_TIME_NEVER = H5D_FILL_TIME_NEVER
- * FILL_TIME_IFSET = H5D_FILL_TIME_IFSET
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_FILL_TIME_ALLOC); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_ALLOC, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":44
- * 
- * FILL_TIME_ALLOC = H5D_FILL_TIME_ALLOC
- * FILL_TIME_NEVER = H5D_FILL_TIME_NEVER             # <<<<<<<<<<<<<<
- * FILL_TIME_IFSET = H5D_FILL_TIME_IFSET
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_FILL_TIME_NEVER); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_NEVER, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":45
- * FILL_TIME_ALLOC = H5D_FILL_TIME_ALLOC
- * FILL_TIME_NEVER = H5D_FILL_TIME_NEVER
- * FILL_TIME_IFSET = H5D_FILL_TIME_IFSET             # <<<<<<<<<<<<<<
- * 
- * FILL_VALUE_UNDEFINED    = H5D_FILL_VALUE_UNDEFINED
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_FILL_TIME_IFSET); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_TIME_IFSET, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":47
- * FILL_TIME_IFSET = H5D_FILL_TIME_IFSET
- * 
- * FILL_VALUE_UNDEFINED    = H5D_FILL_VALUE_UNDEFINED             # <<<<<<<<<<<<<<
- * FILL_VALUE_DEFAULT      = H5D_FILL_VALUE_DEFAULT
- * FILL_VALUE_USER_DEFINED = H5D_FILL_VALUE_USER_DEFINED
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_FILL_VALUE_UNDEFINED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_12, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":48
- * 
- * FILL_VALUE_UNDEFINED    = H5D_FILL_VALUE_UNDEFINED
- * FILL_VALUE_DEFAULT      = H5D_FILL_VALUE_DEFAULT             # <<<<<<<<<<<<<<
- * FILL_VALUE_USER_DEFINED = H5D_FILL_VALUE_USER_DEFINED
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_FILL_VALUE_DEFAULT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILL_VALUE_DEFAULT, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":49
- * FILL_VALUE_UNDEFINED    = H5D_FILL_VALUE_UNDEFINED
- * FILL_VALUE_DEFAULT      = H5D_FILL_VALUE_DEFAULT
- * FILL_VALUE_USER_DEFINED = H5D_FILL_VALUE_USER_DEFINED             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5D_FILL_VALUE_USER_DEFINED); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_13, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":54
- * # === Dataset operations ======================================================
- * 
- * def create(ObjectID loc not None, object name, TypeID tid not None,             # <<<<<<<<<<<<<<
- *                SpaceID space not None, PropID dcpl=None, PropID lcpl=None, PropID dapl = None):
- *         """ (objectID loc, STRING name or None, TypeID tid, SpaceID space,
- */
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5d_1create, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":75
- *         return DatasetID.open(dsid)
- * 
- * def open(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """ (ObjectID loc, STRING name) => DatasetID
- * 
- */
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5d_3open, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5d.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_8 = PyDict_New(); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_8));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_8)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5d", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5d");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_dealloc != current_tp_dealloc)
-        type = type->tp_base;
-    while (type && type->tp_dealloc == current_tp_dealloc)
-        type = type->tp_base;
-    if (type)
-        type->tp_dealloc(obj);
-}
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_traverse != current_tp_traverse)
-        type = type->tp_base;
-    while (type && type->tp_traverse == current_tp_traverse)
-        type = type->tp_base;
-    if (type && type->tp_traverse)
-        return type->tp_traverse(obj, v, a);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_clear != current_tp_clear)
-        type = type->tp_base;
-    while (type && type->tp_clear == current_tp_clear)
-        type = type->tp_base;
-    if (type && type->tp_clear)
-        type->tp_clear(obj);
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_haddr_t(haddr_t val) {
-    const haddr_t neg_one = (haddr_t)-1, const_zero = (haddr_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(haddr_t) == sizeof(char))  ||
-        (sizeof(haddr_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(haddr_t) == sizeof(int)) ||
-               (sizeof(haddr_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(haddr_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(haddr_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-static void* __Pyx_GetVtable(PyObject *dict) {
-    void* ptr;
-    PyObject *ob = PyMapping_GetItemString(dict, (char *)"__pyx_vtable__");
-    if (!ob)
-        goto bad;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    ptr = PyCapsule_GetPointer(ob, 0);
-#else
-    ptr = PyCObject_AsVoidPtr(ob);
-#endif
-    if (!ptr && !PyErr_Occurred())
-        PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
-    Py_DECREF(ob);
-    return ptr;
-bad:
-    Py_XDECREF(ob);
-    return NULL;
-}
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5d.pyx b/h5py/h5d.pyx
index 79a7e99..b15013b 100644
--- a/h5py/h5d.pyx
+++ b/h5py/h5d.pyx
@@ -21,6 +21,7 @@ from h5p cimport PropID, propwrap
 from _proxy cimport dset_rw
 
 from h5py import _objects
+from ._objects import phil, with_phil
 
 # Initialization
 import_array()
@@ -51,6 +52,7 @@ FILL_VALUE_USER_DEFINED = H5D_FILL_VALUE_USER_DEFINED
 
 # === Dataset operations ======================================================
 
+ at with_phil
 def create(ObjectID loc not None, object name, TypeID tid not None,
                SpaceID space not None, PropID dcpl=None, PropID lcpl=None, PropID dapl = None):
         """ (objectID loc, STRING name or None, TypeID tid, SpaceID space,
@@ -70,14 +72,17 @@ def create(ObjectID loc not None, object name, TypeID tid not None,
         else:
             dsid = H5Dcreate_anon(loc.id, tid.id, space.id,
                      pdefault(dcpl), pdefault(dapl))
-        return DatasetID.open(dsid)
+        return DatasetID(dsid)
 
-def open(ObjectID loc not None, char* name):
-    """ (ObjectID loc, STRING name) => DatasetID
+ at with_phil
+def open(ObjectID loc not None, char* name, PropID dapl=None):
+    """ (ObjectID loc, STRING name, PropID dapl=None) => DatasetID
 
-        Open an existing dataset attached to a group or file object, by name.
+    Open an existing dataset attached to a group or file object, by name.
+
+    If specified, dapl may be a dataset access property list.
     """
-    return DatasetID.open(H5Dopen(loc.id, name))
+    return DatasetID(H5Dopen2(loc.id, name, pdefault(dapl)))
 
 # --- Proxy functions for safe(r) threading -----------------------------------
 
@@ -106,40 +111,31 @@ cdef class DatasetID(ObjectID):
         def __get__(self):
             # Dataset type can't change
             cdef TypeID tid
-            if self._dtype is None:
-                tid = self.get_type()
-                self._dtype = tid.dtype
-            return self._dtype
+            with phil:
+                if self._dtype is None:
+                    tid = self.get_type()
+                    self._dtype = tid.dtype
+                return self._dtype
 
     property shape:
         """ Numpy-style shape tuple representing the dataspace """
         def __get__(self):
             # Shape can change (DatasetID.extend), so don't cache it
             cdef SpaceID sid
-            sid = self.get_space()
-            return sid.get_simple_extent_dims()
+            with phil:
+                sid = self.get_space()
+                return sid.get_simple_extent_dims()
 
     property rank:
         """ Integer giving the dataset rank (0 = scalar) """
         def __get__(self):
             cdef SpaceID sid
-            sid = self.get_space()
-            return sid.get_simple_extent_ndims()
-
-
-    def _close(self):
-        """ ()
-
-            Terminate access through this identifier.  You shouldn't have to
-            call this manually; Dataset objects are automatically destroyed
-            when their Python wrappers are freed.
-        """
-        with _objects.registry.lock:
-            H5Dclose(self.id)
-            if not self.valid:
-                del _objects.registry[self.id]
+            with phil:
+                sid = self.get_space()
+                return sid.get_simple_extent_ndims()
 
 
+    @with_phil
     def read(self, SpaceID mspace not None, SpaceID fspace not None,
                    ndarray arr_obj not None, TypeID mtype=None,
                    PropID dxpl=None):
@@ -178,6 +174,8 @@ cdef class DatasetID(ObjectID):
 
         dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 1)
 
+
+    @with_phil
     def write(self, SpaceID mspace not None, SpaceID fspace not None,
                     ndarray arr_obj not None, TypeID mtype=None,
                     PropID dxpl=None):
@@ -216,6 +214,8 @@ cdef class DatasetID(ObjectID):
 
         dset_rw(self_id, mtype_id, mspace_id, fspace_id, plist_id, data, 0)
 
+
+    @with_phil
     def extend(self, tuple shape):
         """ (TUPLE shape)
 
@@ -244,6 +244,7 @@ cdef class DatasetID(ObjectID):
                 H5Sclose(space_id)
 
 
+    @with_phil
     def set_extent(self, tuple shape):
         """ (TUPLE shape)
 
@@ -272,15 +273,16 @@ cdef class DatasetID(ObjectID):
                 H5Sclose(space_id)
 
 
-
+    @with_phil
     def get_space(self):
         """ () => SpaceID
 
             Create and return a new copy of the dataspace for this dataset.
         """
-        return SpaceID.open(H5Dget_space(self.id))
+        return SpaceID(H5Dget_space(self.id))
 
 
+    @with_phil
     def get_space_status(self):
         """ () => INT space_status_code
 
@@ -296,6 +298,7 @@ cdef class DatasetID(ObjectID):
         return <int>status
 
 
+    @with_phil
     def get_type(self):
         """ () => TypeID
 
@@ -304,6 +307,7 @@ cdef class DatasetID(ObjectID):
         return typewrap(H5Dget_type(self.id))
 
 
+    @with_phil
     def get_create_plist(self):
         """ () => PropDCID
 
@@ -313,6 +317,16 @@ cdef class DatasetID(ObjectID):
         return propwrap(H5Dget_create_plist(self.id))
 
 
+    @with_phil
+    def get_access_plist(self):
+        """ () => PropDAID
+
+            Create an return a new copy of the dataset access property list.
+        """
+        return propwrap(H5Dget_access_plist(self.id))
+
+
+    @with_phil
     def get_offset(self):
         """ () => LONG offset or None
 
@@ -328,6 +342,7 @@ cdef class DatasetID(ObjectID):
         return offset
 
 
+    @with_phil
     def get_storage_size(self):
         """ () => LONG storage_size
 
diff --git a/h5py/h5ds.c b/h5py/h5ds.c
deleted file mode 100644
index 08cc3c1..0000000
--- a/h5py/h5ds.c
+++ /dev/null
@@ -1,4142 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5ds
-#define __PYX_HAVE_API__h5py__h5ds
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5ds.pyx",
-  "_objects.pxd",
-  "h5d.pxd",
-  "numpy.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5d_DatasetID;
-struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5d.pxd":14
- * from _objects cimport ObjectID
- * 
- * cdef class DatasetID(ObjectID):             # <<<<<<<<<<<<<<
- *     cdef object _dtype
- * 
- */
-struct __pyx_obj_4h5py_3h5d_DatasetID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  PyObject *_dtype;
-};
-
-
-/* "h5py/h5ds.pyx":83
- * 
- * 
- * cdef class _DimensionScaleVisitor:             # <<<<<<<<<<<<<<
- * 
- *     cdef object func
- */
-struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor {
-  PyObject_HEAD
-  PyObject *func;
-  PyObject *retval;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5DSattach_scale)(hid_t, hid_t, unsigned int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5DSdetach_scale)(hid_t, hid_t, unsigned int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5DSset_scale)(hid_t, char *); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5DSget_num_scales)(hid_t, unsigned int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5DSset_label)(hid_t, unsigned int, char *); /*proto*/
-static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_label)(hid_t, unsigned int, char *, size_t); /*proto*/
-static Py_ssize_t (*__pyx_f_4h5py_4defs_H5DSget_scale_name)(hid_t, char *, size_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5DSis_scale)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5DSiterate_scales)(hid_t, unsigned int, int *, H5DS_iterate_t, void *); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5DSis_attached)(hid_t, hid_t, unsigned int); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-
-/* Module declarations from 'h5py.h5d' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5d_DatasetID = 0;
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-
-/* Module declarations from 'h5py.h5ds' */
-static PyTypeObject *__pyx_ptype_4h5py_4h5ds__DimensionScaleVisitor = 0;
-static herr_t __pyx_f_4h5py_4h5ds_cb_ds_iter(hid_t, unsigned int, hid_t, void *); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5ds"
-int __pyx_module_is_main_h5py__h5ds = 0;
-
-/* Implementation of 'h5py.h5ds' */
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_pf_4h5py_4h5ds_set_scale(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, char *__pyx_v_dimname); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_2is_scale(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_4attach_scale(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale, unsigned int __pyx_v_idx); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_6is_attached(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale, unsigned int __pyx_v_idx); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_8detach_scale(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale, unsigned int __pyx_v_idx); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_10get_num_scales(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, unsigned int __pyx_v_dim); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_12set_label(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, unsigned int __pyx_v_idx, char *__pyx_v_label); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_14get_label(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, unsigned int __pyx_v_idx); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_16get_scale_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale); /* proto */
-static int __pyx_pf_4h5py_4h5ds_22_DimensionScaleVisitor___init__(struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
-static PyObject *__pyx_pf_4h5py_4h5ds_18iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, unsigned int __pyx_v_dim, PyObject *__pyx_v_func, int __pyx_v_startidx); /* proto */
-static char __pyx_k_1[] = "";
-static char __pyx_k_2[] = "Starting index must be non-negative";
-static char __pyx_k_4[] = "\n    Low-level HDF5 \"H5G\" group interface.\n";
-static char __pyx_k_7[] = "/home/computer/h5py/h5py/h5ds.pyx";
-static char __pyx_k_8[] = "h5py.h5ds";
-static char __pyx_k__i[] = "i";
-static char __pyx_k__dim[] = "dim";
-static char __pyx_k__idx[] = "idx";
-static char __pyx_k__vis[] = "vis";
-static char __pyx_k__dset[] = "dset";
-static char __pyx_k__func[] = "func";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__size[] = "size";
-static char __pyx_k__label[] = "label";
-static char __pyx_k__pname[] = "pname";
-static char __pyx_k__dscale[] = "dscale";
-static char __pyx_k__plabel[] = "plabel";
-static char __pyx_k__dimname[] = "dimname";
-static char __pyx_k__iterate[] = "iterate";
-static char __pyx_k__namelen[] = "namelen";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__is_scale[] = "is_scale";
-static char __pyx_k__startidx[] = "startidx";
-static char __pyx_k__get_label[] = "get_label";
-static char __pyx_k__set_label[] = "set_label";
-static char __pyx_k__set_scale[] = "set_scale";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__is_attached[] = "is_attached";
-static char __pyx_k__attach_scale[] = "attach_scale";
-static char __pyx_k__detach_scale[] = "detach_scale";
-static char __pyx_k__get_num_scales[] = "get_num_scales";
-static char __pyx_k__get_scale_name[] = "get_scale_name";
-static PyObject *__pyx_kp_b_1;
-static PyObject *__pyx_kp_s_2;
-static PyObject *__pyx_kp_s_7;
-static PyObject *__pyx_n_s_8;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s__attach_scale;
-static PyObject *__pyx_n_s__detach_scale;
-static PyObject *__pyx_n_s__dim;
-static PyObject *__pyx_n_s__dimname;
-static PyObject *__pyx_n_s__dscale;
-static PyObject *__pyx_n_s__dset;
-static PyObject *__pyx_n_s__func;
-static PyObject *__pyx_n_s__get_label;
-static PyObject *__pyx_n_s__get_num_scales;
-static PyObject *__pyx_n_s__get_scale_name;
-static PyObject *__pyx_n_s__i;
-static PyObject *__pyx_n_s__idx;
-static PyObject *__pyx_n_s__is_attached;
-static PyObject *__pyx_n_s__is_scale;
-static PyObject *__pyx_n_s__iterate;
-static PyObject *__pyx_n_s__label;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__namelen;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__plabel;
-static PyObject *__pyx_n_s__pname;
-static PyObject *__pyx_n_s__set_label;
-static PyObject *__pyx_n_s__set_scale;
-static PyObject *__pyx_n_s__size;
-static PyObject *__pyx_n_s__startidx;
-static PyObject *__pyx_n_s__vis;
-static PyObject *__pyx_k_tuple_3;
-static PyObject *__pyx_k_tuple_5;
-static PyObject *__pyx_k_tuple_9;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_tuple_13;
-static PyObject *__pyx_k_tuple_15;
-static PyObject *__pyx_k_tuple_17;
-static PyObject *__pyx_k_tuple_19;
-static PyObject *__pyx_k_tuple_21;
-static PyObject *__pyx_k_tuple_23;
-static PyObject *__pyx_k_tuple_25;
-static PyObject *__pyx_k_codeobj_6;
-static PyObject *__pyx_k_codeobj_10;
-static PyObject *__pyx_k_codeobj_12;
-static PyObject *__pyx_k_codeobj_14;
-static PyObject *__pyx_k_codeobj_16;
-static PyObject *__pyx_k_codeobj_18;
-static PyObject *__pyx_k_codeobj_20;
-static PyObject *__pyx_k_codeobj_22;
-static PyObject *__pyx_k_codeobj_24;
-static PyObject *__pyx_k_codeobj_26;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_1set_scale(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_4h5ds_set_scale[] = "(DatasetID dset, STRING dimname)\n\n    Convert dataset dset to a dimension scale, with optional name dimname.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_1set_scale = {__Pyx_NAMESTR("set_scale"), (PyCFunction)__pyx_pw_4h5py_4h5ds_1set_scale, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_4h5ds_set_scale)};
-static PyObject *__pyx_pw_4h5py_4h5ds_1set_scale(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset = 0;
-  char *__pyx_v_dimname;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_scale (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dset,&__pyx_n_s__dimname,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dset)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dimname);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_scale") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_dset = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[0]);
-    if (values[1]) {
-      __pyx_v_dimname = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_dimname) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_dimname = ((char *)__pyx_k_1);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_scale", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds.set_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_set_scale(__pyx_self, __pyx_v_dset, __pyx_v_dimname);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":19
- * 
- * 
- * def set_scale(DatasetID dset not None, char* dimname=''):             # <<<<<<<<<<<<<<
- *     """(DatasetID dset, STRING dimname)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_set_scale(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, char *__pyx_v_dimname) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_scale", 0);
-
-  /* "h5py/h5ds.pyx":24
- *     Convert dataset dset to a dimension scale, with optional name dimname.
- *     """
- *     H5DSset_scale(dset.id, dimname)             # <<<<<<<<<<<<<<
- * 
- * def is_scale(DatasetID dset not None):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSset_scale(__pyx_v_dset->__pyx_base.id, __pyx_v_dimname); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5ds.set_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_3is_scale(PyObject *__pyx_self, PyObject *__pyx_v_dset); /*proto*/
-static char __pyx_doc_4h5py_4h5ds_2is_scale[] = "(DatasetID dset)\n\n    Determines whether dset is a dimension scale.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_3is_scale = {__Pyx_NAMESTR("is_scale"), (PyCFunction)__pyx_pw_4h5py_4h5ds_3is_scale, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_4h5ds_2is_scale)};
-static PyObject *__pyx_pw_4h5py_4h5ds_3is_scale(PyObject *__pyx_self, PyObject *__pyx_v_dset) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("is_scale (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_2is_scale(__pyx_self, ((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_dset));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":26
- *     H5DSset_scale(dset.id, dimname)
- * 
- * def is_scale(DatasetID dset not None):             # <<<<<<<<<<<<<<
- *     """(DatasetID dset)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_2is_scale(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("is_scale", 0);
-
-  /* "h5py/h5ds.pyx":31
- *     Determines whether dset is a dimension scale.
- *     """
- *     return <bint>(H5DSis_scale(dset.id))             # <<<<<<<<<<<<<<
- * 
- * def attach_scale(DatasetID dset not None, DatasetID dscale not None, unsigned
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSis_scale(__pyx_v_dset->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5ds.is_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_5attach_scale(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_5attach_scale = {__Pyx_NAMESTR("attach_scale"), (PyCFunction)__pyx_pw_4h5py_4h5ds_5attach_scale, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_4h5ds_5attach_scale(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset = 0;
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale = 0;
-  unsigned int __pyx_v_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("attach_scale (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dset,&__pyx_n_s__dscale,&__pyx_n_s__idx,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dset)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dscale)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("attach_scale", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__idx)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("attach_scale", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "attach_scale") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_dset = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[0]);
-    __pyx_v_dscale = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[1]);
-    __pyx_v_idx = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_idx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("attach_scale", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds.attach_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dscale), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dscale", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_4attach_scale(__pyx_self, __pyx_v_dset, __pyx_v_dscale, __pyx_v_idx);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":33
- *     return <bint>(H5DSis_scale(dset.id))
- * 
- * def attach_scale(DatasetID dset not None, DatasetID dscale not None, unsigned             # <<<<<<<<<<<<<<
- *                  int idx):
- *     H5DSattach_scale(dset.id, dscale.id, idx)
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_4attach_scale(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale, unsigned int __pyx_v_idx) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("attach_scale", 0);
-
-  /* "h5py/h5ds.pyx":35
- * def attach_scale(DatasetID dset not None, DatasetID dscale not None, unsigned
- *                  int idx):
- *     H5DSattach_scale(dset.id, dscale.id, idx)             # <<<<<<<<<<<<<<
- * 
- * def is_attached(DatasetID dset not None, DatasetID dscale not None,
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSattach_scale(__pyx_v_dset->__pyx_base.id, __pyx_v_dscale->__pyx_base.id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5ds.attach_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_7is_attached(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_7is_attached = {__Pyx_NAMESTR("is_attached"), (PyCFunction)__pyx_pw_4h5py_4h5ds_7is_attached, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_4h5ds_7is_attached(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset = 0;
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale = 0;
-  unsigned int __pyx_v_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("is_attached (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dset,&__pyx_n_s__dscale,&__pyx_n_s__idx,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dset)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dscale)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("is_attached", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__idx)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("is_attached", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "is_attached") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_dset = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[0]);
-    __pyx_v_dscale = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[1]);
-    __pyx_v_idx = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_idx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("is_attached", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds.is_attached", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dscale), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dscale", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_6is_attached(__pyx_self, __pyx_v_dset, __pyx_v_dscale, __pyx_v_idx);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":37
- *     H5DSattach_scale(dset.id, dscale.id, idx)
- * 
- * def is_attached(DatasetID dset not None, DatasetID dscale not None,             # <<<<<<<<<<<<<<
- *                 unsigned int idx):
- *     return <bint>(H5DSis_attached(dset.id, dscale.id, idx))
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_6is_attached(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale, unsigned int __pyx_v_idx) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("is_attached", 0);
-
-  /* "h5py/h5ds.pyx":39
- * def is_attached(DatasetID dset not None, DatasetID dscale not None,
- *                 unsigned int idx):
- *     return <bint>(H5DSis_attached(dset.id, dscale.id, idx))             # <<<<<<<<<<<<<<
- * 
- * def detach_scale(DatasetID dset not None, DatasetID dscale not None,
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSis_attached(__pyx_v_dset->__pyx_base.id, __pyx_v_dscale->__pyx_base.id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5ds.is_attached", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_9detach_scale(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_9detach_scale = {__Pyx_NAMESTR("detach_scale"), (PyCFunction)__pyx_pw_4h5py_4h5ds_9detach_scale, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_4h5ds_9detach_scale(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset = 0;
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale = 0;
-  unsigned int __pyx_v_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("detach_scale (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dset,&__pyx_n_s__dscale,&__pyx_n_s__idx,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dset)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dscale)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("detach_scale", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__idx)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("detach_scale", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "detach_scale") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_dset = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[0]);
-    __pyx_v_dscale = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[1]);
-    __pyx_v_idx = __Pyx_PyInt_AsUnsignedInt(values[2]); if (unlikely((__pyx_v_idx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("detach_scale", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds.detach_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dscale), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dscale", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_8detach_scale(__pyx_self, __pyx_v_dset, __pyx_v_dscale, __pyx_v_idx);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":41
- *     return <bint>(H5DSis_attached(dset.id, dscale.id, idx))
- * 
- * def detach_scale(DatasetID dset not None, DatasetID dscale not None,             # <<<<<<<<<<<<<<
- *                  unsigned int idx):
- *     H5DSdetach_scale(dset.id, dscale.id, idx)
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_8detach_scale(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale, unsigned int __pyx_v_idx) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("detach_scale", 0);
-
-  /* "h5py/h5ds.pyx":43
- * def detach_scale(DatasetID dset not None, DatasetID dscale not None,
- *                  unsigned int idx):
- *     H5DSdetach_scale(dset.id, dscale.id, idx)             # <<<<<<<<<<<<<<
- * 
- * def get_num_scales(DatasetID dset not None, unsigned int dim):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSdetach_scale(__pyx_v_dset->__pyx_base.id, __pyx_v_dscale->__pyx_base.id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5ds.detach_scale", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_11get_num_scales(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_11get_num_scales = {__Pyx_NAMESTR("get_num_scales"), (PyCFunction)__pyx_pw_4h5py_4h5ds_11get_num_scales, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_4h5ds_11get_num_scales(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset = 0;
-  unsigned int __pyx_v_dim;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_num_scales (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dset,&__pyx_n_s__dim,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dset)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dim)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("get_num_scales", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_num_scales") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_dset = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[0]);
-    __pyx_v_dim = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_dim == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_num_scales", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds.get_num_scales", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_10get_num_scales(__pyx_self, __pyx_v_dset, __pyx_v_dim);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":45
- *     H5DSdetach_scale(dset.id, dscale.id, idx)
- * 
- * def get_num_scales(DatasetID dset not None, unsigned int dim):             # <<<<<<<<<<<<<<
- *     return H5DSget_num_scales(dset.id, dim)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_10get_num_scales(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, unsigned int __pyx_v_dim) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_num_scales", 0);
-
-  /* "h5py/h5ds.pyx":46
- * 
- * def get_num_scales(DatasetID dset not None, unsigned int dim):
- *     return H5DSget_num_scales(dset.id, dim)             # <<<<<<<<<<<<<<
- * 
- * def set_label(DatasetID dset not None, unsigned int idx, char* label):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSget_num_scales(__pyx_v_dset->__pyx_base.id, __pyx_v_dim); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5ds.get_num_scales", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_13set_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_13set_label = {__Pyx_NAMESTR("set_label"), (PyCFunction)__pyx_pw_4h5py_4h5ds_13set_label, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_4h5ds_13set_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset = 0;
-  unsigned int __pyx_v_idx;
-  char *__pyx_v_label;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_label (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dset,&__pyx_n_s__idx,&__pyx_n_s__label,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dset)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__idx)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_label", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__label)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_label", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_label") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_dset = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[0]);
-    __pyx_v_idx = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_idx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_label = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_label) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_label", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds.set_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_12set_label(__pyx_self, __pyx_v_dset, __pyx_v_idx, __pyx_v_label);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":48
- *     return H5DSget_num_scales(dset.id, dim)
- * 
- * def set_label(DatasetID dset not None, unsigned int idx, char* label):             # <<<<<<<<<<<<<<
- *     H5DSset_label(dset.id, idx, label)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_12set_label(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, unsigned int __pyx_v_idx, char *__pyx_v_label) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_label", 0);
-
-  /* "h5py/h5ds.pyx":49
- * 
- * def set_label(DatasetID dset not None, unsigned int idx, char* label):
- *     H5DSset_label(dset.id, idx, label)             # <<<<<<<<<<<<<<
- * 
- * def get_label(DatasetID dset not None, unsigned int idx):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSset_label(__pyx_v_dset->__pyx_base.id, __pyx_v_idx, __pyx_v_label); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5ds.set_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_15get_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_15get_label = {__Pyx_NAMESTR("get_label"), (PyCFunction)__pyx_pw_4h5py_4h5ds_15get_label, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_4h5ds_15get_label(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset = 0;
-  unsigned int __pyx_v_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_label (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dset,&__pyx_n_s__idx,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dset)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__idx)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("get_label", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_label") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_dset = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[0]);
-    __pyx_v_idx = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_idx == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_label", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds.get_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_14get_label(__pyx_self, __pyx_v_dset, __pyx_v_idx);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":51
- *     H5DSset_label(dset.id, idx, label)
- * 
- * def get_label(DatasetID dset not None, unsigned int idx):             # <<<<<<<<<<<<<<
- *     cdef ssize_t size
- *     cdef char* label
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_14get_label(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, unsigned int __pyx_v_idx) {
-  Py_ssize_t __pyx_v_size;
-  char *__pyx_v_label;
-  char *__pyx_v_plabel;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  int __pyx_t_2;
-  void *__pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_label", 0);
-
-  /* "h5py/h5ds.pyx":54
- *     cdef ssize_t size
- *     cdef char* label
- *     label = NULL             # <<<<<<<<<<<<<<
- * 
- *     size = H5DSget_label(dset.id, idx, NULL, 0)
- */
-  __pyx_v_label = NULL;
-
-  /* "h5py/h5ds.pyx":56
- *     label = NULL
- * 
- *     size = H5DSget_label(dset.id, idx, NULL, 0)             # <<<<<<<<<<<<<<
- *     if size <= 0:
- *         return b''
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSget_label(__pyx_v_dset->__pyx_base.id, __pyx_v_idx, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_size = __pyx_t_1;
-
-  /* "h5py/h5ds.pyx":57
- * 
- *     size = H5DSget_label(dset.id, idx, NULL, 0)
- *     if size <= 0:             # <<<<<<<<<<<<<<
- *         return b''
- *     label = <char*>emalloc(sizeof(char)*(size+1))
- */
-  __pyx_t_2 = (__pyx_v_size <= 0);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5ds.pyx":58
- *     size = H5DSget_label(dset.id, idx, NULL, 0)
- *     if size <= 0:
- *         return b''             # <<<<<<<<<<<<<<
- *     label = <char*>emalloc(sizeof(char)*(size+1))
- *     try:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(((PyObject *)__pyx_kp_b_1));
-    __pyx_r = ((PyObject *)__pyx_kp_b_1);
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5ds.pyx":59
- *     if size <= 0:
- *         return b''
- *     label = <char*>emalloc(sizeof(char)*(size+1))             # <<<<<<<<<<<<<<
- *     try:
- *         H5DSget_label(dset.id, idx, label, size+1)
- */
-  __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_size + 1))); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_label = ((char *)__pyx_t_3);
-
-  /* "h5py/h5ds.pyx":60
- *         return b''
- *     label = <char*>emalloc(sizeof(char)*(size+1))
- *     try:             # <<<<<<<<<<<<<<
- *         H5DSget_label(dset.id, idx, label, size+1)
- *         plabel = label
- */
-  /*try:*/ {
-
-    /* "h5py/h5ds.pyx":61
- *     label = <char*>emalloc(sizeof(char)*(size+1))
- *     try:
- *         H5DSget_label(dset.id, idx, label, size+1)             # <<<<<<<<<<<<<<
- *         plabel = label
- *         return plabel
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSget_label(__pyx_v_dset->__pyx_base.id, __pyx_v_idx, __pyx_v_label, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L5;}
-
-    /* "h5py/h5ds.pyx":62
- *     try:
- *         H5DSget_label(dset.id, idx, label, size+1)
- *         plabel = label             # <<<<<<<<<<<<<<
- *         return plabel
- *     finally:
- */
-    __pyx_v_plabel = __pyx_v_label;
-
-    /* "h5py/h5ds.pyx":63
- *         H5DSget_label(dset.id, idx, label, size+1)
- *         plabel = label
- *         return plabel             # <<<<<<<<<<<<<<
- *     finally:
- *         efree(label)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = PyBytes_FromString(__pyx_v_plabel); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    __pyx_r = ((PyObject *)__pyx_t_4);
-    __pyx_t_4 = 0;
-    goto __pyx_L4;
-  }
-
-  /* "h5py/h5ds.pyx":65
- *         return plabel
- *     finally:
- *         efree(label)             # <<<<<<<<<<<<<<
- * 
- * def get_scale_name(DatasetID dscale not None):
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L6;
-    __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L6;
-    __pyx_L5: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_label);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5ds.get_label", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_17get_scale_name(PyObject *__pyx_self, PyObject *__pyx_v_dscale); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_17get_scale_name = {__Pyx_NAMESTR("get_scale_name"), (PyCFunction)__pyx_pw_4h5py_4h5ds_17get_scale_name, METH_O, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_4h5ds_17get_scale_name(PyObject *__pyx_self, PyObject *__pyx_v_dscale) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_scale_name (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dscale), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dscale", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_16get_scale_name(__pyx_self, ((struct __pyx_obj_4h5py_3h5d_DatasetID *)__pyx_v_dscale));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":67
- *         efree(label)
- * 
- * def get_scale_name(DatasetID dscale not None):             # <<<<<<<<<<<<<<
- *     cdef ssize_t namelen
- *     cdef char* name = NULL
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_16get_scale_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dscale) {
-  Py_ssize_t __pyx_v_namelen;
-  char *__pyx_v_name;
-  char *__pyx_v_pname;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  int __pyx_t_2;
-  void *__pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_scale_name", 0);
-
-  /* "h5py/h5ds.pyx":69
- * def get_scale_name(DatasetID dscale not None):
- *     cdef ssize_t namelen
- *     cdef char* name = NULL             # <<<<<<<<<<<<<<
- * 
- *     namelen = H5DSget_scale_name(dscale.id, NULL, 0)
- */
-  __pyx_v_name = NULL;
-
-  /* "h5py/h5ds.pyx":71
- *     cdef char* name = NULL
- * 
- *     namelen = H5DSget_scale_name(dscale.id, NULL, 0)             # <<<<<<<<<<<<<<
- *     if namelen <= 0:
- *         return b''
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSget_scale_name(__pyx_v_dscale->__pyx_base.id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_namelen = __pyx_t_1;
-
-  /* "h5py/h5ds.pyx":72
- * 
- *     namelen = H5DSget_scale_name(dscale.id, NULL, 0)
- *     if namelen <= 0:             # <<<<<<<<<<<<<<
- *         return b''
- *     name = <char*>emalloc(sizeof(char)*(namelen+1))
- */
-  __pyx_t_2 = (__pyx_v_namelen <= 0);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5ds.pyx":73
- *     namelen = H5DSget_scale_name(dscale.id, NULL, 0)
- *     if namelen <= 0:
- *         return b''             # <<<<<<<<<<<<<<
- *     name = <char*>emalloc(sizeof(char)*(namelen+1))
- *     try:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(((PyObject *)__pyx_kp_b_1));
-    __pyx_r = ((PyObject *)__pyx_kp_b_1);
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5ds.pyx":74
- *     if namelen <= 0:
- *         return b''
- *     name = <char*>emalloc(sizeof(char)*(namelen+1))             # <<<<<<<<<<<<<<
- *     try:
- *         H5DSget_scale_name(dscale.id, name, namelen+1)
- */
-  __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_namelen + 1))); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_name = ((char *)__pyx_t_3);
-
-  /* "h5py/h5ds.pyx":75
- *         return b''
- *     name = <char*>emalloc(sizeof(char)*(namelen+1))
- *     try:             # <<<<<<<<<<<<<<
- *         H5DSget_scale_name(dscale.id, name, namelen+1)
- *         pname = name
- */
-  /*try:*/ {
-
-    /* "h5py/h5ds.pyx":76
- *     name = <char*>emalloc(sizeof(char)*(namelen+1))
- *     try:
- *         H5DSget_scale_name(dscale.id, name, namelen+1)             # <<<<<<<<<<<<<<
- *         pname = name
- *         return pname
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5DSget_scale_name(__pyx_v_dscale->__pyx_base.id, __pyx_v_name, (__pyx_v_namelen + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L5;}
-
-    /* "h5py/h5ds.pyx":77
- *     try:
- *         H5DSget_scale_name(dscale.id, name, namelen+1)
- *         pname = name             # <<<<<<<<<<<<<<
- *         return pname
- *     finally:
- */
-    __pyx_v_pname = __pyx_v_name;
-
-    /* "h5py/h5ds.pyx":78
- *         H5DSget_scale_name(dscale.id, name, namelen+1)
- *         pname = name
- *         return pname             # <<<<<<<<<<<<<<
- *     finally:
- *         efree(name)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = PyBytes_FromString(__pyx_v_pname); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    __pyx_r = ((PyObject *)__pyx_t_4);
-    __pyx_t_4 = 0;
-    goto __pyx_L4;
-  }
-
-  /* "h5py/h5ds.pyx":80
- *         return pname
- *     finally:
- *         efree(name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L6;
-    __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L6;
-    __pyx_L5: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_name);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5ds.get_scale_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_4h5ds_22_DimensionScaleVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_4h5ds_22_DimensionScaleVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_func = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_func = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds._DimensionScaleVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_4h5ds_22_DimensionScaleVisitor___init__(((struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *)__pyx_v_self), __pyx_v_func);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":88
- *     cdef object retval
- * 
- *     def __init__(self, func):             # <<<<<<<<<<<<<<
- *         self.func = func
- *         self.retval = None
- */
-
-static int __pyx_pf_4h5py_4h5ds_22_DimensionScaleVisitor___init__(struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *__pyx_v_self, PyObject *__pyx_v_func) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5ds.pyx":89
- * 
- *     def __init__(self, func):
- *         self.func = func             # <<<<<<<<<<<<<<
- *         self.retval = None
- * 
- */
-  __Pyx_INCREF(__pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __Pyx_GOTREF(__pyx_v_self->func);
-  __Pyx_DECREF(__pyx_v_self->func);
-  __pyx_v_self->func = __pyx_v_func;
-
-  /* "h5py/h5ds.pyx":90
- *     def __init__(self, func):
- *         self.func = func
- *         self.retval = None             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __Pyx_GOTREF(__pyx_v_self->retval);
-  __Pyx_DECREF(__pyx_v_self->retval);
-  __pyx_v_self->retval = Py_None;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":93
- * 
- * 
- * cdef herr_t cb_ds_iter(hid_t dset, unsigned int dim, hid_t scale, void* vis_in) except 2:             # <<<<<<<<<<<<<<
- * 
- *     cdef _DimensionScaleVisitor vis = <_DimensionScaleVisitor>vis_in
- */
-
-static herr_t __pyx_f_4h5py_4h5ds_cb_ds_iter(CYTHON_UNUSED hid_t __pyx_v_dset, CYTHON_UNUSED unsigned int __pyx_v_dim, hid_t __pyx_v_scale, void *__pyx_v_vis_in) {
-  struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *__pyx_v_vis = 0;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cb_ds_iter", 0);
-
-  /* "h5py/h5ds.pyx":95
- * cdef herr_t cb_ds_iter(hid_t dset, unsigned int dim, hid_t scale, void* vis_in) except 2:
- * 
- *     cdef _DimensionScaleVisitor vis = <_DimensionScaleVisitor>vis_in             # <<<<<<<<<<<<<<
- * 
- *     # we did not retrieve the scale identifier using the normal machinery,
- */
-  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *)__pyx_v_vis_in)));
-  __pyx_v_vis = ((struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *)__pyx_v_vis_in);
-
-  /* "h5py/h5ds.pyx":99
- *     # we did not retrieve the scale identifier using the normal machinery,
- *     # so we need to inc_ref it before using it to create a DatasetID.
- *     H5Iinc_ref(scale)             # <<<<<<<<<<<<<<
- *     vis.retval = vis.func(DatasetID.open(scale))
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Iinc_ref(__pyx_v_scale); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":100
- *     # so we need to inc_ref it before using it to create a DatasetID.
- *     H5Iinc_ref(scale)
- *     vis.retval = vis.func(DatasetID.open(scale))             # <<<<<<<<<<<<<<
- * 
- *     if vis.retval is not None:
- */
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5d_DatasetID)), __pyx_n_s__open); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_scale); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_v_vis->func, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __Pyx_GIVEREF(__pyx_t_3);
-  __Pyx_GOTREF(__pyx_v_vis->retval);
-  __Pyx_DECREF(__pyx_v_vis->retval);
-  __pyx_v_vis->retval = __pyx_t_3;
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":102
- *     vis.retval = vis.func(DatasetID.open(scale))
- * 
- *     if vis.retval is not None:             # <<<<<<<<<<<<<<
- *         return 1
- *     return 0
- */
-  __pyx_t_5 = (__pyx_v_vis->retval != Py_None);
-  if (__pyx_t_5) {
-
-    /* "h5py/h5ds.pyx":103
- * 
- *     if vis.retval is not None:
- *         return 1             # <<<<<<<<<<<<<<
- *     return 0
- * 
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5ds.pyx":104
- *     if vis.retval is not None:
- *         return 1
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5ds.cb_ds_iter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 2;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_vis);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_4h5ds_19iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_4h5ds_18iterate[] = " (DatasetID loc, UINT dim, CALLABLE func, UINT startidx=0)\n    => Return value from func\n\n    Iterate a callable (function, method or callable object) over the\n    members of a group.  Your callable shoutld have the signature::\n\n        func(STRING name) => Result\n\n    Returning None continues iteration; returning anything else aborts\n    iteration and returns that value. Keywords:\n    ";
-static PyMethodDef __pyx_mdef_4h5py_4h5ds_19iterate = {__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pw_4h5py_4h5ds_19iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_4h5ds_18iterate)};
-static PyObject *__pyx_pw_4h5py_4h5ds_19iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset = 0;
-  unsigned int __pyx_v_dim;
-  PyObject *__pyx_v_func = 0;
-  int __pyx_v_startidx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("iterate (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dset,&__pyx_n_s__dim,&__pyx_n_s__func,&__pyx_n_s__startidx,0};
-    PyObject* values[4] = {0,0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dset)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dim)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("iterate", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("iterate", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__startidx);
-          if (value) { values[3] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_dset = ((struct __pyx_obj_4h5py_3h5d_DatasetID *)values[0]);
-    __pyx_v_dim = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_dim == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_func = values[2];
-    if (values[3]) {
-      __pyx_v_startidx = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_startidx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_startidx = ((int)0);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("iterate", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5ds.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dset), __pyx_ptype_4h5py_3h5d_DatasetID, 0, "dset", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_4h5ds_18iterate(__pyx_self, __pyx_v_dset, __pyx_v_dim, __pyx_v_func, __pyx_v_startidx);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5ds.pyx":107
- * 
- * 
- * def iterate(DatasetID dset not None, unsigned int dim, object func,             # <<<<<<<<<<<<<<
- *             int startidx=0):
- *     """ (DatasetID loc, UINT dim, CALLABLE func, UINT startidx=0)
- */
-
-static PyObject *__pyx_pf_4h5py_4h5ds_18iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5d_DatasetID *__pyx_v_dset, unsigned int __pyx_v_dim, PyObject *__pyx_v_func, int __pyx_v_startidx) {
-  int __pyx_v_i;
-  struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *__pyx_v_vis = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  herr_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("iterate", 0);
-
-  /* "h5py/h5ds.pyx":120
- *     iteration and returns that value. Keywords:
- *     """
- *     if startidx < 0:             # <<<<<<<<<<<<<<
- *         raise ValueError("Starting index must be non-negative")
- * 
- */
-  __pyx_t_1 = (__pyx_v_startidx < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5ds.pyx":121
- *     """
- *     if startidx < 0:
- *         raise ValueError("Starting index must be non-negative")             # <<<<<<<<<<<<<<
- * 
- *     cdef int i = startidx
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5ds.pyx":123
- *         raise ValueError("Starting index must be non-negative")
- * 
- *     cdef int i = startidx             # <<<<<<<<<<<<<<
- *     cdef _DimensionScaleVisitor vis = _DimensionScaleVisitor(func)
- * 
- */
-  __pyx_v_i = __pyx_v_startidx;
-
-  /* "h5py/h5ds.pyx":124
- * 
- *     cdef int i = startidx
- *     cdef _DimensionScaleVisitor vis = _DimensionScaleVisitor(func)             # <<<<<<<<<<<<<<
- * 
- *     H5DSiterate_scales(dset.id, dim, &i, <H5DS_iterate_t>cb_ds_iter, <void*>vis)
- */
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(__pyx_v_func);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_4h5ds__DimensionScaleVisitor)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_v_vis = ((struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *)__pyx_t_3);
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":126
- *     cdef _DimensionScaleVisitor vis = _DimensionScaleVisitor(func)
- * 
- *     H5DSiterate_scales(dset.id, dim, &i, <H5DS_iterate_t>cb_ds_iter, <void*>vis)             # <<<<<<<<<<<<<<
- * 
- *     return vis.retval
- */
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5DSiterate_scales(__pyx_v_dset->__pyx_base.id, __pyx_v_dim, (&__pyx_v_i), ((H5DS_iterate_t)__pyx_f_4h5py_4h5ds_cb_ds_iter), ((void *)__pyx_v_vis)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":128
- *     H5DSiterate_scales(dset.id, dim, &i, <H5DS_iterate_t>cb_ds_iter, <void*>vis)
- * 
- *     return vis.retval             # <<<<<<<<<<<<<<
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_vis->retval);
-  __pyx_r = __pyx_v_vis->retval;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5ds.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_vis);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_4h5ds__DimensionScaleVisitor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *)o);
-  p->func = Py_None; Py_INCREF(Py_None);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_4h5ds__DimensionScaleVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *p = (struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->func);
-  Py_CLEAR(p->retval);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_4h5ds__DimensionScaleVisitor(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *p = (struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *)o;
-  if (p->func) {
-    e = (*v)(p->func, a); if (e) return e;
-  }
-  if (p->retval) {
-    e = (*v)(p->retval, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_4h5ds__DimensionScaleVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *p = (struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->func);
-  p->func = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->retval);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyMethodDef __pyx_methods_4h5py_4h5ds__DimensionScaleVisitor[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__DimensionScaleVisitor = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__DimensionScaleVisitor = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__DimensionScaleVisitor = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__DimensionScaleVisitor = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_4h5ds__DimensionScaleVisitor = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5ds._DimensionScaleVisitor"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_4h5ds__DimensionScaleVisitor), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_4h5ds__DimensionScaleVisitor, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__DimensionScaleVisitor, /*tp_as_number*/
-  &__pyx_tp_as_sequence__DimensionScaleVisitor, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__DimensionScaleVisitor, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__DimensionScaleVisitor, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  0, /*tp_doc*/
-  __pyx_tp_traverse_4h5py_4h5ds__DimensionScaleVisitor, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_4h5ds__DimensionScaleVisitor, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_4h5ds__DimensionScaleVisitor, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_4h5ds_22_DimensionScaleVisitor_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_4h5ds__DimensionScaleVisitor, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5ds"),
-    __Pyx_DOCSTR(__pyx_k_4), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_b_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 0, 0},
-  {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0},
-  {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0},
-  {&__pyx_n_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s__attach_scale, __pyx_k__attach_scale, sizeof(__pyx_k__attach_scale), 0, 0, 1, 1},
-  {&__pyx_n_s__detach_scale, __pyx_k__detach_scale, sizeof(__pyx_k__detach_scale), 0, 0, 1, 1},
-  {&__pyx_n_s__dim, __pyx_k__dim, sizeof(__pyx_k__dim), 0, 0, 1, 1},
-  {&__pyx_n_s__dimname, __pyx_k__dimname, sizeof(__pyx_k__dimname), 0, 0, 1, 1},
-  {&__pyx_n_s__dscale, __pyx_k__dscale, sizeof(__pyx_k__dscale), 0, 0, 1, 1},
-  {&__pyx_n_s__dset, __pyx_k__dset, sizeof(__pyx_k__dset), 0, 0, 1, 1},
-  {&__pyx_n_s__func, __pyx_k__func, sizeof(__pyx_k__func), 0, 0, 1, 1},
-  {&__pyx_n_s__get_label, __pyx_k__get_label, sizeof(__pyx_k__get_label), 0, 0, 1, 1},
-  {&__pyx_n_s__get_num_scales, __pyx_k__get_num_scales, sizeof(__pyx_k__get_num_scales), 0, 0, 1, 1},
-  {&__pyx_n_s__get_scale_name, __pyx_k__get_scale_name, sizeof(__pyx_k__get_scale_name), 0, 0, 1, 1},
-  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
-  {&__pyx_n_s__idx, __pyx_k__idx, sizeof(__pyx_k__idx), 0, 0, 1, 1},
-  {&__pyx_n_s__is_attached, __pyx_k__is_attached, sizeof(__pyx_k__is_attached), 0, 0, 1, 1},
-  {&__pyx_n_s__is_scale, __pyx_k__is_scale, sizeof(__pyx_k__is_scale), 0, 0, 1, 1},
-  {&__pyx_n_s__iterate, __pyx_k__iterate, sizeof(__pyx_k__iterate), 0, 0, 1, 1},
-  {&__pyx_n_s__label, __pyx_k__label, sizeof(__pyx_k__label), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__namelen, __pyx_k__namelen, sizeof(__pyx_k__namelen), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__plabel, __pyx_k__plabel, sizeof(__pyx_k__plabel), 0, 0, 1, 1},
-  {&__pyx_n_s__pname, __pyx_k__pname, sizeof(__pyx_k__pname), 0, 0, 1, 1},
-  {&__pyx_n_s__set_label, __pyx_k__set_label, sizeof(__pyx_k__set_label), 0, 0, 1, 1},
-  {&__pyx_n_s__set_scale, __pyx_k__set_scale, sizeof(__pyx_k__set_scale), 0, 0, 1, 1},
-  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
-  {&__pyx_n_s__startidx, __pyx_k__startidx, sizeof(__pyx_k__startidx), 0, 0, 1, 1},
-  {&__pyx_n_s__vis, __pyx_k__vis, sizeof(__pyx_k__vis), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5ds.pyx":121
- *     """
- *     if startidx < 0:
- *         raise ValueError("Starting index must be non-negative")             # <<<<<<<<<<<<<<
- * 
- *     cdef int i = startidx
- */
-  __pyx_k_tuple_3 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_2)); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_3);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-
-  /* "h5py/h5ds.pyx":19
- * 
- * 
- * def set_scale(DatasetID dset not None, char* dimname=''):             # <<<<<<<<<<<<<<
- *     """(DatasetID dset, STRING dimname)
- * 
- */
-  __pyx_k_tuple_5 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__dset), ((PyObject *)__pyx_n_s__dimname)); if (unlikely(!__pyx_k_tuple_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_5);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_5));
-  __pyx_k_codeobj_6 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_5, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__set_scale, 19, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":26
- *     H5DSset_scale(dset.id, dimname)
- * 
- * def is_scale(DatasetID dset not None):             # <<<<<<<<<<<<<<
- *     """(DatasetID dset)
- * 
- */
-  __pyx_k_tuple_9 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__dset)); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_9);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));
-  __pyx_k_codeobj_10 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__is_scale, 26, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":33
- *     return <bint>(H5DSis_scale(dset.id))
- * 
- * def attach_scale(DatasetID dset not None, DatasetID dscale not None, unsigned             # <<<<<<<<<<<<<<
- *                  int idx):
- *     H5DSattach_scale(dset.id, dscale.id, idx)
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__dset), ((PyObject *)__pyx_n_s__dscale), ((PyObject *)__pyx_n_s__idx)); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-  __pyx_k_codeobj_12 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__attach_scale, 33, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":37
- *     H5DSattach_scale(dset.id, dscale.id, idx)
- * 
- * def is_attached(DatasetID dset not None, DatasetID dscale not None,             # <<<<<<<<<<<<<<
- *                 unsigned int idx):
- *     return <bint>(H5DSis_attached(dset.id, dscale.id, idx))
- */
-  __pyx_k_tuple_13 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__dset), ((PyObject *)__pyx_n_s__dscale), ((PyObject *)__pyx_n_s__idx)); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_13);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_13));
-  __pyx_k_codeobj_14 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__is_attached, 37, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":41
- *     return <bint>(H5DSis_attached(dset.id, dscale.id, idx))
- * 
- * def detach_scale(DatasetID dset not None, DatasetID dscale not None,             # <<<<<<<<<<<<<<
- *                  unsigned int idx):
- *     H5DSdetach_scale(dset.id, dscale.id, idx)
- */
-  __pyx_k_tuple_15 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__dset), ((PyObject *)__pyx_n_s__dscale), ((PyObject *)__pyx_n_s__idx)); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_15);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
-  __pyx_k_codeobj_16 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__detach_scale, 41, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":45
- *     H5DSdetach_scale(dset.id, dscale.id, idx)
- * 
- * def get_num_scales(DatasetID dset not None, unsigned int dim):             # <<<<<<<<<<<<<<
- *     return H5DSget_num_scales(dset.id, dim)
- * 
- */
-  __pyx_k_tuple_17 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__dset), ((PyObject *)__pyx_n_s__dim)); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_17);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));
-  __pyx_k_codeobj_18 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__get_num_scales, 45, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":48
- *     return H5DSget_num_scales(dset.id, dim)
- * 
- * def set_label(DatasetID dset not None, unsigned int idx, char* label):             # <<<<<<<<<<<<<<
- *     H5DSset_label(dset.id, idx, label)
- * 
- */
-  __pyx_k_tuple_19 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__dset), ((PyObject *)__pyx_n_s__idx), ((PyObject *)__pyx_n_s__label)); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_19);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));
-  __pyx_k_codeobj_20 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__set_label, 48, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":51
- *     H5DSset_label(dset.id, idx, label)
- * 
- * def get_label(DatasetID dset not None, unsigned int idx):             # <<<<<<<<<<<<<<
- *     cdef ssize_t size
- *     cdef char* label
- */
-  __pyx_k_tuple_21 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__dset), ((PyObject *)__pyx_n_s__idx), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__label), ((PyObject *)__pyx_n_s__plabel)); if (unlikely(!__pyx_k_tuple_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_21);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_21));
-  __pyx_k_codeobj_22 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__get_label, 51, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":67
- *         efree(label)
- * 
- * def get_scale_name(DatasetID dscale not None):             # <<<<<<<<<<<<<<
- *     cdef ssize_t namelen
- *     cdef char* name = NULL
- */
-  __pyx_k_tuple_23 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__dscale), ((PyObject *)__pyx_n_s__namelen), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__pname)); if (unlikely(!__pyx_k_tuple_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_23);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_23));
-  __pyx_k_codeobj_24 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__get_scale_name, 67, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5ds.pyx":107
- * 
- * 
- * def iterate(DatasetID dset not None, unsigned int dim, object func,             # <<<<<<<<<<<<<<
- *             int startidx=0):
- *     """ (DatasetID loc, UINT dim, CALLABLE func, UINT startidx=0)
- */
-  __pyx_k_tuple_25 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__dset), ((PyObject *)__pyx_n_s__dim), ((PyObject *)__pyx_n_s__func), ((PyObject *)__pyx_n_s__startidx), ((PyObject *)__pyx_n_s__i), ((PyObject *)__pyx_n_s__vis)); if (unlikely(!__pyx_k_tuple_25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_25);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_25));
-  __pyx_k_codeobj_26 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_7, __pyx_n_s__iterate, 107, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5ds(void); /*proto*/
-PyMODINIT_FUNC inith5ds(void)
-#else
-PyMODINIT_FUNC PyInit_h5ds(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5ds(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5ds(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5ds"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_4), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5ds")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5ds", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5ds) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_4h5py_4h5ds__DimensionScaleVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_DimensionScaleVisitor", (PyObject *)&__pyx_type_4h5py_4h5ds__DimensionScaleVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_4h5ds__DimensionScaleVisitor = &__pyx_type_4h5py_4h5ds__DimensionScaleVisitor;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5d_DatasetID = __Pyx_ImportType("h5py.h5d", "DatasetID", sizeof(struct __pyx_obj_4h5py_3h5d_DatasetID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5d_DatasetID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSattach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSattach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSdetach_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSdetach_scale, "herr_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_scale, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_num_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_num_scales, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSset_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSset_label, "herr_t (hid_t, unsigned int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_label", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_label, "Py_ssize_t (hid_t, unsigned int, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSget_scale_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSget_scale_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_scale", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_scale, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSiterate_scales", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSiterate_scales, "herr_t (hid_t, unsigned int, int *, H5DS_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5DSis_attached", (void (**)(void))&__pyx_f_4h5py_4defs_H5DSis_attached, "htri_t (hid_t, hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5ds.pyx":19
- * 
- * 
- * def set_scale(DatasetID dset not None, char* dimname=''):             # <<<<<<<<<<<<<<
- *     """(DatasetID dset, STRING dimname)
- * 
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_1set_scale, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__set_scale, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":26
- *     H5DSset_scale(dset.id, dimname)
- * 
- * def is_scale(DatasetID dset not None):             # <<<<<<<<<<<<<<
- *     """(DatasetID dset)
- * 
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_3is_scale, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__is_scale, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":33
- *     return <bint>(H5DSis_scale(dset.id))
- * 
- * def attach_scale(DatasetID dset not None, DatasetID dscale not None, unsigned             # <<<<<<<<<<<<<<
- *                  int idx):
- *     H5DSattach_scale(dset.id, dscale.id, idx)
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_5attach_scale, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__attach_scale, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":37
- *     H5DSattach_scale(dset.id, dscale.id, idx)
- * 
- * def is_attached(DatasetID dset not None, DatasetID dscale not None,             # <<<<<<<<<<<<<<
- *                 unsigned int idx):
- *     return <bint>(H5DSis_attached(dset.id, dscale.id, idx))
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_7is_attached, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__is_attached, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":41
- *     return <bint>(H5DSis_attached(dset.id, dscale.id, idx))
- * 
- * def detach_scale(DatasetID dset not None, DatasetID dscale not None,             # <<<<<<<<<<<<<<
- *                  unsigned int idx):
- *     H5DSdetach_scale(dset.id, dscale.id, idx)
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_9detach_scale, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__detach_scale, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":45
- *     H5DSdetach_scale(dset.id, dscale.id, idx)
- * 
- * def get_num_scales(DatasetID dset not None, unsigned int dim):             # <<<<<<<<<<<<<<
- *     return H5DSget_num_scales(dset.id, dim)
- * 
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_11get_num_scales, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_num_scales, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":48
- *     return H5DSget_num_scales(dset.id, dim)
- * 
- * def set_label(DatasetID dset not None, unsigned int idx, char* label):             # <<<<<<<<<<<<<<
- *     H5DSset_label(dset.id, idx, label)
- * 
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_13set_label, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__set_label, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":51
- *     H5DSset_label(dset.id, idx, label)
- * 
- * def get_label(DatasetID dset not None, unsigned int idx):             # <<<<<<<<<<<<<<
- *     cdef ssize_t size
- *     cdef char* label
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_15get_label, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_label, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":67
- *         efree(label)
- * 
- * def get_scale_name(DatasetID dscale not None):             # <<<<<<<<<<<<<<
- *     cdef ssize_t namelen
- *     cdef char* name = NULL
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_17get_scale_name, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_scale_name, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":107
- * 
- * 
- * def iterate(DatasetID dset not None, unsigned int dim, object func,             # <<<<<<<<<<<<<<
- *             int startidx=0):
- *     """ (DatasetID loc, UINT dim, CALLABLE func, UINT startidx=0)
- */
-  __pyx_t_3 = PyCFunction_NewEx(&__pyx_mdef_4h5py_4h5ds_19iterate, NULL, __pyx_n_s_8); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__iterate, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-  /* "h5py/h5ds.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_3)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5ds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5ds");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5ds.pyx b/h5py/h5ds.pyx
index e94881b..1f612c4 100644
--- a/h5py/h5ds.pyx
+++ b/h5py/h5ds.pyx
@@ -15,7 +15,9 @@
 from h5d cimport DatasetID
 from utils cimport emalloc, efree
 
+from ._objects import phil, with_phil
 
+ at with_phil
 def set_scale(DatasetID dset not None, char* dimname=''):
     """(DatasetID dset, STRING dimname)
 
@@ -23,6 +25,7 @@ def set_scale(DatasetID dset not None, char* dimname=''):
     """
     H5DSset_scale(dset.id, dimname)
 
+ at with_phil
 def is_scale(DatasetID dset not None):
     """(DatasetID dset)
 
@@ -30,24 +33,30 @@ def is_scale(DatasetID dset not None):
     """
     return <bint>(H5DSis_scale(dset.id))
 
+ at with_phil
 def attach_scale(DatasetID dset not None, DatasetID dscale not None, unsigned
                  int idx):
     H5DSattach_scale(dset.id, dscale.id, idx)
 
+ at with_phil
 def is_attached(DatasetID dset not None, DatasetID dscale not None,
                 unsigned int idx):
     return <bint>(H5DSis_attached(dset.id, dscale.id, idx))
 
+ at with_phil
 def detach_scale(DatasetID dset not None, DatasetID dscale not None,
                  unsigned int idx):
     H5DSdetach_scale(dset.id, dscale.id, idx)
 
+ at with_phil
 def get_num_scales(DatasetID dset not None, unsigned int dim):
     return H5DSget_num_scales(dset.id, dim)
 
+ at with_phil
 def set_label(DatasetID dset not None, unsigned int idx, char* label):
     H5DSset_label(dset.id, idx, label)
 
+ at with_phil
 def get_label(DatasetID dset not None, unsigned int idx):
     cdef ssize_t size
     cdef char* label
@@ -64,6 +73,7 @@ def get_label(DatasetID dset not None, unsigned int idx):
     finally:
         efree(label)
 
+ at with_phil
 def get_scale_name(DatasetID dscale not None):
     cdef ssize_t namelen
     cdef char* name = NULL
@@ -97,13 +107,13 @@ cdef herr_t cb_ds_iter(hid_t dset, unsigned int dim, hid_t scale, void* vis_in)
     # we did not retrieve the scale identifier using the normal machinery,
     # so we need to inc_ref it before using it to create a DatasetID.
     H5Iinc_ref(scale)
-    vis.retval = vis.func(DatasetID.open(scale))
+    vis.retval = vis.func(DatasetID(scale))
 
     if vis.retval is not None:
         return 1
     return 0
 
-
+ at with_phil
 def iterate(DatasetID dset not None, unsigned int dim, object func,
             int startidx=0):
     """ (DatasetID loc, UINT dim, CALLABLE func, UINT startidx=0)
diff --git a/h5py/h5f.c b/h5py/h5f.c
deleted file mode 100644
index 55311eb..0000000
--- a/h5py/h5f.c
+++ /dev/null
@@ -1,6655 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5f
-#define __PYX_HAVE_API__h5py__h5f
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5f.pyx",
-  "_objects.pxd",
-  "h5p.pxd",
-  "h5t.pxd",
-  "h5ac.pxd",
-  "numpy.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5p_PropID;
-struct __pyx_obj_4h5py_3h5p_PropInstanceID;
-struct __pyx_obj_4h5py_3h5p_PropFAID;
-struct __pyx_obj_4h5py_4h5ac_CacheConfig;
-struct __pyx_obj_4h5py_3h5t_TypeID;
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID;
-struct __pyx_obj_4h5py_3h5p_PropCreateID;
-struct __pyx_obj_4h5py_3h5p_PropFCID;
-struct __pyx_obj_4h5py_3h5p_PropClassID;
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID;
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID;
-struct __pyx_obj_4h5py_3h5t_TypeVlenID;
-struct __pyx_obj_4h5py_3h5p_PropOCID;
-struct __pyx_obj_4h5py_3h5p_PropLCID;
-struct __pyx_obj_4h5py_3h5g_GroupID;
-struct __pyx_obj_4h5py_3h5p_PropGCID;
-struct __pyx_obj_4h5py_3h5p_PropDCID;
-struct __pyx_obj_4h5py_3h5t_TypeTimeID;
-struct __pyx_obj_4h5py_3h5t_TypeArrayID;
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID;
-struct __pyx_obj_4h5py_3h5f_FileID;
-struct __pyx_obj_4h5py_3h5t_TypeFloatID;
-struct __pyx_obj_4h5py_3h5t_TypeStringID;
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID;
-struct __pyx_obj_4h5py_3h5t_TypeEnumID;
-struct __pyx_obj_4h5py_3h5p_PropCopyID;
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID;
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID;
-struct __pyx_obj_4h5py_3h5p_PropDXID;
-struct __pyx_obj_4h5py_3h5p_PropLAID;
-struct __pyx_opt_args_4h5py_3h5t_py_create;
-
-/* "h5t.pxd":69
- * 
- * cpdef TypeID typewrap(hid_t id_)
- * cpdef TypeID py_create(object dtype, bint logical=*)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-struct __pyx_opt_args_4h5py_3h5t_py_create {
-  int __pyx_n;
-  int logical;
-};
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5p.pxd":16
- * # --- Base classes ---
- * 
- * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
- *     """ Base class for all property lists """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5p.pxd":26
- *     pass
- * 
- * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an instance of a property list class (i.e. an actual list
- *         which can be passed on to other API functions).
- */
-struct __pyx_obj_4h5py_3h5p_PropInstanceID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5p.pxd":59
- * # --- Object access ---
- * 
- * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ File access property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5ac.pxd":12
- * from defs cimport *
- * 
- * cdef class CacheConfig:             # <<<<<<<<<<<<<<
- *     cdef H5AC_cache_config_t cache_config
- */
-struct __pyx_obj_4h5py_4h5ac_CacheConfig {
-  PyObject_HEAD
-  H5AC_cache_config_t cache_config;
-};
-
-
-/* "h5t.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self)
- */
-struct __pyx_obj_4h5py_3h5t_TypeID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
-};
-
-
-/* "h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":32
- *     pass
- * 
- * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Base class for all object creation lists.
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCreateID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":52
- *     pass
- * 
- * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ File creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":20
- *     pass
- * 
- * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an HDF5 property list class.  These can be either (locked)
- *         library-defined classes or user-created classes.
- */
-struct __pyx_obj_4h5py_3h5p_PropClassID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeVlenID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":44
- * # --- Object creation ---
- * 
- * cdef class PropOCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Object creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropOCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":70
- * # --- New in 1.8 ---
- * 
- * cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Link creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropLCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5g.pxd":14
- * from _objects cimport ObjectID
- * 
- * cdef class GroupID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef readonly object links
- */
-struct __pyx_obj_4h5py_3h5g_GroupID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  PyObject *links;
-};
-
-
-/* "h5p.pxd":78
- *     cdef char* _buf
- * 
- * cdef class PropGCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Group creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropGCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5p.pxd":48
- *     pass
- * 
- * cdef class PropDCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Dataset creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeTimeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeArrayID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5f.pxd":15
- * from h5g cimport GroupID
- * 
- * cdef class FileID(GroupID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5f_FileID {
-  struct __pyx_obj_4h5py_3h5g_GroupID __pyx_base;
-};
-
-
-/* "h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeFloatID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeStringID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-struct __pyx_obj_4h5py_3h5t_TypeEnumID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5p.pxd":39
- *     pass
- * 
- * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Property list for copying objects (as in h5o.copy) """
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCopyID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5p.pxd":63
- *     pass
- * 
- * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Dataset transfer property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDXID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":74
- *     pass
- * 
- * cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Link access property list """
- *     cdef char* _buf
- */
-struct __pyx_obj_4h5py_3h5p_PropLAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-  char *_buf;
-};
-
-
-
-/* "h5t.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self)
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
-  PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;
-
-
-/* "h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
-
-
-/* "h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
-
-
-/* "h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
-
-
-/* "h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
-
-
-/* "h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
-
-
-/* "h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
-
-
-/* "h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
-
-
-/* "h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;
-
-
-/* "h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
-
-
-/* "h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
-
-
-/* "h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
-
-
-/* "h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
-
-
-/* "h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-  int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hssize_t(hssize_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static void* __Pyx_GetVtable(PyObject *dict); /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static hid_t (*__pyx_f_4h5py_4defs_H5Fcreate)(char *, unsigned int, hid_t, hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Fopen)(char *, unsigned int, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fclose)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Fis_hdf5)(char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fflush)(hid_t, enum H5F_scope_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Freopen)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fmount)(hid_t, char *, hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Funmount)(hid_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fget_filesize)(hid_t, hsize_t *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Fget_create_plist)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Fget_access_plist)(hid_t); /*proto*/
-static hssize_t (*__pyx_f_4h5py_4defs_H5Fget_freespace)(hid_t); /*proto*/
-static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Fget_name)(hid_t, char *, size_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Fget_obj_count)(hid_t, unsigned int); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Fget_obj_ids)(hid_t, unsigned int, int, hid_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fget_vfd_handle)(hid_t, hid_t, void **); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fget_intent)(hid_t, unsigned int *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fget_mdc_config)(hid_t, H5AC_cache_config_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fget_mdc_hit_rate)(hid_t, double *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fget_mdc_size)(hid_t, size_t *, size_t *, size_t *, int *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Freset_mdc_hit_rate_stats)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fset_mdc_config)(hid_t, H5AC_cache_config_t *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/
-
-/* Module declarations from 'h5py.h5g' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupID = 0;
-
-/* Module declarations from 'h5py.h5p' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropOCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0;
-static PyObject *(*__pyx_f_4h5py_3h5p_propwrap)(hid_t); /*proto*/
-
-/* Module declarations from 'h5py.h5t' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
-static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_typewrap)(hid_t, int __pyx_skip_dispatch); /*proto*/
-
-/* Module declarations from 'h5py.h5i' */
-static struct __pyx_obj_4h5py_8_objects_ObjectID *(*__pyx_f_4h5py_3h5i_wrap_identifier)(hid_t, int __pyx_skip_dispatch); /*proto*/
-
-/* Module declarations from 'h5py.h5ac' */
-static PyTypeObject *__pyx_ptype_4h5py_4h5ac_CacheConfig = 0;
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-
-/* Module declarations from 'h5py.h5f' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5f_FileID = 0;
-#define __Pyx_MODULE_NAME "h5py.h5f"
-int __pyx_module_is_main_h5py__h5f = 0;
-
-/* Implementation of 'h5py.h5f' */
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_NotImplementedError;
-static PyObject *__pyx_pf_4h5py_3h5f_open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, unsigned int __pyx_v_flags, struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_2create(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, int __pyx_v_flags, struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_fcpl, struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_4flush(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, int __pyx_v_scope); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6is_hdf5(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_8mount(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_fid); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_10unmount(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_12get_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_14get_obj_count(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_where, int __pyx_v_types); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_16get_obj_ids(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_where, int __pyx_v_types); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4name___get__(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5f_6FileID___cinit__(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_id); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_2close(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4reopen(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_6get_filesize(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_8get_create_plist(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_10get_access_plist(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_12get_freespace(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_14get_intent(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_16get_vfd_handle(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_18get_mdc_hit_rate(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_20get_mdc_size(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_22reset_mdc_hit_rate_stats(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_24get_mdc_config(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_26set_mdc_config(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self, struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config); /* proto */
-static char __pyx_k_6[] = "Location must be a FileID or OBJ_ALL.";
-static char __pyx_k_12[] = " File name on disk (according to h5f.get_name()) ";
-static char __pyx_k_13[] = "\n    Low-level operations on HDF5 file objects.\n";
-static char __pyx_k_16[] = "/home/computer/h5py/h5py/h5f.pyx";
-static char __pyx_k_17[] = "h5py.h5f";
-static char __pyx_k__i[] = "i";
-static char __pyx_k__id[] = "id";
-static char __pyx_k__fid[] = "fid";
-static char __pyx_k__loc[] = "loc";
-static char __pyx_k__obj[] = "obj";
-static char __pyx_k__SEC2[] = "SEC2";
-static char __pyx_k__fapl[] = "fapl";
-static char __pyx_k__fcpl[] = "fcpl";
-static char __pyx_k__h5fd[] = "h5fd";
-static char __pyx_k__h5py[] = "h5py";
-static char __pyx_k__lock[] = "lock";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__size[] = "size";
-static char __pyx_k__count[] = "count";
-static char __pyx_k__flags[] = "flags";
-static char __pyx_k__flush[] = "flush";
-static char __pyx_k__mount[] = "mount";
-static char __pyx_k__pname[] = "pname";
-static char __pyx_k__scope[] = "scope";
-static char __pyx_k__types[] = "types";
-static char __pyx_k__where[] = "where";
-static char __pyx_k__create[] = "create";
-static char __pyx_k__OBJ_ALL[] = "OBJ_ALL";
-static char __pyx_k__cleanup[] = "cleanup";
-static char __pyx_k__is_hdf5[] = "is_hdf5";
-static char __pyx_k__unmount[] = "unmount";
-static char __pyx_k__ACC_EXCL[] = "ACC_EXCL";
-static char __pyx_k__ACC_RDWR[] = "ACC_RDWR";
-static char __pyx_k__OBJ_ATTR[] = "OBJ_ATTR";
-static char __pyx_k__OBJ_FILE[] = "OBJ_FILE";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k___objects[] = "_objects";
-static char __pyx_k__get_name[] = "get_name";
-static char __pyx_k__obj_list[] = "obj_list";
-static char __pyx_k__registry[] = "registry";
-static char __pyx_k__where_id[] = "where_id";
-static char __pyx_k__ACC_TRUNC[] = "ACC_TRUNC";
-static char __pyx_k__OBJ_GROUP[] = "OBJ_GROUP";
-static char __pyx_k__OBJ_LOCAL[] = "OBJ_LOCAL";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__ACC_RDONLY[] = "ACC_RDONLY";
-static char __pyx_k__CLOSE_SEMI[] = "CLOSE_SEMI";
-static char __pyx_k__CLOSE_WEAK[] = "CLOSE_WEAK";
-static char __pyx_k__OBJ_DATASET[] = "OBJ_DATASET";
-static char __pyx_k__SCOPE_LOCAL[] = "SCOPE_LOCAL";
-static char __pyx_k__get_obj_ids[] = "get_obj_ids";
-static char __pyx_k__py_obj_list[] = "py_obj_list";
-static char __pyx_k__CLOSE_STRONG[] = "CLOSE_STRONG";
-static char __pyx_k__OBJ_DATATYPE[] = "OBJ_DATATYPE";
-static char __pyx_k__SCOPE_GLOBAL[] = "SCOPE_GLOBAL";
-static char __pyx_k__CLOSE_DEFAULT[] = "CLOSE_DEFAULT";
-static char __pyx_k__LIBVER_LATEST[] = "LIBVER_LATEST";
-static char __pyx_k__get_obj_count[] = "get_obj_count";
-static char __pyx_k__LIBVER_EARLIEST[] = "LIBVER_EARLIEST";
-static char __pyx_k__NotImplementedError[] = "NotImplementedError";
-static PyObject *__pyx_kp_s_16;
-static PyObject *__pyx_n_s_17;
-static PyObject *__pyx_kp_s_6;
-static PyObject *__pyx_n_s__ACC_EXCL;
-static PyObject *__pyx_n_s__ACC_RDONLY;
-static PyObject *__pyx_n_s__ACC_RDWR;
-static PyObject *__pyx_n_s__ACC_TRUNC;
-static PyObject *__pyx_n_s__CLOSE_DEFAULT;
-static PyObject *__pyx_n_s__CLOSE_SEMI;
-static PyObject *__pyx_n_s__CLOSE_STRONG;
-static PyObject *__pyx_n_s__CLOSE_WEAK;
-static PyObject *__pyx_n_s__LIBVER_EARLIEST;
-static PyObject *__pyx_n_s__LIBVER_LATEST;
-static PyObject *__pyx_n_s__NotImplementedError;
-static PyObject *__pyx_n_s__OBJ_ALL;
-static PyObject *__pyx_n_s__OBJ_ATTR;
-static PyObject *__pyx_n_s__OBJ_DATASET;
-static PyObject *__pyx_n_s__OBJ_DATATYPE;
-static PyObject *__pyx_n_s__OBJ_FILE;
-static PyObject *__pyx_n_s__OBJ_GROUP;
-static PyObject *__pyx_n_s__OBJ_LOCAL;
-static PyObject *__pyx_n_s__SCOPE_GLOBAL;
-static PyObject *__pyx_n_s__SCOPE_LOCAL;
-static PyObject *__pyx_n_s__SEC2;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___objects;
-static PyObject *__pyx_n_s__cleanup;
-static PyObject *__pyx_n_s__count;
-static PyObject *__pyx_n_s__create;
-static PyObject *__pyx_n_s__fapl;
-static PyObject *__pyx_n_s__fcpl;
-static PyObject *__pyx_n_s__fid;
-static PyObject *__pyx_n_s__flags;
-static PyObject *__pyx_n_s__flush;
-static PyObject *__pyx_n_s__get_name;
-static PyObject *__pyx_n_s__get_obj_count;
-static PyObject *__pyx_n_s__get_obj_ids;
-static PyObject *__pyx_n_s__h5fd;
-static PyObject *__pyx_n_s__h5py;
-static PyObject *__pyx_n_s__i;
-static PyObject *__pyx_n_s__id;
-static PyObject *__pyx_n_s__is_hdf5;
-static PyObject *__pyx_n_s__loc;
-static PyObject *__pyx_n_s__lock;
-static PyObject *__pyx_n_s__mount;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__obj;
-static PyObject *__pyx_n_s__obj_list;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__pname;
-static PyObject *__pyx_n_s__py_obj_list;
-static PyObject *__pyx_n_s__registry;
-static PyObject *__pyx_n_s__scope;
-static PyObject *__pyx_n_s__size;
-static PyObject *__pyx_n_s__types;
-static PyObject *__pyx_n_s__unmount;
-static PyObject *__pyx_n_s__where;
-static PyObject *__pyx_n_s__where_id;
-static unsigned int __pyx_k_1;
-static int __pyx_k_2;
-static int __pyx_k_3;
-static PyObject *__pyx_k_4;
-static int __pyx_k_5;
-static PyObject *__pyx_k_8;
-static int __pyx_k_9;
-static PyObject *__pyx_k_tuple_7;
-static PyObject *__pyx_k_tuple_10;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_tuple_14;
-static PyObject *__pyx_k_tuple_18;
-static PyObject *__pyx_k_tuple_20;
-static PyObject *__pyx_k_tuple_22;
-static PyObject *__pyx_k_tuple_24;
-static PyObject *__pyx_k_tuple_26;
-static PyObject *__pyx_k_tuple_28;
-static PyObject *__pyx_k_tuple_30;
-static PyObject *__pyx_k_tuple_32;
-static PyObject *__pyx_k_codeobj_15;
-static PyObject *__pyx_k_codeobj_19;
-static PyObject *__pyx_k_codeobj_21;
-static PyObject *__pyx_k_codeobj_23;
-static PyObject *__pyx_k_codeobj_25;
-static PyObject *__pyx_k_codeobj_27;
-static PyObject *__pyx_k_codeobj_29;
-static PyObject *__pyx_k_codeobj_31;
-static PyObject *__pyx_k_codeobj_33;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5f_open[] = "(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID\n\n    Open an existing HDF5 file.  Keyword \"flags\" may be:\n\n    ACC_RDWR\n        Open in read-write mode\n\n    ACC_RDONLY\n        Open in readonly mode\n\n    Keyword fapl may be a file access property list.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5f_1open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5f_1open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_open)};
-static PyObject *__pyx_pw_4h5py_3h5f_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_name;
-  unsigned int __pyx_v_flags;
-  struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("open (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__flags,&__pyx_n_s__fapl,0};
-    PyObject* values[3] = {0,0,0};
-
-    /* "h5py/h5f.pyx":58
- * 
- * 
- * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):             # <<<<<<<<<<<<<<
- *     """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID
- * 
- */
-    values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags);
-          if (value) { values[1] = value; kw_args--; }
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fapl);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[1]) {
-      __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_flags = __pyx_k_1;
-    }
-    __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)values[2]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("open", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropFAID, 1, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5f_open(__pyx_self, __pyx_v_name, __pyx_v_flags, __pyx_v_fapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5f_open(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, unsigned int __pyx_v_flags, struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("open", 0);
-
-  /* "h5py/h5f.pyx":71
- *     Keyword fapl may be a file access property list.
- *     """
- *     return FileID.open(H5Fopen(name, flags, pdefault(fapl)))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Fopen(__pyx_v_name, __pyx_v_flags, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_fapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5f.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5f_2create[] = "(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,\n    PropFAID fapl=None) => FileID\n\n    Create a new HDF5 file.  Keyword \"flags\" may be:\n\n    ACC_TRUNC\n        Truncate an existing file, discarding its data\n\n    ACC_EXCL\n        Fail if a conflicting file exists\n\n    To keep the behavior in line with that of Python's built-in functions,\n    the default is ACC_TRUNC.  Be careful!\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5f_3create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5f_3create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_2create)};
-static PyObject *__pyx_pw_4h5py_3h5f_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_name;
-  int __pyx_v_flags;
-  struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_fcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__flags,&__pyx_n_s__fcpl,&__pyx_n_s__fapl,0};
-    PyObject* values[4] = {0,0,0,0};
-
-    /* "h5py/h5f.pyx":74
- * 
- * 
- * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,             # <<<<<<<<<<<<<<
- *                                                 PropFAID fapl=None):
- *     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
- */
-    values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropFCID *)Py_None);
-
-    /* "h5py/h5f.pyx":75
- * 
- * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,
- *                                                 PropFAID fapl=None):             # <<<<<<<<<<<<<<
- *     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
- *     PropFAID fapl=None) => FileID
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags);
-          if (value) { values[1] = value; kw_args--; }
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fcpl);
-          if (value) { values[2] = value; kw_args--; }
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fapl);
-          if (value) { values[3] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[1]) {
-      __pyx_v_flags = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_flags == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_flags = __pyx_k_2;
-    }
-    __pyx_v_fcpl = ((struct __pyx_obj_4h5py_3h5p_PropFCID *)values[2]);
-    __pyx_v_fapl = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)values[3]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fcpl), __pyx_ptype_4h5py_3h5p_PropFCID, 1, "fcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropFAID, 1, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5f_2create(__pyx_self, __pyx_v_name, __pyx_v_flags, __pyx_v_fcpl, __pyx_v_fapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":74
- * 
- * 
- * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,             # <<<<<<<<<<<<<<
- *                                                 PropFAID fapl=None):
- *     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_2create(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name, int __pyx_v_flags, struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_fcpl, struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_fapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create", 0);
-
-  /* "h5py/h5f.pyx":90
- *     the default is ACC_TRUNC.  Be careful!
- *     """
- *     return FileID.open(H5Fcreate(name, flags, pdefault(fcpl), pdefault(fapl)))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Fcreate(__pyx_v_name, __pyx_v_flags, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_fcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_fapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5f.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_5flush(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5f_4flush[] = "(ObjectID obj, INT scope=SCOPE_LOCAL)\n\n    Tell the HDF5 library to flush file buffers to disk.  \"obj\" may\n    be the file identifier, or the identifier of any object residing in\n    the file.  Keyword \"scope\" may be:\n\n    SCOPE_LOCAL\n        Flush only the given file\n\n    SCOPE_GLOBAL\n        Flush the entire virtual file\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5f_5flush = {__Pyx_NAMESTR("flush"), (PyCFunction)__pyx_pw_4h5py_3h5f_5flush, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_4flush)};
-static PyObject *__pyx_pw_4h5py_3h5f_5flush(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj = 0;
-  int __pyx_v_scope;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("flush (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__obj,&__pyx_n_s__scope,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__scope);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "flush") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    if (values[1]) {
-      __pyx_v_scope = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_scope == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_scope = __pyx_k_3;
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("flush", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.flush", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5f_4flush(__pyx_self, __pyx_v_obj, __pyx_v_scope);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":93
- * 
- * 
- * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj, INT scope=SCOPE_LOCAL)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_4flush(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, int __pyx_v_scope) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("flush", 0);
-
-  /* "h5py/h5f.pyx":106
- *         Flush the entire virtual file
- *     """
- *     H5Fflush(obj.id, <H5F_scope_t>scope)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fflush(__pyx_v_obj->id, ((enum H5F_scope_t)__pyx_v_scope)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5f.flush", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_7is_hdf5(PyObject *__pyx_self, PyObject *__pyx_arg_name); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6is_hdf5[] = "(STRING name) => BOOL\n\n    Determine if a given file is an HDF5 file.  Note this raises an\n    exception if the file doesn't exist.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5f_7is_hdf5 = {__Pyx_NAMESTR("is_hdf5"), (PyCFunction)__pyx_pw_4h5py_3h5f_7is_hdf5, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6is_hdf5)};
-static PyObject *__pyx_pw_4h5py_3h5f_7is_hdf5(PyObject *__pyx_self, PyObject *__pyx_arg_name) {
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("is_hdf5 (wrapper)", 0);
-  assert(__pyx_arg_name); {
-    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.is_hdf5", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5f_6is_hdf5(__pyx_self, ((char *)__pyx_v_name));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":109
- * 
- * 
- * def is_hdf5(char* name):             # <<<<<<<<<<<<<<
- *     """(STRING name) => BOOL
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6is_hdf5(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_name) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("is_hdf5", 0);
-
-  /* "h5py/h5f.pyx":115
- *     exception if the file doesn't exist.
- *     """
- *     return <bint>(H5Fis_hdf5(name))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fis_hdf5(__pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5f.is_hdf5", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_9mount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5f_8mount[] = "(ObjectID loc, STRING name, FileID fid)\n\n    Mount an open file on the group \"name\" under group loc_id.  Note that\n    \"name\" must already exist.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5f_9mount = {__Pyx_NAMESTR("mount"), (PyCFunction)__pyx_pw_4h5py_3h5f_9mount, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_8mount)};
-static PyObject *__pyx_pw_4h5py_3h5f_9mount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_fid = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("mount (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__fid,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__fid)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "mount") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_fid = ((struct __pyx_obj_4h5py_3h5f_FileID *)values[2]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("mount", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.mount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fid), __pyx_ptype_4h5py_3h5f_FileID, 0, "fid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5f_8mount(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_fid);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":118
- * 
- * 
- * def mount(ObjectID loc not None, char* name, FileID fid not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, FileID fid)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_8mount(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_fid) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("mount", 0);
-
-  /* "h5py/h5f.pyx":124
- *     "name" must already exist.
- *     """
- *     H5Fmount(loc.id, name, fid.id, H5P_DEFAULT)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fmount(__pyx_v_loc->id, __pyx_v_name, __pyx_v_fid->__pyx_base.__pyx_base.id, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5f.mount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_11unmount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5f_10unmount[] = "(ObjectID loc, STRING name)\n\n    Unmount a file, mounted at \"name\" under group loc_id.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5f_11unmount = {__Pyx_NAMESTR("unmount"), (PyCFunction)__pyx_pw_4h5py_3h5f_11unmount, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_10unmount)};
-static PyObject *__pyx_pw_4h5py_3h5f_11unmount(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("unmount (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("unmount", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "unmount") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("unmount", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.unmount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5f_10unmount(__pyx_self, __pyx_v_loc, __pyx_v_name);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":127
- * 
- * 
- * def unmount(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_10unmount(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("unmount", 0);
-
-  /* "h5py/h5f.pyx":132
- *     Unmount a file, mounted at "name" under group loc_id.
- *     """
- *     H5Funmount(loc.id, name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Funmount(__pyx_v_loc->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5f.unmount", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_13get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_4h5py_3h5f_12get_name[] = "(ObjectID obj) => STRING\n\n    Determine the name of the file in which the specified object resides.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5f_13get_name = {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pw_4h5py_3h5f_13get_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_12get_name)};
-static PyObject *__pyx_pw_4h5py_3h5f_13get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_name (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5f_12get_name(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":135
- * 
- * 
- * def get_name(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj) => STRING
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_12get_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj) {
-  Py_ssize_t __pyx_v_size;
-  char *__pyx_v_name;
-  char *__pyx_v_pname;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_name", 0);
-
-  /* "h5py/h5f.pyx":142
- *     cdef ssize_t size
- *     cdef char* name
- *     name = NULL             # <<<<<<<<<<<<<<
- * 
- *     size = H5Fget_name(obj.id, NULL, 0)
- */
-  __pyx_v_name = NULL;
-
-  /* "h5py/h5f.pyx":144
- *     name = NULL
- * 
- *     size = H5Fget_name(obj.id, NULL, 0)             # <<<<<<<<<<<<<<
- *     assert size >= 0
- *     name = <char*>emalloc(sizeof(char)*(size+1))
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_name(__pyx_v_obj->id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_size = __pyx_t_1;
-
-  /* "h5py/h5f.pyx":145
- * 
- *     size = H5Fget_name(obj.id, NULL, 0)
- *     assert size >= 0             # <<<<<<<<<<<<<<
- *     name = <char*>emalloc(sizeof(char)*(size+1))
- *     try:
- */
-  #ifndef CYTHON_WITHOUT_ASSERTIONS
-  if (unlikely(!(__pyx_v_size >= 0))) {
-    PyErr_SetNone(PyExc_AssertionError);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  #endif
-
-  /* "h5py/h5f.pyx":146
- *     size = H5Fget_name(obj.id, NULL, 0)
- *     assert size >= 0
- *     name = <char*>emalloc(sizeof(char)*(size+1))             # <<<<<<<<<<<<<<
- *     try:
- *         H5Fget_name(obj.id, name, size+1)
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_size + 1))); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_name = ((char *)__pyx_t_2);
-
-  /* "h5py/h5f.pyx":147
- *     assert size >= 0
- *     name = <char*>emalloc(sizeof(char)*(size+1))
- *     try:             # <<<<<<<<<<<<<<
- *         H5Fget_name(obj.id, name, size+1)
- *         pname = name
- */
-  /*try:*/ {
-
-    /* "h5py/h5f.pyx":148
- *     name = <char*>emalloc(sizeof(char)*(size+1))
- *     try:
- *         H5Fget_name(obj.id, name, size+1)             # <<<<<<<<<<<<<<
- *         pname = name
- *         return pname
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_name(__pyx_v_obj->id, __pyx_v_name, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5f.pyx":149
- *     try:
- *         H5Fget_name(obj.id, name, size+1)
- *         pname = name             # <<<<<<<<<<<<<<
- *         return pname
- *     finally:
- */
-    __pyx_v_pname = __pyx_v_name;
-
-    /* "h5py/h5f.pyx":150
- *         H5Fget_name(obj.id, name, size+1)
- *         pname = name
- *         return pname             # <<<<<<<<<<<<<<
- *     finally:
- *         efree(name)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_3 = PyBytes_FromString(__pyx_v_pname); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __pyx_r = ((PyObject *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5f.pyx":152
- *         return pname
- *     finally:
- *         efree(name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_name);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5f.get_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_15get_obj_count(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5f_14get_obj_count[] = "(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT\n\n    Get the number of open objects.\n\n    where\n        Either a FileID instance representing an HDF5 file, or the\n        special constant OBJ_ALL, to count objects in all files.\n\n    type\n        Specify what kinds of object to include.  May be one of OBJ*,\n        or any bitwise combination (e.g. OBJ_FILE | OBJ_ATTR).\n\n        The special value OBJ_ALL matches all object type [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5f_15get_obj_count = {__Pyx_NAMESTR("get_obj_count"), (PyCFunction)__pyx_pw_4h5py_3h5f_15get_obj_count, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_14get_obj_count)};
-static PyObject *__pyx_pw_4h5py_3h5f_15get_obj_count(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_where = 0;
-  int __pyx_v_types;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_obj_count (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__where,&__pyx_n_s__types,0};
-    PyObject* values[2] = {0,0};
-    values[0] = __pyx_k_4;
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__where);
-          if (value) { values[0] = value; kw_args--; }
-        }
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__types);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_obj_count") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_where = values[0];
-    if (values[1]) {
-      __pyx_v_types = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_types == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_types = __pyx_k_5;
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_obj_count", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.get_obj_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5f_14get_obj_count(__pyx_self, __pyx_v_where, __pyx_v_types);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":155
- * 
- * 
- * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
- *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_14get_obj_count(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_where, int __pyx_v_types) {
-  hid_t __pyx_v_where_id;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  hid_t __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_t_5;
-  int __pyx_t_6;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_obj_count", 0);
-
-  /* "h5py/h5f.pyx":173
- *     """
- *     cdef hid_t where_id
- *     if isinstance(where, FileID):             # <<<<<<<<<<<<<<
- *         where_id = where.id
- *     elif isinstance(where, int) or isinstance(where, long):
- */
-  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_where, ((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)); 
-  if (__pyx_t_1) {
-
-    /* "h5py/h5f.pyx":174
- *     cdef hid_t where_id
- *     if isinstance(where, FileID):
- *         where_id = where.id             # <<<<<<<<<<<<<<
- *     elif isinstance(where, int) or isinstance(where, long):
- *         where_id = where
- */
-    __pyx_t_2 = PyObject_GetAttr(__pyx_v_where, __pyx_n_s__id); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_v_where_id = __pyx_t_3;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5f.pyx":175
- *     if isinstance(where, FileID):
- *         where_id = where.id
- *     elif isinstance(where, int) or isinstance(where, long):             # <<<<<<<<<<<<<<
- *         where_id = where
- *     else:
- */
-  __pyx_t_1 = PyInt_Check(__pyx_v_where); 
-  if (!__pyx_t_1) {
-    __pyx_t_4 = PyLong_Check(__pyx_v_where); 
-    __pyx_t_5 = __pyx_t_4;
-  } else {
-    __pyx_t_5 = __pyx_t_1;
-  }
-  if (__pyx_t_5) {
-
-    /* "h5py/h5f.pyx":176
- *         where_id = where.id
- *     elif isinstance(where, int) or isinstance(where, long):
- *         where_id = where             # <<<<<<<<<<<<<<
- *     else:
- *         raise TypeError("Location must be a FileID or OBJ_ALL.")
- */
-    __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_v_where); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_where_id = __pyx_t_3;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5f.pyx":178
- *         where_id = where
- *     else:
- *         raise TypeError("Location must be a FileID or OBJ_ALL.")             # <<<<<<<<<<<<<<
- * 
- *     return H5Fget_obj_count(where_id, types)
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_7), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5f.pyx":180
- *         raise TypeError("Location must be a FileID or OBJ_ALL.")
- * 
- *     return H5Fget_obj_count(where_id, types)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_6 = __pyx_f_4h5py_4defs_H5Fget_obj_count(__pyx_v_where_id, __pyx_v_types); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5f.get_obj_count", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_17get_obj_ids(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5f_16get_obj_ids[] = "(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST\n\n    Get a list of identifier instances for open objects.\n\n    where\n        Either a FileID instance representing an HDF5 file, or the\n        special constant OBJ_ALL, to list objects in all files.\n\n    type\n        Specify what kinds of object to include.  May be one of OBJ*,\n        or any bitwise combination (e.g. OBJ_FILE | OBJ_ATTR).\n\n        The special value OBJ_ALL matc [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5f_17get_obj_ids = {__Pyx_NAMESTR("get_obj_ids"), (PyCFunction)__pyx_pw_4h5py_3h5f_17get_obj_ids, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_16get_obj_ids)};
-static PyObject *__pyx_pw_4h5py_3h5f_17get_obj_ids(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_where = 0;
-  int __pyx_v_types;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_obj_ids (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__where,&__pyx_n_s__types,0};
-    PyObject* values[2] = {0,0};
-    values[0] = __pyx_k_8;
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__where);
-          if (value) { values[0] = value; kw_args--; }
-        }
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__types);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_obj_ids") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_where = values[0];
-    if (values[1]) {
-      __pyx_v_types = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_types == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_types = __pyx_k_9;
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_obj_ids", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.get_obj_ids", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5f_16get_obj_ids(__pyx_self, __pyx_v_where, __pyx_v_types);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":183
- * 
- * 
- * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
- *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_16get_obj_ids(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_where, int __pyx_v_types) {
-  int __pyx_v_count;
-  int __pyx_v_i;
-  hid_t __pyx_v_where_id;
-  hid_t *__pyx_v_obj_list;
-  PyObject *__pyx_v_py_obj_list = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  hid_t __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  void *__pyx_t_11;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_obj_ids", 0);
-
-  /* "h5py/h5f.pyx":203
- *     cdef int i
- *     cdef hid_t where_id
- *     cdef hid_t *obj_list = NULL             # <<<<<<<<<<<<<<
- *     cdef list py_obj_list = []
- * 
- */
-  __pyx_v_obj_list = NULL;
-
-  /* "h5py/h5f.pyx":204
- *     cdef hid_t where_id
- *     cdef hid_t *obj_list = NULL
- *     cdef list py_obj_list = []             # <<<<<<<<<<<<<<
- * 
- *     if isinstance(where, FileID):
- */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_py_obj_list = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5f.pyx":206
- *     cdef list py_obj_list = []
- * 
- *     if isinstance(where, FileID):             # <<<<<<<<<<<<<<
- *         where_id = where.id
- *     else:
- */
-  __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_where, ((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)); 
-  if (__pyx_t_2) {
-
-    /* "h5py/h5f.pyx":207
- * 
- *     if isinstance(where, FileID):
- *         where_id = where.id             # <<<<<<<<<<<<<<
- *     else:
- *         try:
- */
-    __pyx_t_1 = PyObject_GetAttr(__pyx_v_where, __pyx_n_s__id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_1); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_v_where_id = __pyx_t_3;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5f.pyx":209
- *         where_id = where.id
- *     else:
- *         try:             # <<<<<<<<<<<<<<
- *             where_id = int(where)
- *         except TypeError:
- */
-    {
-      __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
-      __Pyx_XGOTREF(__pyx_t_4);
-      __Pyx_XGOTREF(__pyx_t_5);
-      __Pyx_XGOTREF(__pyx_t_6);
-      /*try:*/ {
-
-        /* "h5py/h5f.pyx":210
- *     else:
- *         try:
- *             where_id = int(where)             # <<<<<<<<<<<<<<
- *         except TypeError:
- *             raise TypeError("Location must be a FileID or OBJ_ALL.")
- */
-        __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_1);
-        __Pyx_INCREF(__pyx_v_where);
-        PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_where);
-        __Pyx_GIVEREF(__pyx_v_where);
-        __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-        __pyx_t_3 = __Pyx_PyInt_from_py_hid_t(__pyx_t_7); if (unlikely((__pyx_t_3 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        __pyx_v_where_id = __pyx_t_3;
-      }
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      goto __pyx_L11_try_end;
-      __pyx_L4_error:;
-      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-      /* "h5py/h5f.pyx":211
- *         try:
- *             where_id = int(where)
- *         except TypeError:             # <<<<<<<<<<<<<<
- *             raise TypeError("Location must be a FileID or OBJ_ALL.")
- * 
- */
-      __pyx_t_8 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
-      if (__pyx_t_8) {
-        __Pyx_AddTraceback("h5py.h5f.get_obj_ids", __pyx_clineno, __pyx_lineno, __pyx_filename);
-        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_1, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __Pyx_GOTREF(__pyx_t_1);
-        __Pyx_GOTREF(__pyx_t_9);
-
-        /* "h5py/h5f.pyx":212
- *             where_id = int(where)
- *         except TypeError:
- *             raise TypeError("Location must be a FileID or OBJ_ALL.")             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-        __pyx_t_10 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_10), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(__pyx_t_10);
-        __Pyx_Raise(__pyx_t_10, 0, 0, 0);
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-        goto __pyx_L5_exception_handled;
-      }
-      __pyx_L6_except_error:;
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_XGIVEREF(__pyx_t_5);
-      __Pyx_XGIVEREF(__pyx_t_6);
-      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
-      goto __pyx_L1_error;
-      __pyx_L5_exception_handled:;
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_XGIVEREF(__pyx_t_5);
-      __Pyx_XGIVEREF(__pyx_t_6);
-      __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
-      __pyx_L11_try_end:;
-    }
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5f.pyx":214
- *             raise TypeError("Location must be a FileID or OBJ_ALL.")
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         count = H5Fget_obj_count(where_id, types)
- *         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)
- */
-  /*try:*/ {
-
-    /* "h5py/h5f.pyx":215
- * 
- *     try:
- *         count = H5Fget_obj_count(where_id, types)             # <<<<<<<<<<<<<<
- *         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)
- * 
- */
-    __pyx_t_8 = __pyx_f_4h5py_4defs_H5Fget_obj_count(__pyx_v_where_id, __pyx_v_types); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L15;}
-    __pyx_v_count = __pyx_t_8;
-
-    /* "h5py/h5f.pyx":216
- *     try:
- *         count = H5Fget_obj_count(where_id, types)
- *         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)             # <<<<<<<<<<<<<<
- * 
- *         H5Fget_obj_ids(where_id, types, count, obj_list)
- */
-    __pyx_t_11 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hid_t)) * __pyx_v_count)); if (unlikely(__pyx_t_11 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L15;}
-    __pyx_v_obj_list = ((hid_t *)__pyx_t_11);
-
-    /* "h5py/h5f.pyx":218
- *         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)
- * 
- *         H5Fget_obj_ids(where_id, types, count, obj_list)             # <<<<<<<<<<<<<<
- *         for i from 0<=i<count:
- *             py_obj_list.append(wrap_identifier(obj_list[i]))
- */
-    __pyx_t_8 = __pyx_f_4h5py_4defs_H5Fget_obj_ids(__pyx_v_where_id, __pyx_v_types, __pyx_v_count, __pyx_v_obj_list); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L15;}
-
-    /* "h5py/h5f.pyx":219
- * 
- *         H5Fget_obj_ids(where_id, types, count, obj_list)
- *         for i from 0<=i<count:             # <<<<<<<<<<<<<<
- *             py_obj_list.append(wrap_identifier(obj_list[i]))
- *             # The HDF5 function returns a borrowed reference for each hid_t.
- */
-    __pyx_t_8 = __pyx_v_count;
-    for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_8; __pyx_v_i++) {
-
-      /* "h5py/h5f.pyx":220
- *         H5Fget_obj_ids(where_id, types, count, obj_list)
- *         for i from 0<=i<count:
- *             py_obj_list.append(wrap_identifier(obj_list[i]))             # <<<<<<<<<<<<<<
- *             # The HDF5 function returns a borrowed reference for each hid_t.
- *             #H5Iinc_ref(obj_list[i])
- */
-      __pyx_t_9 = ((PyObject *)__pyx_f_4h5py_3h5i_wrap_identifier((__pyx_v_obj_list[__pyx_v_i]), 0)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L15;}
-      __Pyx_GOTREF(__pyx_t_9);
-      __pyx_t_12 = PyList_Append(__pyx_v_py_obj_list, __pyx_t_9); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L15;}
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-    }
-
-    /* "h5py/h5f.pyx":223
- *             # The HDF5 function returns a borrowed reference for each hid_t.
- *             #H5Iinc_ref(obj_list[i])
- *         return py_obj_list             # <<<<<<<<<<<<<<
- * 
- *     finally:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(((PyObject *)__pyx_v_py_obj_list));
-    __pyx_r = ((PyObject *)__pyx_v_py_obj_list);
-    goto __pyx_L14;
-  }
-
-  /* "h5py/h5f.pyx":226
- * 
- *     finally:
- *         efree(obj_list)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L16;
-    __pyx_L14: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L16;
-    __pyx_L15: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L16;
-    }
-    __pyx_L16:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_obj_list);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.h5f.get_obj_ids", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_py_obj_list);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_4name_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_4name_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_4name___get__(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":252
- *     property name:
- *         """ File name on disk (according to h5f.get_name()) """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return get_name(self)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4name___get__(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5f.pyx":253
- *         """ File name on disk (according to h5f.get_name()) """
- *         def __get__(self):
- *             return get_name(self)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__get_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self));
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5f.FileID.name.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5f_6FileID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5f_6FileID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  CYTHON_UNUSED PyObject *__pyx_v_id = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__id,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_id = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5f.FileID.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID___cinit__(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self), __pyx_v_id);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":256
- * 
- * 
- *     def __cinit__(self, id):             # <<<<<<<<<<<<<<
- *         # lock the id proxy for as long as the the identifier is open
- *         self.locked = True
- */
-
-static int __pyx_pf_4h5py_3h5f_6FileID___cinit__(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_id) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "h5py/h5f.pyx":258
- *     def __cinit__(self, id):
- *         # lock the id proxy for as long as the the identifier is open
- *         self.locked = True             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_v_self->__pyx_base.__pyx_base.locked = 1;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_3close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_2close[] = "()\n\n        Terminate access through this identifier.  Note that depending on\n        what property list settings were used to open the file, the\n        physical file might not be closed until all remaining open\n        identifiers are freed.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_3close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("close (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_2close(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":261
- * 
- * 
- *     def close(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_2close(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  PyObject *__pyx_t_9 = NULL;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("close", 0);
-
-  /* "h5py/h5f.pyx":269
- *         identifiers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             self.locked = False
- *             H5Fclose(self.id)
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/h5f.pyx":270
- *         """
- *         with _objects.registry.lock:
- *             self.locked = False             # <<<<<<<<<<<<<<
- *             H5Fclose(self.id)
- *             _objects.registry.cleanup()
- */
-          __pyx_v_self->__pyx_base.__pyx_base.locked = 0;
-
-          /* "h5py/h5f.pyx":271
- *         with _objects.registry.lock:
- *             self.locked = False
- *             H5Fclose(self.id)             # <<<<<<<<<<<<<<
- *             _objects.registry.cleanup()
- * 
- */
-          __pyx_t_8 = __pyx_f_4h5py_4defs_H5Fclose(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 271; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-
-          /* "h5py/h5f.pyx":272
- *             self.locked = False
- *             H5Fclose(self.id)
- *             _objects.registry.cleanup()             # <<<<<<<<<<<<<<
- * 
- * 
- */
-          __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __pyx_t_1 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__cleanup); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-        /* "h5py/h5f.pyx":269
- *         identifiers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             self.locked = False
- *             H5Fclose(self.id)
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.h5f.FileID.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_2);
-          __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_9);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_2);
-          PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_2);
-          __Pyx_GIVEREF(__pyx_t_2);
-          __pyx_t_11 = PyObject_Call(__pyx_t_3, __pyx_t_9, NULL);
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_12 = (!__pyx_t_10);
-          if (__pyx_t_12) {
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_2);
-            __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2);
-            __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; 
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L17;
-          }
-          __pyx_L17:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      if (__pyx_t_3) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_11, NULL);
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_12 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-    }
-    goto __pyx_L18;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L1_error;
-    __pyx_L18:;
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_AddTraceback("h5py.h5f.FileID.close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_5reopen(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_4reopen[] = "() => FileID\n\n        Retrieve another identifier for a file (which must still be open).\n        The new identifier is guaranteed to neither be mounted nor contain\n        a mounted file.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_5reopen(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("reopen (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_4reopen(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":275
- * 
- * 
- *     def reopen(self):             # <<<<<<<<<<<<<<
- *         """() => FileID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_4reopen(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("reopen", 0);
-
-  /* "h5py/h5f.pyx":282
- *         a mounted file.
- *         """
- *         return FileID.open(H5Freopen(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5f_FileID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Freopen(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5f.FileID.reopen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_7get_filesize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_6get_filesize[] = "() => LONG size\n\n        Determine the total size (in bytes) of the HDF5 file,\n        including any user block.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_7get_filesize(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_filesize (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_6get_filesize(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":285
- * 
- * 
- *     def get_filesize(self):             # <<<<<<<<<<<<<<
- *         """() => LONG size
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_6get_filesize(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  hsize_t __pyx_v_size;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_filesize", 0);
-
-  /* "h5py/h5f.pyx":292
- *         """
- *         cdef hsize_t size
- *         H5Fget_filesize(self.id, &size)             # <<<<<<<<<<<<<<
- *         return size
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_filesize(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":293
- *         cdef hsize_t size
- *         H5Fget_filesize(self.id, &size)
- *         return size             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_filesize", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_9get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_8get_create_plist[] = "() => PropFCID\n\n        Retrieve a copy of the file creation property list used to\n        create this file.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_9get_create_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_create_plist (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_8get_create_plist(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":296
- * 
- * 
- *     def get_create_plist(self):             # <<<<<<<<<<<<<<
- *         """() => PropFCID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_8get_create_plist(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_create_plist", 0);
-
-  /* "h5py/h5f.pyx":302
- *         create this file.
- *         """
- *         return propwrap(H5Fget_create_plist(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_create_plist(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 302; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_create_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_11get_access_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_10get_access_plist[] = "() => PropFAID\n\n        Retrieve a copy of the file access property list which manages access\n        to this file.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_11get_access_plist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_access_plist (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_10get_access_plist(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":305
- * 
- * 
- *     def get_access_plist(self):             # <<<<<<<<<<<<<<
- *         """() => PropFAID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_10get_access_plist(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_access_plist", 0);
-
-  /* "h5py/h5f.pyx":311
- *         to this file.
- *         """
- *         return propwrap(H5Fget_access_plist(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_access_plist(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_access_plist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_13get_freespace(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_12get_freespace[] = "() => LONG freespace\n\n        Determine the amount of free space in this file.  Note that this\n        only tracks free space until the file is closed.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_13get_freespace(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_freespace (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_12get_freespace(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":314
- * 
- * 
- *     def get_freespace(self):             # <<<<<<<<<<<<<<
- *         """() => LONG freespace
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_12get_freespace(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hssize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_freespace", 0);
-
-  /* "h5py/h5f.pyx":320
- *         only tracks free space until the file is closed.
- *         """
- *         return H5Fget_freespace(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_freespace(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_freespace", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_15get_intent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_14get_intent[] = " () => INT\n\n        Determine the file's write intent, either of:\n        - H5F_ACC_RDONLY\n        - H5F_ACC_RDWR\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_15get_intent(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_intent (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_14get_intent(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":323
- * 
- * 
- *     def get_intent(self):             # <<<<<<<<<<<<<<
- *         """ () => INT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_14get_intent(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  unsigned int __pyx_v_mode;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_intent", 0);
-
-  /* "h5py/h5f.pyx":331
- *         """
- *         cdef unsigned int mode
- *         H5Fget_intent(self.id, &mode)             # <<<<<<<<<<<<<<
- *         return mode
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_intent(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_mode)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":332
- *         cdef unsigned int mode
- *         H5Fget_intent(self.id, &mode)
- *         return mode             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_mode); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 332; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_intent", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_17get_vfd_handle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_16get_vfd_handle[] = " () => INT\n\n        Retrieve the file handle used by the virtual file driver.\n\n        This method is only functional when the the SEC2 driver is used.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_17get_vfd_handle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_vfd_handle (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_16get_vfd_handle(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":335
- * 
- * 
- *     def get_vfd_handle(self):             # <<<<<<<<<<<<<<
- *         """ () => INT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_16get_vfd_handle(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  int *__pyx_v_handle;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_t_6;
-  herr_t __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_vfd_handle", 0);
-
-  /* "h5py/h5f.pyx":342
- *         This method is only functional when the the SEC2 driver is used.
- *         """
- *         if H5Pget_driver(H5Fget_access_plist(self.id)) != h5fd.SEC2:             # <<<<<<<<<<<<<<
- *             raise NotImplementedError
- *         cdef int *handle
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_access_plist(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pget_driver(__pyx_t_1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__h5fd); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__SEC2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_t_5, Py_NE); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  if (__pyx_t_6) {
-
-    /* "h5py/h5f.pyx":343
- *         """
- *         if H5Pget_driver(H5Fget_access_plist(self.id)) != h5fd.SEC2:
- *             raise NotImplementedError             # <<<<<<<<<<<<<<
- *         cdef int *handle
- *         H5Fget_vfd_handle(self.id, H5Fget_access_plist(self.id), <void**>&handle)
- */
-    __Pyx_Raise(__pyx_builtin_NotImplementedError, 0, 0, 0);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5f.pyx":345
- *             raise NotImplementedError
- *         cdef int *handle
- *         H5Fget_vfd_handle(self.id, H5Fget_access_plist(self.id), <void**>&handle)             # <<<<<<<<<<<<<<
- *         return handle[0]
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Fget_access_plist(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_7 = __pyx_f_4h5py_4defs_H5Fget_vfd_handle(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_t_2, ((void **)(&__pyx_v_handle))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":346
- *         cdef int *handle
- *         H5Fget_vfd_handle(self.id, H5Fget_access_plist(self.id), <void**>&handle)
- *         return handle[0]             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_4 = PyInt_FromLong((__pyx_v_handle[0])); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_r = __pyx_t_4;
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_vfd_handle", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_19get_mdc_hit_rate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_18get_mdc_hit_rate[] = "() => DOUBLE\n\n        Retrieve the cache hit rate\n\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_19get_mdc_hit_rate(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_mdc_hit_rate (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_18get_mdc_hit_rate(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":376
- *             return <bint>atom
- * 
- *     def get_mdc_hit_rate(self):             # <<<<<<<<<<<<<<
- *         """() => DOUBLE
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_18get_mdc_hit_rate(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  double __pyx_v_hit_rate;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_mdc_hit_rate", 0);
-
-  /* "h5py/h5f.pyx":383
- *         """
- *         cdef double hit_rate
- *         H5Fget_mdc_hit_rate(self.id, &hit_rate)             # <<<<<<<<<<<<<<
- *         return hit_rate
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_mdc_hit_rate(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_hit_rate)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 383; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":384
- *         cdef double hit_rate
- *         H5Fget_mdc_hit_rate(self.id, &hit_rate)
- *         return hit_rate             # <<<<<<<<<<<<<<
- * 
- *     def get_mdc_size(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyFloat_FromDouble(__pyx_v_hit_rate); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_mdc_hit_rate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_21get_mdc_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_20get_mdc_size[] = "() => (max_size, min_clean_size, cur_size, cur_num_entries) [SIZE_T, SIZE_T, SIZE_T, INT]\n\n        Obtain current metadata cache size data for specified file.\n\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_21get_mdc_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_mdc_size (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_20get_mdc_size(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":386
- *         return hit_rate
- * 
- *     def get_mdc_size(self):             # <<<<<<<<<<<<<<
- *         """() => (max_size, min_clean_size, cur_size, cur_num_entries) [SIZE_T, SIZE_T, SIZE_T, INT]
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_20get_mdc_size(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  size_t __pyx_v_max_size;
-  size_t __pyx_v_min_clean_size;
-  size_t __pyx_v_cur_size;
-  int __pyx_v_cur_num_entries;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_mdc_size", 0);
-
-  /* "h5py/h5f.pyx":398
- * 
- * 
- *         H5Fget_mdc_size(self.id, &max_size, &min_clean_size, &cur_size, &cur_num_entries)             # <<<<<<<<<<<<<<
- * 
- *         return (max_size, min_clean_size, cur_size, cur_num_entries)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fget_mdc_size(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_max_size), (&__pyx_v_min_clean_size), (&__pyx_v_cur_size), (&__pyx_v_cur_num_entries)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":400
- *         H5Fget_mdc_size(self.id, &max_size, &min_clean_size, &cur_size, &cur_num_entries)
- * 
- *         return (max_size, min_clean_size, cur_size, cur_num_entries)             # <<<<<<<<<<<<<<
- * 
- *     def reset_mdc_hit_rate_stats(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_max_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_min_clean_size); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_cur_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyInt_FromLong(__pyx_v_cur_num_entries); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_t_5 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_6);
-  __pyx_t_6 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_mdc_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_23reset_mdc_hit_rate_stats(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_22reset_mdc_hit_rate_stats[] = "no return\n\n        rests the hit-rate statistics\n\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_23reset_mdc_hit_rate_stats(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("reset_mdc_hit_rate_stats (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_22reset_mdc_hit_rate_stats(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":402
- *         return (max_size, min_clean_size, cur_size, cur_num_entries)
- * 
- *     def reset_mdc_hit_rate_stats(self):             # <<<<<<<<<<<<<<
- *         """no return
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_22reset_mdc_hit_rate_stats(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("reset_mdc_hit_rate_stats", 0);
-
-  /* "h5py/h5f.pyx":408
- * 
- *         """
- *         H5Freset_mdc_hit_rate_stats(self.id)             # <<<<<<<<<<<<<<
- * 
- *     def get_mdc_config(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Freset_mdc_hit_rate_stats(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5f.FileID.reset_mdc_hit_rate_stats", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_25get_mdc_config(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_24get_mdc_config[] = "() => CacheConfig\n        Returns an object that stores all the information about the meta-data cache\n        configuration\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_25get_mdc_config(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_mdc_config (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_24get_mdc_config(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":410
- *         H5Freset_mdc_hit_rate_stats(self.id)
- * 
- *     def get_mdc_config(self):             # <<<<<<<<<<<<<<
- *         """() => CacheConfig
- *         Returns an object that stores all the information about the meta-data cache
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_24get_mdc_config(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  herr_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_mdc_config", 0);
-
-  /* "h5py/h5f.pyx":416
- *         """
- * 
- *         cdef CacheConfig config = CacheConfig()             # <<<<<<<<<<<<<<
- * 
- *         H5Fget_mdc_config(self.id, &config.cache_config)
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_4h5ac_CacheConfig)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_config = ((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5f.pyx":418
- *         cdef CacheConfig config = CacheConfig()
- * 
- *         H5Fget_mdc_config(self.id, &config.cache_config)             # <<<<<<<<<<<<<<
- * 
- *         return config
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Fget_mdc_config(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_config->cache_config)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":420
- *         H5Fget_mdc_config(self.id, &config.cache_config)
- * 
- *         return config             # <<<<<<<<<<<<<<
- * 
- *     def set_mdc_config(self, CacheConfig config not None):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_config));
-  __pyx_r = ((PyObject *)__pyx_v_config);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5f.FileID.get_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_config);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_27set_mdc_config(PyObject *__pyx_v_self, PyObject *__pyx_v_config); /*proto*/
-static char __pyx_doc_4h5py_3h5f_6FileID_26set_mdc_config[] = "(CacheConfig) => None\n        Returns an object that stores all the information about the meta-data cache\n        configuration\n        ";
-static PyObject *__pyx_pw_4h5py_3h5f_6FileID_27set_mdc_config(PyObject *__pyx_v_self, PyObject *__pyx_v_config) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_mdc_config (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_config), __pyx_ptype_4h5py_4h5ac_CacheConfig, 0, "config", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5f_6FileID_26set_mdc_config(((struct __pyx_obj_4h5py_3h5f_FileID *)__pyx_v_self), ((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_config));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5f.pyx":422
- *         return config
- * 
- *     def set_mdc_config(self, CacheConfig config not None):             # <<<<<<<<<<<<<<
- *         """(CacheConfig) => None
- *         Returns an object that stores all the information about the meta-data cache
- */
-
-static PyObject *__pyx_pf_4h5py_3h5f_6FileID_26set_mdc_config(struct __pyx_obj_4h5py_3h5f_FileID *__pyx_v_self, struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_mdc_config", 0);
-
-  /* "h5py/h5f.pyx":428
- *         """
- *         # I feel this should have some sanity checking to make sure that
- *         H5Fset_mdc_config(self.id, &config.cache_config)             # <<<<<<<<<<<<<<
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fset_mdc_config(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_config->cache_config)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5f.FileID.set_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5f_FileID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_ptype_4h5py_3h5g_GroupID->tp_new(t, a, k);
-  if (!o) return 0;
-  if (__pyx_pw_4h5py_3h5f_6FileID_1__cinit__(o, a, k) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5f_FileID(PyObject *o) {
-  PyObject_GC_UnTrack(o);
-  PyObject_GC_Track(o);
-  if (likely(__pyx_ptype_4h5py_3h5g_GroupID)) __pyx_ptype_4h5py_3h5g_GroupID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5f_FileID);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5f_FileID(PyObject *o, visitproc v, void *a) {
-  int e;
-  e = ((likely(__pyx_ptype_4h5py_3h5g_GroupID)) ? ((__pyx_ptype_4h5py_3h5g_GroupID->tp_traverse) ? __pyx_ptype_4h5py_3h5g_GroupID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5f_FileID)); if (e) return e;
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5f_FileID(PyObject *o) {
-  if (likely(__pyx_ptype_4h5py_3h5g_GroupID)) { if (__pyx_ptype_4h5py_3h5g_GroupID->tp_clear) __pyx_ptype_4h5py_3h5g_GroupID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5f_FileID);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5f_6FileID_name(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5f_6FileID_4name_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5f_FileID[] = {
-  {__Pyx_NAMESTR("close"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_3close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_2close)},
-  {__Pyx_NAMESTR("reopen"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_5reopen, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_4reopen)},
-  {__Pyx_NAMESTR("get_filesize"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_7get_filesize, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_6get_filesize)},
-  {__Pyx_NAMESTR("get_create_plist"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_9get_create_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_8get_create_plist)},
-  {__Pyx_NAMESTR("get_access_plist"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_11get_access_plist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_10get_access_plist)},
-  {__Pyx_NAMESTR("get_freespace"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_13get_freespace, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_12get_freespace)},
-  {__Pyx_NAMESTR("get_intent"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_15get_intent, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_14get_intent)},
-  {__Pyx_NAMESTR("get_vfd_handle"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_17get_vfd_handle, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_16get_vfd_handle)},
-  {__Pyx_NAMESTR("get_mdc_hit_rate"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_19get_mdc_hit_rate, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_18get_mdc_hit_rate)},
-  {__Pyx_NAMESTR("get_mdc_size"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_21get_mdc_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_20get_mdc_size)},
-  {__Pyx_NAMESTR("reset_mdc_hit_rate_stats"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_23reset_mdc_hit_rate_stats, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_22reset_mdc_hit_rate_stats)},
-  {__Pyx_NAMESTR("get_mdc_config"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_25get_mdc_config, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_24get_mdc_config)},
-  {__Pyx_NAMESTR("set_mdc_config"), (PyCFunction)__pyx_pw_4h5py_3h5f_6FileID_27set_mdc_config, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5f_6FileID_26set_mdc_config)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5f_FileID[] = {
-  {(char *)"name", __pyx_getprop_4h5py_3h5f_6FileID_name, 0, __Pyx_DOCSTR(__pyx_k_12), 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_FileID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_FileID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_FileID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_FileID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5f_FileID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5f.FileID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5f_FileID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5f_FileID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_FileID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_FileID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_FileID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_FileID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents an HDF5 file identifier.\n\n        These objects wrap a small portion of the H5F interface; all the\n        H5F functions which can take arbitrary objects in addition to\n        file identifiers are provided as functions in the h5f module.\n\n        Properties:\n\n        * name:   File name on disk\n\n        Behavior:\n\n        * Hashable: Yes, unique to the file (but not the access mode)\n        * Equality: Hash comparison\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5f_FileID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5f_FileID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5f_FileID, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5f_FileID, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5f_FileID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5f"),
-    __Pyx_DOCSTR(__pyx_k_13), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0},
-  {&__pyx_n_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 1},
-  {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0},
-  {&__pyx_n_s__ACC_EXCL, __pyx_k__ACC_EXCL, sizeof(__pyx_k__ACC_EXCL), 0, 0, 1, 1},
-  {&__pyx_n_s__ACC_RDONLY, __pyx_k__ACC_RDONLY, sizeof(__pyx_k__ACC_RDONLY), 0, 0, 1, 1},
-  {&__pyx_n_s__ACC_RDWR, __pyx_k__ACC_RDWR, sizeof(__pyx_k__ACC_RDWR), 0, 0, 1, 1},
-  {&__pyx_n_s__ACC_TRUNC, __pyx_k__ACC_TRUNC, sizeof(__pyx_k__ACC_TRUNC), 0, 0, 1, 1},
-  {&__pyx_n_s__CLOSE_DEFAULT, __pyx_k__CLOSE_DEFAULT, sizeof(__pyx_k__CLOSE_DEFAULT), 0, 0, 1, 1},
-  {&__pyx_n_s__CLOSE_SEMI, __pyx_k__CLOSE_SEMI, sizeof(__pyx_k__CLOSE_SEMI), 0, 0, 1, 1},
-  {&__pyx_n_s__CLOSE_STRONG, __pyx_k__CLOSE_STRONG, sizeof(__pyx_k__CLOSE_STRONG), 0, 0, 1, 1},
-  {&__pyx_n_s__CLOSE_WEAK, __pyx_k__CLOSE_WEAK, sizeof(__pyx_k__CLOSE_WEAK), 0, 0, 1, 1},
-  {&__pyx_n_s__LIBVER_EARLIEST, __pyx_k__LIBVER_EARLIEST, sizeof(__pyx_k__LIBVER_EARLIEST), 0, 0, 1, 1},
-  {&__pyx_n_s__LIBVER_LATEST, __pyx_k__LIBVER_LATEST, sizeof(__pyx_k__LIBVER_LATEST), 0, 0, 1, 1},
-  {&__pyx_n_s__NotImplementedError, __pyx_k__NotImplementedError, sizeof(__pyx_k__NotImplementedError), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJ_ALL, __pyx_k__OBJ_ALL, sizeof(__pyx_k__OBJ_ALL), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJ_ATTR, __pyx_k__OBJ_ATTR, sizeof(__pyx_k__OBJ_ATTR), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJ_DATASET, __pyx_k__OBJ_DATASET, sizeof(__pyx_k__OBJ_DATASET), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJ_DATATYPE, __pyx_k__OBJ_DATATYPE, sizeof(__pyx_k__OBJ_DATATYPE), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJ_FILE, __pyx_k__OBJ_FILE, sizeof(__pyx_k__OBJ_FILE), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJ_GROUP, __pyx_k__OBJ_GROUP, sizeof(__pyx_k__OBJ_GROUP), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJ_LOCAL, __pyx_k__OBJ_LOCAL, sizeof(__pyx_k__OBJ_LOCAL), 0, 0, 1, 1},
-  {&__pyx_n_s__SCOPE_GLOBAL, __pyx_k__SCOPE_GLOBAL, sizeof(__pyx_k__SCOPE_GLOBAL), 0, 0, 1, 1},
-  {&__pyx_n_s__SCOPE_LOCAL, __pyx_k__SCOPE_LOCAL, sizeof(__pyx_k__SCOPE_LOCAL), 0, 0, 1, 1},
-  {&__pyx_n_s__SEC2, __pyx_k__SEC2, sizeof(__pyx_k__SEC2), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1},
-  {&__pyx_n_s__cleanup, __pyx_k__cleanup, sizeof(__pyx_k__cleanup), 0, 0, 1, 1},
-  {&__pyx_n_s__count, __pyx_k__count, sizeof(__pyx_k__count), 0, 0, 1, 1},
-  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
-  {&__pyx_n_s__fapl, __pyx_k__fapl, sizeof(__pyx_k__fapl), 0, 0, 1, 1},
-  {&__pyx_n_s__fcpl, __pyx_k__fcpl, sizeof(__pyx_k__fcpl), 0, 0, 1, 1},
-  {&__pyx_n_s__fid, __pyx_k__fid, sizeof(__pyx_k__fid), 0, 0, 1, 1},
-  {&__pyx_n_s__flags, __pyx_k__flags, sizeof(__pyx_k__flags), 0, 0, 1, 1},
-  {&__pyx_n_s__flush, __pyx_k__flush, sizeof(__pyx_k__flush), 0, 0, 1, 1},
-  {&__pyx_n_s__get_name, __pyx_k__get_name, sizeof(__pyx_k__get_name), 0, 0, 1, 1},
-  {&__pyx_n_s__get_obj_count, __pyx_k__get_obj_count, sizeof(__pyx_k__get_obj_count), 0, 0, 1, 1},
-  {&__pyx_n_s__get_obj_ids, __pyx_k__get_obj_ids, sizeof(__pyx_k__get_obj_ids), 0, 0, 1, 1},
-  {&__pyx_n_s__h5fd, __pyx_k__h5fd, sizeof(__pyx_k__h5fd), 0, 0, 1, 1},
-  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
-  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
-  {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
-  {&__pyx_n_s__is_hdf5, __pyx_k__is_hdf5, sizeof(__pyx_k__is_hdf5), 0, 0, 1, 1},
-  {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1},
-  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
-  {&__pyx_n_s__mount, __pyx_k__mount, sizeof(__pyx_k__mount), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1},
-  {&__pyx_n_s__obj_list, __pyx_k__obj_list, sizeof(__pyx_k__obj_list), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__pname, __pyx_k__pname, sizeof(__pyx_k__pname), 0, 0, 1, 1},
-  {&__pyx_n_s__py_obj_list, __pyx_k__py_obj_list, sizeof(__pyx_k__py_obj_list), 0, 0, 1, 1},
-  {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1},
-  {&__pyx_n_s__scope, __pyx_k__scope, sizeof(__pyx_k__scope), 0, 0, 1, 1},
-  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
-  {&__pyx_n_s__types, __pyx_k__types, sizeof(__pyx_k__types), 0, 0, 1, 1},
-  {&__pyx_n_s__unmount, __pyx_k__unmount, sizeof(__pyx_k__unmount), 0, 0, 1, 1},
-  {&__pyx_n_s__where, __pyx_k__where, sizeof(__pyx_k__where), 0, 0, 1, 1},
-  {&__pyx_n_s__where_id, __pyx_k__where_id, sizeof(__pyx_k__where_id), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_NotImplementedError = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5f.pyx":178
- *         where_id = where
- *     else:
- *         raise TypeError("Location must be a FileID or OBJ_ALL.")             # <<<<<<<<<<<<<<
- * 
- *     return H5Fget_obj_count(where_id, types)
- */
-  __pyx_k_tuple_7 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_6)); if (unlikely(!__pyx_k_tuple_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_7);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_7));
-
-  /* "h5py/h5f.pyx":212
- *             where_id = int(where)
- *         except TypeError:
- *             raise TypeError("Location must be a FileID or OBJ_ALL.")             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_k_tuple_10 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_6)); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_10);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_10));
-
-  /* "h5py/h5f.pyx":269
- *         identifiers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             self.locked = False
- *             H5Fclose(self.id)
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-
-  /* "h5py/h5f.pyx":58
- * 
- * 
- * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):             # <<<<<<<<<<<<<<
- *     """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID
- * 
- */
-  __pyx_k_tuple_14 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__flags), ((PyObject *)__pyx_n_s__fapl)); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_14);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14));
-  __pyx_k_codeobj_15 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__open, 58, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":74
- * 
- * 
- * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,             # <<<<<<<<<<<<<<
- *                                                 PropFAID fapl=None):
- *     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
- */
-  __pyx_k_tuple_18 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__flags), ((PyObject *)__pyx_n_s__fcpl), ((PyObject *)__pyx_n_s__fapl)); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_18);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18));
-  __pyx_k_codeobj_19 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__create, 74, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":93
- * 
- * 
- * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj, INT scope=SCOPE_LOCAL)
- * 
- */
-  __pyx_k_tuple_20 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__obj), ((PyObject *)__pyx_n_s__scope)); if (unlikely(!__pyx_k_tuple_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_20);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_20));
-  __pyx_k_codeobj_21 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__flush, 93, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":109
- * 
- * 
- * def is_hdf5(char* name):             # <<<<<<<<<<<<<<
- *     """(STRING name) => BOOL
- * 
- */
-  __pyx_k_tuple_22 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_22);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22));
-  __pyx_k_codeobj_23 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_22, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__is_hdf5, 109, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":118
- * 
- * 
- * def mount(ObjectID loc not None, char* name, FileID fid not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, FileID fid)
- * 
- */
-  __pyx_k_tuple_24 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__fid)); if (unlikely(!__pyx_k_tuple_24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_24);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_24));
-  __pyx_k_codeobj_25 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_24, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__mount, 118, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":127
- * 
- * 
- * def unmount(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name)
- * 
- */
-  __pyx_k_tuple_26 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_26);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_26));
-  __pyx_k_codeobj_27 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__unmount, 127, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":135
- * 
- * 
- * def get_name(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj) => STRING
- * 
- */
-  __pyx_k_tuple_28 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__obj), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__pname)); if (unlikely(!__pyx_k_tuple_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_28);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_28));
-  __pyx_k_codeobj_29 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__get_name, 135, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":155
- * 
- * 
- * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
- *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT
- * 
- */
-  __pyx_k_tuple_30 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__where), ((PyObject *)__pyx_n_s__types), ((PyObject *)__pyx_n_s__where_id)); if (unlikely(!__pyx_k_tuple_30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_30);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_30));
-  __pyx_k_codeobj_31 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__get_obj_count, 155, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5f.pyx":183
- * 
- * 
- * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
- *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST
- * 
- */
-  __pyx_k_tuple_32 = PyTuple_Pack(7, ((PyObject *)__pyx_n_s__where), ((PyObject *)__pyx_n_s__types), ((PyObject *)__pyx_n_s__count), ((PyObject *)__pyx_n_s__i), ((PyObject *)__pyx_n_s__where_id), ((PyObject *)__pyx_n_s__obj_list), ((PyObject *)__pyx_n_s__py_obj_list)); if (unlikely(!__pyx_k_tuple_32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_32);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_32));
-  __pyx_k_codeobj_33 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_16, __pyx_n_s__get_obj_ids, 183, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5f(void); /*proto*/
-PyMODINIT_FUNC inith5f(void)
-#else
-PyMODINIT_FUNC PyInit_h5f(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5f(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5f(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5f"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_13), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5f")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5f", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5f) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  __pyx_ptype_4h5py_3h5g_GroupID = __Pyx_ImportType("h5py.h5g", "GroupID", sizeof(struct __pyx_obj_4h5py_3h5g_GroupID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5g_GroupID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_type_4h5py_3h5f_FileID.tp_base = __pyx_ptype_4h5py_3h5g_GroupID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5f_FileID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "FileID", (PyObject *)&__pyx_type_4h5py_3h5f_FileID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 231; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5f_FileID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5f_FileID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5f_FileID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5f_FileID = &__pyx_type_4h5py_3h5f_FileID;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropOCID = __Pyx_ImportType("h5py.h5p", "PropOCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropOCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropOCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeID = __Pyx_ImportType("h5py.h5t", "TypeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeArrayID = __Pyx_ImportType("h5py.h5t", "TypeArrayID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeArrayID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeArrayID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeOpaqueID = __Pyx_ImportType("h5py.h5t", "TypeOpaqueID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeOpaqueID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeStringID = __Pyx_ImportType("h5py.h5t", "TypeStringID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeStringID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeStringID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeVlenID = __Pyx_ImportType("h5py.h5t", "TypeVlenID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeVlenID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeVlenID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeTimeID = __Pyx_ImportType("h5py.h5t", "TypeTimeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeTimeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeTimeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeBitfieldID = __Pyx_ImportType("h5py.h5t", "TypeBitfieldID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeBitfieldID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeReferenceID = __Pyx_ImportType("h5py.h5t", "TypeReferenceID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeReferenceID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeReferenceID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeAtomicID = __Pyx_ImportType("h5py.h5t", "TypeAtomicID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeAtomicID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeAtomicID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeIntegerID = __Pyx_ImportType("h5py.h5t", "TypeIntegerID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeIntegerID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeIntegerID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeFloatID = __Pyx_ImportType("h5py.h5t", "TypeFloatID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeFloatID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeFloatID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeCompositeID = __Pyx_ImportType("h5py.h5t", "TypeCompositeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeCompositeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompositeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeEnumID = __Pyx_ImportType("h5py.h5t", "TypeEnumID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeEnumID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeEnumID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeCompoundID = __Pyx_ImportType("h5py.h5t", "TypeCompoundID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_4h5ac_CacheConfig = __Pyx_ImportType("h5py.h5ac", "CacheConfig", sizeof(struct __pyx_obj_4h5py_4h5ac_CacheConfig), 1); if (unlikely(!__pyx_ptype_4h5py_4h5ac_CacheConfig)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fcreate, "hid_t (char *, unsigned int, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fopen, "hid_t (char *, unsigned int, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fis_hdf5", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fis_hdf5, "htri_t (char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fflush", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fflush, "herr_t (hid_t, enum H5F_scope_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Freopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Freopen, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fmount, "herr_t (hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Funmount", (void (**)(void))&__pyx_f_4h5py_4defs_H5Funmount, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_filesize", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_filesize, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_create_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_create_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_access_plist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_access_plist, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_freespace", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_freespace, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_count", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_count, "int (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_obj_ids", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_obj_ids, "int (hid_t, unsigned int, int, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_vfd_handle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_vfd_handle, "herr_t (hid_t, hid_t, void **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_intent", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_intent, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_mdc_config", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_mdc_hit_rate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_mdc_hit_rate, "herr_t (hid_t, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_mdc_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_mdc_size, "herr_t (hid_t, size_t *, size_t *, size_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Freset_mdc_hit_rate_stats", (void (**)(void))&__pyx_f_4h5py_4defs_H5Freset_mdc_hit_rate_stats, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fset_mdc_config", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fset_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_ImportModule("h5py.h5p"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "propwrap", (void (**)(void))&__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_4 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "typewrap", (void (**)(void))&__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_5 = __Pyx_ImportModule("h5py.h5i"); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_5, "wrap_identifier", (void (**)(void))&__pyx_f_4h5py_3h5i_wrap_identifier, "struct __pyx_obj_4h5py_8_objects_ObjectID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_6 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_6, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_6, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5f.pyx":24
- * from utils cimport emalloc, efree
- * 
- * from h5py import _objects             # <<<<<<<<<<<<<<
- * import h5fd
- * 
- */
-  __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s___objects));
-  PyList_SET_ITEM(__pyx_t_7, 0, ((PyObject *)__pyx_n_s___objects));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects));
-  __pyx_t_8 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_7), -1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-  __pyx_t_7 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s___objects);
-  if (__pyx_t_7 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects);
-    if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_7);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_7) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":25
- * 
- * from h5py import _objects
- * import h5fd             # <<<<<<<<<<<<<<
- * 
- * # Initialization
- */
-  __pyx_t_8 = __Pyx_Import(((PyObject *)__pyx_n_s__h5fd), 0, -1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__h5fd, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":31
- * # === Public constants and data structures ====================================
- * 
- * ACC_TRUNC   = H5F_ACC_TRUNC             # <<<<<<<<<<<<<<
- * ACC_EXCL    = H5F_ACC_EXCL
- * ACC_RDWR    = H5F_ACC_RDWR
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_ACC_TRUNC); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_TRUNC, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":32
- * 
- * ACC_TRUNC   = H5F_ACC_TRUNC
- * ACC_EXCL    = H5F_ACC_EXCL             # <<<<<<<<<<<<<<
- * ACC_RDWR    = H5F_ACC_RDWR
- * ACC_RDONLY  = H5F_ACC_RDONLY
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_ACC_EXCL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_EXCL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":33
- * ACC_TRUNC   = H5F_ACC_TRUNC
- * ACC_EXCL    = H5F_ACC_EXCL
- * ACC_RDWR    = H5F_ACC_RDWR             # <<<<<<<<<<<<<<
- * ACC_RDONLY  = H5F_ACC_RDONLY
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_ACC_RDWR); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_RDWR, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":34
- * ACC_EXCL    = H5F_ACC_EXCL
- * ACC_RDWR    = H5F_ACC_RDWR
- * ACC_RDONLY  = H5F_ACC_RDONLY             # <<<<<<<<<<<<<<
- * 
- * SCOPE_LOCAL     = H5F_SCOPE_LOCAL
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_ACC_RDONLY); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ACC_RDONLY, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":36
- * ACC_RDONLY  = H5F_ACC_RDONLY
- * 
- * SCOPE_LOCAL     = H5F_SCOPE_LOCAL             # <<<<<<<<<<<<<<
- * SCOPE_GLOBAL    = H5F_SCOPE_GLOBAL
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_SCOPE_LOCAL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SCOPE_LOCAL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":37
- * 
- * SCOPE_LOCAL     = H5F_SCOPE_LOCAL
- * SCOPE_GLOBAL    = H5F_SCOPE_GLOBAL             # <<<<<<<<<<<<<<
- * 
- * CLOSE_WEAK  = H5F_CLOSE_WEAK
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_SCOPE_GLOBAL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SCOPE_GLOBAL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":39
- * SCOPE_GLOBAL    = H5F_SCOPE_GLOBAL
- * 
- * CLOSE_WEAK  = H5F_CLOSE_WEAK             # <<<<<<<<<<<<<<
- * CLOSE_SEMI  = H5F_CLOSE_SEMI
- * CLOSE_STRONG = H5F_CLOSE_STRONG
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_CLOSE_WEAK); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_WEAK, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":40
- * 
- * CLOSE_WEAK  = H5F_CLOSE_WEAK
- * CLOSE_SEMI  = H5F_CLOSE_SEMI             # <<<<<<<<<<<<<<
- * CLOSE_STRONG = H5F_CLOSE_STRONG
- * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_CLOSE_SEMI); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_SEMI, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":41
- * CLOSE_WEAK  = H5F_CLOSE_WEAK
- * CLOSE_SEMI  = H5F_CLOSE_SEMI
- * CLOSE_STRONG = H5F_CLOSE_STRONG             # <<<<<<<<<<<<<<
- * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_CLOSE_STRONG); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_STRONG, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":42
- * CLOSE_SEMI  = H5F_CLOSE_SEMI
- * CLOSE_STRONG = H5F_CLOSE_STRONG
- * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT             # <<<<<<<<<<<<<<
- * 
- * OBJ_FILE    = H5F_OBJ_FILE
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_CLOSE_DEFAULT); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CLOSE_DEFAULT, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":44
- * CLOSE_DEFAULT = H5F_CLOSE_DEFAULT
- * 
- * OBJ_FILE    = H5F_OBJ_FILE             # <<<<<<<<<<<<<<
- * OBJ_DATASET = H5F_OBJ_DATASET
- * OBJ_GROUP   = H5F_OBJ_GROUP
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_OBJ_FILE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_FILE, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":45
- * 
- * OBJ_FILE    = H5F_OBJ_FILE
- * OBJ_DATASET = H5F_OBJ_DATASET             # <<<<<<<<<<<<<<
- * OBJ_GROUP   = H5F_OBJ_GROUP
- * OBJ_DATATYPE = H5F_OBJ_DATATYPE
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_OBJ_DATASET); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_DATASET, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":46
- * OBJ_FILE    = H5F_OBJ_FILE
- * OBJ_DATASET = H5F_OBJ_DATASET
- * OBJ_GROUP   = H5F_OBJ_GROUP             # <<<<<<<<<<<<<<
- * OBJ_DATATYPE = H5F_OBJ_DATATYPE
- * OBJ_ATTR    = H5F_OBJ_ATTR
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_OBJ_GROUP); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_GROUP, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":47
- * OBJ_DATASET = H5F_OBJ_DATASET
- * OBJ_GROUP   = H5F_OBJ_GROUP
- * OBJ_DATATYPE = H5F_OBJ_DATATYPE             # <<<<<<<<<<<<<<
- * OBJ_ATTR    = H5F_OBJ_ATTR
- * OBJ_ALL     = H5F_OBJ_ALL
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_OBJ_DATATYPE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_DATATYPE, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":48
- * OBJ_GROUP   = H5F_OBJ_GROUP
- * OBJ_DATATYPE = H5F_OBJ_DATATYPE
- * OBJ_ATTR    = H5F_OBJ_ATTR             # <<<<<<<<<<<<<<
- * OBJ_ALL     = H5F_OBJ_ALL
- * OBJ_LOCAL   = H5F_OBJ_LOCAL
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_OBJ_ATTR); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_ATTR, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":49
- * OBJ_DATATYPE = H5F_OBJ_DATATYPE
- * OBJ_ATTR    = H5F_OBJ_ATTR
- * OBJ_ALL     = H5F_OBJ_ALL             # <<<<<<<<<<<<<<
- * OBJ_LOCAL   = H5F_OBJ_LOCAL
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_OBJ_ALL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_ALL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":50
- * OBJ_ATTR    = H5F_OBJ_ATTR
- * OBJ_ALL     = H5F_OBJ_ALL
- * OBJ_LOCAL   = H5F_OBJ_LOCAL             # <<<<<<<<<<<<<<
- * 
- * LIBVER_EARLIEST = H5F_LIBVER_EARLIEST
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_OBJ_LOCAL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJ_LOCAL, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":52
- * OBJ_LOCAL   = H5F_OBJ_LOCAL
- * 
- * LIBVER_EARLIEST = H5F_LIBVER_EARLIEST             # <<<<<<<<<<<<<<
- * LIBVER_LATEST = H5F_LIBVER_LATEST
- * 
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_LIBVER_EARLIEST); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LIBVER_EARLIEST, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":53
- * 
- * LIBVER_EARLIEST = H5F_LIBVER_EARLIEST
- * LIBVER_LATEST = H5F_LIBVER_LATEST             # <<<<<<<<<<<<<<
- * 
- * # === File operations =========================================================
- */
-  __pyx_t_8 = PyInt_FromLong(H5F_LIBVER_LATEST); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LIBVER_LATEST, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":58
- * 
- * 
- * def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):             # <<<<<<<<<<<<<<
- *     """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID
- * 
- */
-  __pyx_k_1 = H5F_ACC_RDWR;
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_1open, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":74
- * 
- * 
- * def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,             # <<<<<<<<<<<<<<
- *                                                 PropFAID fapl=None):
- *     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
- */
-  __pyx_k_2 = H5F_ACC_TRUNC;
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_3create, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":93
- * 
- * 
- * def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj, INT scope=SCOPE_LOCAL)
- * 
- */
-  __pyx_k_3 = H5F_SCOPE_LOCAL;
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_5flush, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__flush, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":109
- * 
- * 
- * def is_hdf5(char* name):             # <<<<<<<<<<<<<<
- *     """(STRING name) => BOOL
- * 
- */
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_7is_hdf5, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__is_hdf5, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":118
- * 
- * 
- * def mount(ObjectID loc not None, char* name, FileID fid not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, FileID fid)
- * 
- */
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_9mount, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__mount, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":127
- * 
- * 
- * def unmount(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name)
- * 
- */
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_11unmount, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__unmount, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":135
- * 
- * 
- * def get_name(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj) => STRING
- * 
- */
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_13get_name, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_name, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":155
- * 
- * 
- * def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
- *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT
- * 
- */
-  __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__OBJ_ALL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __pyx_k_4 = __pyx_t_8;
-  __Pyx_GIVEREF(__pyx_t_8);
-  __pyx_t_8 = 0;
-  __pyx_k_5 = H5F_OBJ_ALL;
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_15get_obj_count, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_obj_count, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":183
- * 
- * 
- * def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):             # <<<<<<<<<<<<<<
- *     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST
- * 
- */
-  __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__OBJ_ALL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __pyx_k_8 = __pyx_t_8;
-  __Pyx_GIVEREF(__pyx_t_8);
-  __pyx_t_8 = 0;
-  __pyx_k_9 = H5F_OBJ_ALL;
-  __pyx_t_8 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5f_17get_obj_ids, NULL, __pyx_n_s_17); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_obj_ids, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-  /* "h5py/h5f.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_8 = PyDict_New(); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_8));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_8)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5f", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5f");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_dealloc != current_tp_dealloc)
-        type = type->tp_base;
-    while (type && type->tp_dealloc == current_tp_dealloc)
-        type = type->tp_base;
-    if (type)
-        type->tp_dealloc(obj);
-}
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_traverse != current_tp_traverse)
-        type = type->tp_base;
-    while (type && type->tp_traverse == current_tp_traverse)
-        type = type->tp_base;
-    if (type && type->tp_traverse)
-        return type->tp_traverse(obj, v, a);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_clear != current_tp_clear)
-        type = type->tp_base;
-    while (type && type->tp_clear == current_tp_clear)
-        type = type->tp_base;
-    if (type && type->tp_clear)
-        type->tp_clear(obj);
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hid_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hid_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hid_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hid_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hid_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hid_t)-1;
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hssize_t(hssize_t val) {
-    const hssize_t neg_one = (hssize_t)-1, const_zero = (hssize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hssize_t) == sizeof(char))  ||
-        (sizeof(hssize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hssize_t) == sizeof(int)) ||
-               (sizeof(hssize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hssize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hssize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-static void* __Pyx_GetVtable(PyObject *dict) {
-    void* ptr;
-    PyObject *ob = PyMapping_GetItemString(dict, (char *)"__pyx_vtable__");
-    if (!ob)
-        goto bad;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    ptr = PyCapsule_GetPointer(ob, 0);
-#else
-    ptr = PyCObject_AsVoidPtr(ob);
-#endif
-    if (!ptr && !PyErr_Occurred())
-        PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
-    Py_DECREF(ob);
-    return ptr;
-bad:
-    Py_XDECREF(ob);
-    return NULL;
-}
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5f.pyx b/h5py/h5f.pyx
index 5d23b64..0e3dad6 100644
--- a/h5py/h5f.pyx
+++ b/h5py/h5f.pyx
@@ -22,6 +22,7 @@ from h5ac cimport CacheConfig
 from utils cimport emalloc, efree
 
 from h5py import _objects
+from ._objects import phil, with_phil
 import h5fd
 
 # Initialization
@@ -54,7 +55,7 @@ LIBVER_LATEST = H5F_LIBVER_LATEST
 
 # === File operations =========================================================
 
-
+ at with_phil
 def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):
     """(STRING name, UINT flags=ACC_RDWR, PropFAID fapl=None) => FileID
 
@@ -68,9 +69,10 @@ def open(char* name, unsigned int flags=H5F_ACC_RDWR, PropFAID fapl=None):
 
     Keyword fapl may be a file access property list.
     """
-    return FileID.open(H5Fopen(name, flags, pdefault(fapl)))
+    return FileID(H5Fopen(name, flags, pdefault(fapl)))
 
 
+ at with_phil
 def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,
                                                 PropFAID fapl=None):
     """(STRING name, INT flags=ACC_TRUNC, PropFCID fcpl=None,
@@ -87,9 +89,10 @@ def create(char* name, int flags=H5F_ACC_TRUNC, PropFCID fcpl=None,
     To keep the behavior in line with that of Python's built-in functions,
     the default is ACC_TRUNC.  Be careful!
     """
-    return FileID.open(H5Fcreate(name, flags, pdefault(fcpl), pdefault(fapl)))
+    return FileID(H5Fcreate(name, flags, pdefault(fcpl), pdefault(fapl)))
 
 
+ at with_phil
 def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):
     """(ObjectID obj, INT scope=SCOPE_LOCAL)
 
@@ -106,6 +109,7 @@ def flush(ObjectID obj not None, int scope=H5F_SCOPE_LOCAL):
     H5Fflush(obj.id, <H5F_scope_t>scope)
 
 
+ at with_phil
 def is_hdf5(char* name):
     """(STRING name) => BOOL
 
@@ -115,6 +119,7 @@ def is_hdf5(char* name):
     return <bint>(H5Fis_hdf5(name))
 
 
+ at with_phil
 def mount(ObjectID loc not None, char* name, FileID fid not None):
     """(ObjectID loc, STRING name, FileID fid)
 
@@ -124,6 +129,7 @@ def mount(ObjectID loc not None, char* name, FileID fid not None):
     H5Fmount(loc.id, name, fid.id, H5P_DEFAULT)
 
 
+ at with_phil
 def unmount(ObjectID loc not None, char* name):
     """(ObjectID loc, STRING name)
 
@@ -132,6 +138,7 @@ def unmount(ObjectID loc not None, char* name):
     H5Funmount(loc.id, name)
 
 
+ at with_phil
 def get_name(ObjectID obj not None):
     """(ObjectID obj) => STRING
 
@@ -152,6 +159,7 @@ def get_name(ObjectID obj not None):
         efree(name)
 
 
+ at with_phil
 def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):
     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => INT
 
@@ -180,6 +188,7 @@ def get_obj_count(object where=OBJ_ALL, int types=H5F_OBJ_ALL):
     return H5Fget_obj_count(where_id, types)
 
 
+ at with_phil
 def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):
     """(OBJECT where=OBJ_ALL, types=OBJ_ALL) => LIST
 
@@ -215,11 +224,13 @@ def get_obj_ids(object where=OBJ_ALL, int types=H5F_OBJ_ALL):
         count = H5Fget_obj_count(where_id, types)
         obj_list = <hid_t*>emalloc(sizeof(hid_t)*count)
 
-        H5Fget_obj_ids(where_id, types, count, obj_list)
-        for i from 0<=i<count:
-            py_obj_list.append(wrap_identifier(obj_list[i]))
-            # The HDF5 function returns a borrowed reference for each hid_t.
-            #H5Iinc_ref(obj_list[i])
+        if count > 0: # HDF5 complains that obj_list is NULL, even if count==0
+            H5Fget_obj_ids(where_id, types, count, obj_list)
+            for i from 0<=i<count:
+                py_obj_list.append(wrap_identifier(obj_list[i]))
+                # The HDF5 function returns a borrowed reference for each hid_t.
+                H5Iinc_ref(obj_list[i])
+                
         return py_obj_list
 
     finally:
@@ -250,14 +261,11 @@ cdef class FileID(GroupID):
     property name:
         """ File name on disk (according to h5f.get_name()) """
         def __get__(self):
-            return get_name(self)
-
-
-    def __cinit__(self, id):
-        # lock the id proxy for as long as the the identifier is open
-        self.locked = True
+            with phil:
+                return get_name(self)
 
 
+    @with_phil
     def close(self):
         """()
 
@@ -266,12 +274,11 @@ cdef class FileID(GroupID):
         physical file might not be closed until all remaining open
         identifiers are freed.
         """
-        with _objects.registry.lock:
-            self.locked = False
-            H5Fclose(self.id)
-            _objects.registry.cleanup()
+        self._close()
+        _objects.nonlocal_close()
 
 
+    @with_phil
     def reopen(self):
         """() => FileID
 
@@ -279,9 +286,10 @@ cdef class FileID(GroupID):
         The new identifier is guaranteed to neither be mounted nor contain
         a mounted file.
         """
-        return FileID.open(H5Freopen(self.id))
+        return FileID(H5Freopen(self.id))
 
 
+    @with_phil
     def get_filesize(self):
         """() => LONG size
 
@@ -293,6 +301,7 @@ cdef class FileID(GroupID):
         return size
 
 
+    @with_phil
     def get_create_plist(self):
         """() => PropFCID
 
@@ -302,6 +311,7 @@ cdef class FileID(GroupID):
         return propwrap(H5Fget_create_plist(self.id))
 
 
+    @with_phil
     def get_access_plist(self):
         """() => PropFAID
 
@@ -311,6 +321,7 @@ cdef class FileID(GroupID):
         return propwrap(H5Fget_access_plist(self.id))
 
 
+    @with_phil
     def get_freespace(self):
         """() => LONG freespace
 
@@ -320,6 +331,7 @@ cdef class FileID(GroupID):
         return H5Fget_freespace(self.id)
 
 
+    @with_phil
     def get_intent(self):
         """ () => INT
 
@@ -332,6 +344,7 @@ cdef class FileID(GroupID):
         return mode
 
 
+    @with_phil
     def get_vfd_handle(self):
         """ () => INT
 
@@ -348,6 +361,7 @@ cdef class FileID(GroupID):
 
     IF MPI and HDF5_VERSION >= (1, 8, 9):
 
+        @with_phil
         def set_mpi_atomicity(self, bint atomicity):
             """ (BOOL atomicity)
 
@@ -361,6 +375,7 @@ cdef class FileID(GroupID):
             H5Fset_mpi_atomicity(self.id, <hbool_t>atomicity)
 
 
+        @with_phil
         def get_mpi_atomicity(self):
             """ () => BOOL
 
@@ -373,6 +388,8 @@ cdef class FileID(GroupID):
             H5Fget_mpi_atomicity(self.id, &atom)
             return <bint>atom
 
+
+    @with_phil
     def get_mdc_hit_rate(self):
         """() => DOUBLE
 
@@ -383,6 +400,8 @@ cdef class FileID(GroupID):
         H5Fget_mdc_hit_rate(self.id, &hit_rate)
         return hit_rate
 
+
+    @with_phil
     def get_mdc_size(self):
         """() => (max_size, min_clean_size, cur_size, cur_num_entries) [SIZE_T, SIZE_T, SIZE_T, INT]
 
@@ -399,6 +418,8 @@ cdef class FileID(GroupID):
 
         return (max_size, min_clean_size, cur_size, cur_num_entries)
 
+
+    @with_phil
     def reset_mdc_hit_rate_stats(self):
         """no return
 
@@ -407,6 +428,8 @@ cdef class FileID(GroupID):
         """
         H5Freset_mdc_hit_rate_stats(self.id)
 
+
+    @with_phil
     def get_mdc_config(self):
         """() => CacheConfig
         Returns an object that stores all the information about the meta-data cache
@@ -419,6 +442,7 @@ cdef class FileID(GroupID):
 
         return config
 
+    @with_phil
     def set_mdc_config(self, CacheConfig config not None):
         """(CacheConfig) => None
         Returns an object that stores all the information about the meta-data cache
diff --git a/h5py/h5fd.c b/h5py/h5fd.c
deleted file mode 100644
index f0a1ff3..0000000
--- a/h5py/h5fd.c
+++ /dev/null
@@ -1,1910 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5fd
-#define __PYX_HAVE_API__h5py__h5fd
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5fd.pyx",
-};
-
-/*--- Type declarations ---*/
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-
-/* Module declarations from 'h5py.h5fd' */
-#define __Pyx_MODULE_NAME "h5py.h5fd"
-int __pyx_module_is_main_h5py__h5fd = 0;
-
-/* Implementation of 'h5py.h5fd' */
-static char __pyx_k_1[] = "\n    File driver constants (H5FD*).\n";
-static char __pyx_k__LOG[] = "LOG";
-static char __pyx_k__CORE[] = "CORE";
-static char __pyx_k__MPIO[] = "MPIO";
-static char __pyx_k__SEC2[] = "SEC2";
-static char __pyx_k__MULTI[] = "MULTI";
-static char __pyx_k__STDIO[] = "STDIO";
-static char __pyx_k__FAMILY[] = "FAMILY";
-static char __pyx_k__LOG_ALL[] = "LOG_ALL";
-static char __pyx_k__WINDOWS[] = "WINDOWS";
-static char __pyx_k__MEM_DRAW[] = "MEM_DRAW";
-static char __pyx_k__MEM_OHDR[] = "MEM_OHDR";
-static char __pyx_k__MPIPOSIX[] = "MPIPOSIX";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__LOG_ALLOC[] = "LOG_ALLOC";
-static char __pyx_k__MEM_BTREE[] = "MEM_BTREE";
-static char __pyx_k__MEM_GHEAP[] = "MEM_GHEAP";
-static char __pyx_k__MEM_LHEAP[] = "MEM_LHEAP";
-static char __pyx_k__MEM_SUPER[] = "MEM_SUPER";
-static char __pyx_k__LOG_FLAVOR[] = "LOG_FLAVOR";
-static char __pyx_k__LOG_LOC_IO[] = "LOG_LOC_IO";
-static char __pyx_k__LOG_NUM_IO[] = "LOG_NUM_IO";
-static char __pyx_k__MEM_NTYPES[] = "MEM_NTYPES";
-static char __pyx_k__LOG_FILE_IO[] = "LOG_FILE_IO";
-static char __pyx_k__LOG_TIME_IO[] = "LOG_TIME_IO";
-static char __pyx_k__MEM_DEFAULT[] = "MEM_DEFAULT";
-static char __pyx_k__LOG_LOC_READ[] = "LOG_LOC_READ";
-static char __pyx_k__LOG_LOC_SEEK[] = "LOG_LOC_SEEK";
-static char __pyx_k__LOG_NUM_READ[] = "LOG_NUM_READ";
-static char __pyx_k__LOG_NUM_SEEK[] = "LOG_NUM_SEEK";
-static char __pyx_k__LOG_FILE_READ[] = "LOG_FILE_READ";
-static char __pyx_k__LOG_LOC_WRITE[] = "LOG_LOC_WRITE";
-static char __pyx_k__LOG_NUM_WRITE[] = "LOG_NUM_WRITE";
-static char __pyx_k__LOG_TIME_OPEN[] = "LOG_TIME_OPEN";
-static char __pyx_k__LOG_TIME_READ[] = "LOG_TIME_READ";
-static char __pyx_k__LOG_TIME_SEEK[] = "LOG_TIME_SEEK";
-static char __pyx_k__LOG_FILE_WRITE[] = "LOG_FILE_WRITE";
-static char __pyx_k__LOG_TIME_CLOSE[] = "LOG_TIME_CLOSE";
-static char __pyx_k__LOG_TIME_WRITE[] = "LOG_TIME_WRITE";
-static PyObject *__pyx_n_s__CORE;
-static PyObject *__pyx_n_s__FAMILY;
-static PyObject *__pyx_n_s__LOG;
-static PyObject *__pyx_n_s__LOG_ALL;
-static PyObject *__pyx_n_s__LOG_ALLOC;
-static PyObject *__pyx_n_s__LOG_FILE_IO;
-static PyObject *__pyx_n_s__LOG_FILE_READ;
-static PyObject *__pyx_n_s__LOG_FILE_WRITE;
-static PyObject *__pyx_n_s__LOG_FLAVOR;
-static PyObject *__pyx_n_s__LOG_LOC_IO;
-static PyObject *__pyx_n_s__LOG_LOC_READ;
-static PyObject *__pyx_n_s__LOG_LOC_SEEK;
-static PyObject *__pyx_n_s__LOG_LOC_WRITE;
-static PyObject *__pyx_n_s__LOG_NUM_IO;
-static PyObject *__pyx_n_s__LOG_NUM_READ;
-static PyObject *__pyx_n_s__LOG_NUM_SEEK;
-static PyObject *__pyx_n_s__LOG_NUM_WRITE;
-static PyObject *__pyx_n_s__LOG_TIME_CLOSE;
-static PyObject *__pyx_n_s__LOG_TIME_IO;
-static PyObject *__pyx_n_s__LOG_TIME_OPEN;
-static PyObject *__pyx_n_s__LOG_TIME_READ;
-static PyObject *__pyx_n_s__LOG_TIME_SEEK;
-static PyObject *__pyx_n_s__LOG_TIME_WRITE;
-static PyObject *__pyx_n_s__MEM_BTREE;
-static PyObject *__pyx_n_s__MEM_DEFAULT;
-static PyObject *__pyx_n_s__MEM_DRAW;
-static PyObject *__pyx_n_s__MEM_GHEAP;
-static PyObject *__pyx_n_s__MEM_LHEAP;
-static PyObject *__pyx_n_s__MEM_NTYPES;
-static PyObject *__pyx_n_s__MEM_OHDR;
-static PyObject *__pyx_n_s__MEM_SUPER;
-static PyObject *__pyx_n_s__MPIO;
-static PyObject *__pyx_n_s__MPIPOSIX;
-static PyObject *__pyx_n_s__MULTI;
-static PyObject *__pyx_n_s__SEC2;
-static PyObject *__pyx_n_s__STDIO;
-static PyObject *__pyx_n_s__WINDOWS;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_int_neg_1;
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5fd"),
-    __Pyx_DOCSTR(__pyx_k_1), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_n_s__CORE, __pyx_k__CORE, sizeof(__pyx_k__CORE), 0, 0, 1, 1},
-  {&__pyx_n_s__FAMILY, __pyx_k__FAMILY, sizeof(__pyx_k__FAMILY), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG, __pyx_k__LOG, sizeof(__pyx_k__LOG), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_ALL, __pyx_k__LOG_ALL, sizeof(__pyx_k__LOG_ALL), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_ALLOC, __pyx_k__LOG_ALLOC, sizeof(__pyx_k__LOG_ALLOC), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_FILE_IO, __pyx_k__LOG_FILE_IO, sizeof(__pyx_k__LOG_FILE_IO), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_FILE_READ, __pyx_k__LOG_FILE_READ, sizeof(__pyx_k__LOG_FILE_READ), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_FILE_WRITE, __pyx_k__LOG_FILE_WRITE, sizeof(__pyx_k__LOG_FILE_WRITE), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_FLAVOR, __pyx_k__LOG_FLAVOR, sizeof(__pyx_k__LOG_FLAVOR), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_LOC_IO, __pyx_k__LOG_LOC_IO, sizeof(__pyx_k__LOG_LOC_IO), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_LOC_READ, __pyx_k__LOG_LOC_READ, sizeof(__pyx_k__LOG_LOC_READ), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_LOC_SEEK, __pyx_k__LOG_LOC_SEEK, sizeof(__pyx_k__LOG_LOC_SEEK), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_LOC_WRITE, __pyx_k__LOG_LOC_WRITE, sizeof(__pyx_k__LOG_LOC_WRITE), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_NUM_IO, __pyx_k__LOG_NUM_IO, sizeof(__pyx_k__LOG_NUM_IO), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_NUM_READ, __pyx_k__LOG_NUM_READ, sizeof(__pyx_k__LOG_NUM_READ), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_NUM_SEEK, __pyx_k__LOG_NUM_SEEK, sizeof(__pyx_k__LOG_NUM_SEEK), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_NUM_WRITE, __pyx_k__LOG_NUM_WRITE, sizeof(__pyx_k__LOG_NUM_WRITE), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_TIME_CLOSE, __pyx_k__LOG_TIME_CLOSE, sizeof(__pyx_k__LOG_TIME_CLOSE), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_TIME_IO, __pyx_k__LOG_TIME_IO, sizeof(__pyx_k__LOG_TIME_IO), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_TIME_OPEN, __pyx_k__LOG_TIME_OPEN, sizeof(__pyx_k__LOG_TIME_OPEN), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_TIME_READ, __pyx_k__LOG_TIME_READ, sizeof(__pyx_k__LOG_TIME_READ), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_TIME_SEEK, __pyx_k__LOG_TIME_SEEK, sizeof(__pyx_k__LOG_TIME_SEEK), 0, 0, 1, 1},
-  {&__pyx_n_s__LOG_TIME_WRITE, __pyx_k__LOG_TIME_WRITE, sizeof(__pyx_k__LOG_TIME_WRITE), 0, 0, 1, 1},
-  {&__pyx_n_s__MEM_BTREE, __pyx_k__MEM_BTREE, sizeof(__pyx_k__MEM_BTREE), 0, 0, 1, 1},
-  {&__pyx_n_s__MEM_DEFAULT, __pyx_k__MEM_DEFAULT, sizeof(__pyx_k__MEM_DEFAULT), 0, 0, 1, 1},
-  {&__pyx_n_s__MEM_DRAW, __pyx_k__MEM_DRAW, sizeof(__pyx_k__MEM_DRAW), 0, 0, 1, 1},
-  {&__pyx_n_s__MEM_GHEAP, __pyx_k__MEM_GHEAP, sizeof(__pyx_k__MEM_GHEAP), 0, 0, 1, 1},
-  {&__pyx_n_s__MEM_LHEAP, __pyx_k__MEM_LHEAP, sizeof(__pyx_k__MEM_LHEAP), 0, 0, 1, 1},
-  {&__pyx_n_s__MEM_NTYPES, __pyx_k__MEM_NTYPES, sizeof(__pyx_k__MEM_NTYPES), 0, 0, 1, 1},
-  {&__pyx_n_s__MEM_OHDR, __pyx_k__MEM_OHDR, sizeof(__pyx_k__MEM_OHDR), 0, 0, 1, 1},
-  {&__pyx_n_s__MEM_SUPER, __pyx_k__MEM_SUPER, sizeof(__pyx_k__MEM_SUPER), 0, 0, 1, 1},
-  {&__pyx_n_s__MPIO, __pyx_k__MPIO, sizeof(__pyx_k__MPIO), 0, 0, 1, 1},
-  {&__pyx_n_s__MPIPOSIX, __pyx_k__MPIPOSIX, sizeof(__pyx_k__MPIPOSIX), 0, 0, 1, 1},
-  {&__pyx_n_s__MULTI, __pyx_k__MULTI, sizeof(__pyx_k__MULTI), 0, 0, 1, 1},
-  {&__pyx_n_s__SEC2, __pyx_k__SEC2, sizeof(__pyx_k__SEC2), 0, 0, 1, 1},
-  {&__pyx_n_s__STDIO, __pyx_k__STDIO, sizeof(__pyx_k__STDIO), 0, 0, 1, 1},
-  {&__pyx_n_s__WINDOWS, __pyx_k__WINDOWS, sizeof(__pyx_k__WINDOWS), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  return 0;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-  __Pyx_RefNannyFinishContext();
-  return 0;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5fd(void); /*proto*/
-PyMODINIT_FUNC inith5fd(void)
-#else
-PyMODINIT_FUNC PyInit_h5fd(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5fd(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5fd(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5fd"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_1), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5fd")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5fd", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5fd) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  /*--- Type import code ---*/
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  /*--- Execution code ---*/
-
-  /* "h5py/h5fd.pyx":19
- * # === Multi-file driver =======================================================
- * 
- * MEM_DEFAULT = H5FD_MEM_DEFAULT             # <<<<<<<<<<<<<<
- * MEM_SUPER = H5FD_MEM_SUPER
- * MEM_BTREE = H5FD_MEM_BTREE
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_MEM_DEFAULT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MEM_DEFAULT, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":20
- * 
- * MEM_DEFAULT = H5FD_MEM_DEFAULT
- * MEM_SUPER = H5FD_MEM_SUPER             # <<<<<<<<<<<<<<
- * MEM_BTREE = H5FD_MEM_BTREE
- * MEM_DRAW = H5FD_MEM_DRAW
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_MEM_SUPER); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MEM_SUPER, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":21
- * MEM_DEFAULT = H5FD_MEM_DEFAULT
- * MEM_SUPER = H5FD_MEM_SUPER
- * MEM_BTREE = H5FD_MEM_BTREE             # <<<<<<<<<<<<<<
- * MEM_DRAW = H5FD_MEM_DRAW
- * MEM_GHEAP = H5FD_MEM_GHEAP
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_MEM_BTREE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MEM_BTREE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":22
- * MEM_SUPER = H5FD_MEM_SUPER
- * MEM_BTREE = H5FD_MEM_BTREE
- * MEM_DRAW = H5FD_MEM_DRAW             # <<<<<<<<<<<<<<
- * MEM_GHEAP = H5FD_MEM_GHEAP
- * MEM_LHEAP = H5FD_MEM_LHEAP
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_MEM_DRAW); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MEM_DRAW, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":23
- * MEM_BTREE = H5FD_MEM_BTREE
- * MEM_DRAW = H5FD_MEM_DRAW
- * MEM_GHEAP = H5FD_MEM_GHEAP             # <<<<<<<<<<<<<<
- * MEM_LHEAP = H5FD_MEM_LHEAP
- * MEM_OHDR = H5FD_MEM_OHDR
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_MEM_GHEAP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MEM_GHEAP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":24
- * MEM_DRAW = H5FD_MEM_DRAW
- * MEM_GHEAP = H5FD_MEM_GHEAP
- * MEM_LHEAP = H5FD_MEM_LHEAP             # <<<<<<<<<<<<<<
- * MEM_OHDR = H5FD_MEM_OHDR
- * MEM_NTYPES = H5FD_MEM_NTYPES
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_MEM_LHEAP); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MEM_LHEAP, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":25
- * MEM_GHEAP = H5FD_MEM_GHEAP
- * MEM_LHEAP = H5FD_MEM_LHEAP
- * MEM_OHDR = H5FD_MEM_OHDR             # <<<<<<<<<<<<<<
- * MEM_NTYPES = H5FD_MEM_NTYPES
- * 
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_MEM_OHDR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MEM_OHDR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":26
- * MEM_LHEAP = H5FD_MEM_LHEAP
- * MEM_OHDR = H5FD_MEM_OHDR
- * MEM_NTYPES = H5FD_MEM_NTYPES             # <<<<<<<<<<<<<<
- * 
- * # === Driver types ============================================================
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_MEM_NTYPES); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MEM_NTYPES, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":30
- * # === Driver types ============================================================
- * 
- * CORE = H5FD_CORE             # <<<<<<<<<<<<<<
- * FAMILY = H5FD_FAMILY
- * LOG = H5FD_LOG
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_CORE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CORE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":31
- * 
- * CORE = H5FD_CORE
- * FAMILY = H5FD_FAMILY             # <<<<<<<<<<<<<<
- * LOG = H5FD_LOG
- * MPIO = H5FD_MPIO
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_FAMILY); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FAMILY, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":32
- * CORE = H5FD_CORE
- * FAMILY = H5FD_FAMILY
- * LOG = H5FD_LOG             # <<<<<<<<<<<<<<
- * MPIO = H5FD_MPIO
- * MPIPOSIX = H5FD_MPIPOSIX
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_LOG); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":33
- * FAMILY = H5FD_FAMILY
- * LOG = H5FD_LOG
- * MPIO = H5FD_MPIO             # <<<<<<<<<<<<<<
- * MPIPOSIX = H5FD_MPIPOSIX
- * MULTI = H5FD_MULTI
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_MPIO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MPIO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":34
- * LOG = H5FD_LOG
- * MPIO = H5FD_MPIO
- * MPIPOSIX = H5FD_MPIPOSIX             # <<<<<<<<<<<<<<
- * MULTI = H5FD_MULTI
- * SEC2 = H5FD_SEC2
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_MPIPOSIX); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MPIPOSIX, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":35
- * MPIO = H5FD_MPIO
- * MPIPOSIX = H5FD_MPIPOSIX
- * MULTI = H5FD_MULTI             # <<<<<<<<<<<<<<
- * SEC2 = H5FD_SEC2
- * STDIO = H5FD_STDIO
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_MULTI); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__MULTI, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":36
- * MPIPOSIX = H5FD_MPIPOSIX
- * MULTI = H5FD_MULTI
- * SEC2 = H5FD_SEC2             # <<<<<<<<<<<<<<
- * STDIO = H5FD_STDIO
- * IF UNAME_SYSNAME == "Windows":
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_SEC2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SEC2, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":37
- * MULTI = H5FD_MULTI
- * SEC2 = H5FD_SEC2
- * STDIO = H5FD_STDIO             # <<<<<<<<<<<<<<
- * IF UNAME_SYSNAME == "Windows":
- *     WINDOWS = H5FD_WINDOWS
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(H5FD_STDIO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STDIO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":41
- *     WINDOWS = H5FD_WINDOWS
- * ELSE:
- *     WINDOWS = -1             # <<<<<<<<<<<<<<
- * 
- * # === Logging driver ==========================================================
- */
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__WINDOWS, __pyx_int_neg_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5fd.pyx":45
- * # === Logging driver ==========================================================
- * 
- * LOG_LOC_READ  = H5FD_LOG_LOC_READ   # 0x0001             # <<<<<<<<<<<<<<
- * LOG_LOC_WRITE = H5FD_LOG_LOC_WRITE  # 0x0002
- * LOG_LOC_SEEK  = H5FD_LOG_LOC_SEEK   # 0x0004
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_LOC_READ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_LOC_READ, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":46
- * 
- * LOG_LOC_READ  = H5FD_LOG_LOC_READ   # 0x0001
- * LOG_LOC_WRITE = H5FD_LOG_LOC_WRITE  # 0x0002             # <<<<<<<<<<<<<<
- * LOG_LOC_SEEK  = H5FD_LOG_LOC_SEEK   # 0x0004
- * LOG_LOC_IO    = H5FD_LOG_LOC_IO     # (H5FD_LOG_LOC_READ|H5FD_LOG_LOC_WRITE|H5FD_LOG_LOC_SEEK)
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_LOC_WRITE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_LOC_WRITE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":47
- * LOG_LOC_READ  = H5FD_LOG_LOC_READ   # 0x0001
- * LOG_LOC_WRITE = H5FD_LOG_LOC_WRITE  # 0x0002
- * LOG_LOC_SEEK  = H5FD_LOG_LOC_SEEK   # 0x0004             # <<<<<<<<<<<<<<
- * LOG_LOC_IO    = H5FD_LOG_LOC_IO     # (H5FD_LOG_LOC_READ|H5FD_LOG_LOC_WRITE|H5FD_LOG_LOC_SEEK)
- * 
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_LOC_SEEK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_LOC_SEEK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":48
- * LOG_LOC_WRITE = H5FD_LOG_LOC_WRITE  # 0x0002
- * LOG_LOC_SEEK  = H5FD_LOG_LOC_SEEK   # 0x0004
- * LOG_LOC_IO    = H5FD_LOG_LOC_IO     # (H5FD_LOG_LOC_READ|H5FD_LOG_LOC_WRITE|H5FD_LOG_LOC_SEEK)             # <<<<<<<<<<<<<<
- * 
- * # Flags for tracking number of times each byte is read/written
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_LOC_IO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_LOC_IO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":51
- * 
- * # Flags for tracking number of times each byte is read/written
- * LOG_FILE_READ = H5FD_LOG_FILE_READ  # 0x0008             # <<<<<<<<<<<<<<
- * LOG_FILE_WRITE= H5FD_LOG_FILE_WRITE # 0x0010
- * LOG_FILE_IO   = H5FD_LOG_FILE_IO    # (H5FD_LOG_FILE_READ|H5FD_LOG_FILE_WRITE)
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_FILE_READ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_FILE_READ, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":52
- * # Flags for tracking number of times each byte is read/written
- * LOG_FILE_READ = H5FD_LOG_FILE_READ  # 0x0008
- * LOG_FILE_WRITE= H5FD_LOG_FILE_WRITE # 0x0010             # <<<<<<<<<<<<<<
- * LOG_FILE_IO   = H5FD_LOG_FILE_IO    # (H5FD_LOG_FILE_READ|H5FD_LOG_FILE_WRITE)
- * 
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_FILE_WRITE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_FILE_WRITE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":53
- * LOG_FILE_READ = H5FD_LOG_FILE_READ  # 0x0008
- * LOG_FILE_WRITE= H5FD_LOG_FILE_WRITE # 0x0010
- * LOG_FILE_IO   = H5FD_LOG_FILE_IO    # (H5FD_LOG_FILE_READ|H5FD_LOG_FILE_WRITE)             # <<<<<<<<<<<<<<
- * 
- * # Flag for tracking "flavor" (type) of information stored at each byte
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_FILE_IO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_FILE_IO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":56
- * 
- * # Flag for tracking "flavor" (type) of information stored at each byte
- * LOG_FLAVOR    = H5FD_LOG_FLAVOR     # 0x0020             # <<<<<<<<<<<<<<
- * 
- * # Flags for tracking total number of reads/writes/seeks
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_FLAVOR); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_FLAVOR, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":59
- * 
- * # Flags for tracking total number of reads/writes/seeks
- * LOG_NUM_READ  = H5FD_LOG_NUM_READ   # 0x0040             # <<<<<<<<<<<<<<
- * LOG_NUM_WRITE = H5FD_LOG_NUM_WRITE  # 0x0080
- * LOG_NUM_SEEK  = H5FD_LOG_NUM_SEEK   # 0x0100
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_NUM_READ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_NUM_READ, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":60
- * # Flags for tracking total number of reads/writes/seeks
- * LOG_NUM_READ  = H5FD_LOG_NUM_READ   # 0x0040
- * LOG_NUM_WRITE = H5FD_LOG_NUM_WRITE  # 0x0080             # <<<<<<<<<<<<<<
- * LOG_NUM_SEEK  = H5FD_LOG_NUM_SEEK   # 0x0100
- * LOG_NUM_IO    = H5FD_LOG_NUM_IO     # (H5FD_LOG_NUM_READ|H5FD_LOG_NUM_WRITE|H5FD_LOG_NUM_SEEK)
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_NUM_WRITE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_NUM_WRITE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":61
- * LOG_NUM_READ  = H5FD_LOG_NUM_READ   # 0x0040
- * LOG_NUM_WRITE = H5FD_LOG_NUM_WRITE  # 0x0080
- * LOG_NUM_SEEK  = H5FD_LOG_NUM_SEEK   # 0x0100             # <<<<<<<<<<<<<<
- * LOG_NUM_IO    = H5FD_LOG_NUM_IO     # (H5FD_LOG_NUM_READ|H5FD_LOG_NUM_WRITE|H5FD_LOG_NUM_SEEK)
- * 
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_NUM_SEEK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_NUM_SEEK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":62
- * LOG_NUM_WRITE = H5FD_LOG_NUM_WRITE  # 0x0080
- * LOG_NUM_SEEK  = H5FD_LOG_NUM_SEEK   # 0x0100
- * LOG_NUM_IO    = H5FD_LOG_NUM_IO     # (H5FD_LOG_NUM_READ|H5FD_LOG_NUM_WRITE|H5FD_LOG_NUM_SEEK)             # <<<<<<<<<<<<<<
- * 
- * # Flags for tracking time spent in open/read/write/seek/close
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_NUM_IO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_NUM_IO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":65
- * 
- * # Flags for tracking time spent in open/read/write/seek/close
- * LOG_TIME_OPEN = H5FD_LOG_TIME_OPEN  # 0x0200        # Not implemented yet             # <<<<<<<<<<<<<<
- * LOG_TIME_READ = H5FD_LOG_TIME_READ  # 0x0400        # Not implemented yet
- * LOG_TIME_WRITE= H5FD_LOG_TIME_WRITE # 0x0800        # Partially implemented (need to track total time)
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_TIME_OPEN); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_TIME_OPEN, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":66
- * # Flags for tracking time spent in open/read/write/seek/close
- * LOG_TIME_OPEN = H5FD_LOG_TIME_OPEN  # 0x0200        # Not implemented yet
- * LOG_TIME_READ = H5FD_LOG_TIME_READ  # 0x0400        # Not implemented yet             # <<<<<<<<<<<<<<
- * LOG_TIME_WRITE= H5FD_LOG_TIME_WRITE # 0x0800        # Partially implemented (need to track total time)
- * LOG_TIME_SEEK = H5FD_LOG_TIME_SEEK  # 0x1000        # Partially implemented (need to track total time & track time for seeks during reading)
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_TIME_READ); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_TIME_READ, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":67
- * LOG_TIME_OPEN = H5FD_LOG_TIME_OPEN  # 0x0200        # Not implemented yet
- * LOG_TIME_READ = H5FD_LOG_TIME_READ  # 0x0400        # Not implemented yet
- * LOG_TIME_WRITE= H5FD_LOG_TIME_WRITE # 0x0800        # Partially implemented (need to track total time)             # <<<<<<<<<<<<<<
- * LOG_TIME_SEEK = H5FD_LOG_TIME_SEEK  # 0x1000        # Partially implemented (need to track total time & track time for seeks during reading)
- * LOG_TIME_CLOSE= H5FD_LOG_TIME_CLOSE # 0x2000        # Fully implemented
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_TIME_WRITE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_TIME_WRITE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":68
- * LOG_TIME_READ = H5FD_LOG_TIME_READ  # 0x0400        # Not implemented yet
- * LOG_TIME_WRITE= H5FD_LOG_TIME_WRITE # 0x0800        # Partially implemented (need to track total time)
- * LOG_TIME_SEEK = H5FD_LOG_TIME_SEEK  # 0x1000        # Partially implemented (need to track total time & track time for seeks during reading)             # <<<<<<<<<<<<<<
- * LOG_TIME_CLOSE= H5FD_LOG_TIME_CLOSE # 0x2000        # Fully implemented
- * LOG_TIME_IO   = H5FD_LOG_TIME_IO    # (H5FD_LOG_TIME_OPEN|H5FD_LOG_TIME_READ|H5FD_LOG_TIME_WRITE|H5FD_LOG_TIME_SEEK|H5FD_LOG_TIME_CLOSE)
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_TIME_SEEK); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_TIME_SEEK, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":69
- * LOG_TIME_WRITE= H5FD_LOG_TIME_WRITE # 0x0800        # Partially implemented (need to track total time)
- * LOG_TIME_SEEK = H5FD_LOG_TIME_SEEK  # 0x1000        # Partially implemented (need to track total time & track time for seeks during reading)
- * LOG_TIME_CLOSE= H5FD_LOG_TIME_CLOSE # 0x2000        # Fully implemented             # <<<<<<<<<<<<<<
- * LOG_TIME_IO   = H5FD_LOG_TIME_IO    # (H5FD_LOG_TIME_OPEN|H5FD_LOG_TIME_READ|H5FD_LOG_TIME_WRITE|H5FD_LOG_TIME_SEEK|H5FD_LOG_TIME_CLOSE)
- * 
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_TIME_CLOSE); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_TIME_CLOSE, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":70
- * LOG_TIME_SEEK = H5FD_LOG_TIME_SEEK  # 0x1000        # Partially implemented (need to track total time & track time for seeks during reading)
- * LOG_TIME_CLOSE= H5FD_LOG_TIME_CLOSE # 0x2000        # Fully implemented
- * LOG_TIME_IO   = H5FD_LOG_TIME_IO    # (H5FD_LOG_TIME_OPEN|H5FD_LOG_TIME_READ|H5FD_LOG_TIME_WRITE|H5FD_LOG_TIME_SEEK|H5FD_LOG_TIME_CLOSE)             # <<<<<<<<<<<<<<
- * 
- * # Flag for tracking allocation of space in file
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_TIME_IO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_TIME_IO, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":73
- * 
- * # Flag for tracking allocation of space in file
- * LOG_ALLOC     = H5FD_LOG_ALLOC      # 0x4000             # <<<<<<<<<<<<<<
- * LOG_ALL       = H5FD_LOG_ALL        # (H5FD_LOG_ALLOC|H5FD_LOG_TIME_IO|H5FD_LOG_NUM_IO|H5FD_LOG_FLAVOR|H5FD_LOG_FILE_IO|H5FD_LOG_LOC_IO)
- * 
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_ALLOC); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_ALLOC, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":74
- * # Flag for tracking allocation of space in file
- * LOG_ALLOC     = H5FD_LOG_ALLOC      # 0x4000
- * LOG_ALL       = H5FD_LOG_ALL        # (H5FD_LOG_ALLOC|H5FD_LOG_TIME_IO|H5FD_LOG_NUM_IO|H5FD_LOG_FLAVOR|H5FD_LOG_FILE_IO|H5FD_LOG_LOC_IO)             # <<<<<<<<<<<<<<
- * 
- */
-  __pyx_t_1 = PyInt_FromLong(H5FD_LOG_ALL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LOG_ALL, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5fd.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5fd", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5fd");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5fd.pxd b/h5py/h5fd.pxd
index 75a1668..37d64ba 100644
--- a/h5py/h5fd.pxd
+++ b/h5py/h5fd.pxd
@@ -33,7 +33,7 @@ cdef extern from "hdf5.h":
 # hid_t H5FD_GASS  not in 1.8.X
   hid_t H5FD_LOG
   hid_t H5FD_MPIO
-  hid_t H5FD_MPIPOSIX
+#  hid_t H5FD_MPIPOSIX  removed in 1.8.13
   hid_t H5FD_MULTI
   hid_t H5FD_SEC2
   hid_t H5FD_STDIO
diff --git a/h5py/h5fd.pyx b/h5py/h5fd.pyx
index 8e69af8..735dc27 100644
--- a/h5py/h5fd.pyx
+++ b/h5py/h5fd.pyx
@@ -31,7 +31,7 @@ CORE = H5FD_CORE
 FAMILY = H5FD_FAMILY
 LOG = H5FD_LOG
 MPIO = H5FD_MPIO
-MPIPOSIX = H5FD_MPIPOSIX
+MPIPOSIX = -1
 MULTI = H5FD_MULTI
 SEC2 = H5FD_SEC2
 STDIO = H5FD_STDIO
diff --git a/h5py/h5g.c b/h5py/h5g.c
deleted file mode 100644
index 03d5fcc..0000000
--- a/h5py/h5g.c
+++ /dev/null
@@ -1,7629 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5g
-#define __PYX_HAVE_API__h5py__h5g
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5g.pyx",
-  "numpy.pxd",
-  "h5p.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_3h5g_GroupIter;
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5p_PropID;
-struct __pyx_obj_4h5py_3h5p_PropInstanceID;
-struct __pyx_obj_4h5py_3h5p_PropCreateID;
-struct __pyx_obj_4h5py_3h5p_PropOCID;
-struct __pyx_obj_4h5py_3h5g_GroupID;
-struct __pyx_obj_4h5py_3h5p_PropFAID;
-struct __pyx_obj_4h5py_3h5p_PropGCID;
-struct __pyx_obj_4h5py_3h5p_PropDXID;
-struct __pyx_obj_4h5py_3h5p_PropDCID;
-struct __pyx_obj_4h5py_3h5p_PropLAID;
-struct __pyx_obj_4h5py_3h5g__GroupVisitor;
-struct __pyx_obj_4h5py_3h5p_PropFCID;
-struct __pyx_obj_4h5py_3h5p_PropClassID;
-struct __pyx_obj_4h5py_3h5p_PropCopyID;
-struct __pyx_obj_4h5py_3h5p_PropLCID;
-struct __pyx_obj_4h5py_3h5g_GroupStat;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-struct __pyx_t_4h5py_7_errors_err_cookie;
-typedef struct __pyx_t_4h5py_7_errors_err_cookie __pyx_t_4h5py_7_errors_err_cookie;
-
-/* "_errors.pxd":230
- * # --- Functions for managing the HDF5 error callback mechanism ---
- * 
- * ctypedef struct err_cookie:             # <<<<<<<<<<<<<<
- *     # Defines the error handler state (callback and callback data)
- *     H5E_auto_t func
- */
-struct __pyx_t_4h5py_7_errors_err_cookie {
-  H5E_auto_t func;
-  void *data;
-};
-
-/* "h5py/h5g.pyx":79
- * 
- * 
- * cdef class GroupIter:             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-struct __pyx_obj_4h5py_3h5g_GroupIter {
-  PyObject_HEAD
-  unsigned long idx;
-  unsigned long nobjs;
-  struct __pyx_obj_4h5py_3h5g_GroupID *grp;
-  PyObject *names;
-};
-
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5p.pxd":16
- * # --- Base classes ---
- * 
- * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
- *     """ Base class for all property lists """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5p.pxd":26
- *     pass
- * 
- * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an instance of a property list class (i.e. an actual list
- *         which can be passed on to other API functions).
- */
-struct __pyx_obj_4h5py_3h5p_PropInstanceID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5p.pxd":32
- *     pass
- * 
- * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Base class for all object creation lists.
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCreateID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":44
- * # --- Object creation ---
- * 
- * cdef class PropOCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Object creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropOCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5py/h5g.pxd":14
- * from _objects cimport ObjectID
- * 
- * cdef class GroupID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef readonly object links
- */
-struct __pyx_obj_4h5py_3h5g_GroupID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  PyObject *links;
-};
-
-
-/* "h5p.pxd":59
- * # --- Object access ---
- * 
- * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ File access property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":78
- *     cdef char* _buf
- * 
- * cdef class PropGCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Group creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropGCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5p.pxd":63
- *     pass
- * 
- * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Dataset transfer property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDXID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":48
- *     pass
- * 
- * cdef class PropDCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Dataset creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5p.pxd":74
- *     pass
- * 
- * cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Link access property list """
- *     cdef char* _buf
- */
-struct __pyx_obj_4h5py_3h5p_PropLAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-  char *_buf;
-};
-
-
-/* "h5py/h5g.pyx":152
- * 
- * 
- * cdef class _GroupVisitor:             # <<<<<<<<<<<<<<
- * 
- *     cdef object func
- */
-struct __pyx_obj_4h5py_3h5g__GroupVisitor {
-  PyObject_HEAD
-  PyObject *func;
-  PyObject *retval;
-};
-
-
-/* "h5p.pxd":52
- *     pass
- * 
- * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ File creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":20
- *     pass
- * 
- * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an HDF5 property list class.  These can be either (locked)
- *         library-defined classes or user-created classes.
- */
-struct __pyx_obj_4h5py_3h5p_PropClassID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5p.pxd":39
- *     pass
- * 
- * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Property list for copying objects (as in h5o.copy) """
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCopyID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":70
- * # --- New in 1.8 ---
- * 
- * cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Link creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropLCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5py/h5g.pyx":37
- * LINK_SOFT  = H5G_LINK_SOFT
- * 
- * cdef class GroupStat:             # <<<<<<<<<<<<<<
- *     """Represents the H5G_stat_t structure containing group member info.
- * 
- */
-struct __pyx_obj_4h5py_3h5g_GroupStat {
-  PyObject_HEAD
-  H5G_stat_t infostruct;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
-    PyObject *r;
-    if (!j) return NULL;
-    r = PyObject_GetItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-#define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_List_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
-        PyObject *r = PyList_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Tuple_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
-        PyObject *r = PyTuple_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (PyList_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
-            PyObject *r = PyList_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    }
-    else if (PyTuple_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
-            PyObject *r = PyTuple_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    } else {  /* inlined PySequence_GetItem() */
-        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-        if (likely(m && m->sq_item)) {
-            if (unlikely(i < 0) && likely(m->sq_length)) {
-                Py_ssize_t l = m->sq_length(o);
-                if (unlikely(l < 0)) return NULL;
-                i += l;
-            }
-            return m->sq_item(o, i);
-        }
-    }
-#else
-    if (PySequence_Check(o)) {
-        return PySequence_GetItem(o, i);
-    }
-#endif
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-}
-
-#define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_DelItemInt_Fast(o, i) : \
-                                                    __Pyx_DelItem_Generic(o, to_py_func(i)))
-static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) {
-    int r;
-    if (!j) return -1;
-    r = PyObject_DelItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_PYPY
-    if (PySequence_Check(o)) {
-        return PySequence_DelItem(o, i);
-    }
-#else
-    PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-    if (likely(m && m->sq_ass_item)) {
-        if (unlikely(i < 0) && likely(m->sq_length)) {
-            Py_ssize_t l = m->sq_length(o);
-            if (unlikely(l < 0)) return -1;
-            i += l;
-        }
-        return m->sq_ass_item(o, i, (PyObject *)NULL);
-    }
-#endif
-    return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
-
-static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_time_t(time_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static hid_t (*__pyx_f_4h5py_4defs_H5Gopen)(hid_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Gclose)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Glink2)(hid_t, char *, H5G_link_t, hid_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Gunlink)(hid_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Gmove2)(hid_t, char *, hid_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Gget_num_objs)(hid_t, hsize_t *); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Gget_objname_by_idx)(hid_t, hsize_t, char *, size_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx)(hid_t, hsize_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Giterate)(hid_t, char *, int *, H5G_iterate_t, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Gget_objinfo)(hid_t, char *, int, H5G_stat_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Gget_linkval)(hid_t, char *, size_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Gset_comment)(hid_t, char *, char *); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Gget_comment)(hid_t, char *, size_t, char *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate_anon)(hid_t, hid_t, hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Gcreate2)(hid_t, char *, hid_t, hid_t, hid_t); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-
-/* Module declarations from 'h5py.h5p' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropOCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0;
-
-/* Module declarations from 'h5py._hdf5' */
-
-/* Module declarations from 'h5py._errors' */
-static __pyx_t_4h5py_7_errors_err_cookie (*__pyx_f_4h5py_7_errors_set_error_handler)(__pyx_t_4h5py_7_errors_err_cookie); /*proto*/
-
-/* Module declarations from 'h5py.h5g' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupStat = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupIter = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5g__GroupVisitor = 0;
-static herr_t __pyx_f_4h5py_3h5g_cb_group_iter(hid_t, char *, void *); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5g"
-int __pyx_module_is_main_h5py__h5g = 0;
-
-/* Implementation of 'h5py.h5g' */
-static PyObject *__pyx_builtin_StopIteration;
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat__hash(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5g_9GroupIter___init__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_grp); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_2__iter__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_4__next__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_2create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_gcpl); /* proto */
-static int __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_4iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_startidx, char *__pyx_v_obj_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_6get_objinfo(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, PyObject *__pyx_v_name, int __pyx_v_follow_link); /* proto */
-static int __pyx_pf_4h5py_3h5g_7GroupID___init__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hid_t __pyx_v_id_); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_2_close(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_4link(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_current_name, char *__pyx_v_new_name, int __pyx_v_link_type, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_6unlink(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_8move(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_current_name, char *__pyx_v_new_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_10get_num_objs(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_12get_objname_by_idx(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hsize_t __pyx_v_idx); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_14get_objtype_by_idx(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hsize_t __pyx_v_idx); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_16get_linkval(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_18set_comment(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name, char *__pyx_v_comment); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_20get_comment(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name); /* proto */
-static int __pyx_pf_4h5py_3h5g_7GroupID_22__contains__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_24__iter__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */
-static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID_26__len__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_5links___get__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self); /* proto */
-static char __pyx_k_1[] = ".";
-static char __pyx_k_2[] = "Starting index must be non-negative";
-static char __pyx_k_6[] = "\"%s\" is not a symbolic link.";
-static char __pyx_k_7[] = "\n    Low-level HDF5 \"H5G\" group interface.\n";
-static char __pyx_k_10[] = "/home/computer/h5py/h5py/h5g.pyx";
-static char __pyx_k_11[] = "h5py.h5g";
-static char __pyx_k__i[] = "i";
-static char __pyx_k__gid[] = "gid";
-static char __pyx_k__grp[] = "grp";
-static char __pyx_k__h5l[] = "h5l";
-static char __pyx_k__id_[] = "id_";
-static char __pyx_k__loc[] = "loc";
-static char __pyx_k__obj[] = "obj";
-static char __pyx_k__vis[] = "vis";
-static char __pyx_k__LINK[] = "LINK";
-static char __pyx_k__TYPE[] = "TYPE";
-static char __pyx_k__func[] = "func";
-static char __pyx_k__gcpl[] = "gcpl";
-static char __pyx_k__h5py[] = "h5py";
-static char __pyx_k__lcpl[] = "lcpl";
-static char __pyx_k__lock[] = "lock";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__type[] = "type";
-static char __pyx_k__GROUP[] = "GROUP";
-static char __pyx_k___name[] = "_name";
-static char __pyx_k__cname[] = "cname";
-static char __pyx_k__mtime[] = "mtime";
-static char __pyx_k__nlink[] = "nlink";
-static char __pyx_k__objno[] = "objno";
-static char __pyx_k__valid[] = "valid";
-static char __pyx_k__append[] = "append";
-static char __pyx_k__create[] = "create";
-static char __pyx_k__fileno[] = "fileno";
-static char __pyx_k__remote[] = "remote";
-static char __pyx_k__DATASET[] = "DATASET";
-static char __pyx_k__UNKNOWN[] = "UNKNOWN";
-static char __pyx_k__comment[] = "comment";
-static char __pyx_k__iterate[] = "iterate";
-static char __pyx_k__linklen[] = "linklen";
-static char __pyx_k__statobj[] = "statobj";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k___objects[] = "_objects";
-static char __pyx_k__new_name[] = "new_name";
-static char __pyx_k__obj_name[] = "obj_name";
-static char __pyx_k__registry[] = "registry";
-static char __pyx_k__startidx[] = "startidx";
-static char __pyx_k__LINK_HARD[] = "LINK_HARD";
-static char __pyx_k__LINK_SOFT[] = "LINK_SOFT";
-static char __pyx_k__LinkProxy[] = "LinkProxy";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__link_type[] = "link_type";
-static char __pyx_k__LINK_ERROR[] = "LINK_ERROR";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__follow_link[] = "follow_link";
-static char __pyx_k__get_objinfo[] = "get_objinfo";
-static char __pyx_k__current_name[] = "current_name";
-static char __pyx_k__get_num_objs[] = "get_num_objs";
-static char __pyx_k__StopIteration[] = "StopIteration";
-static PyObject *__pyx_kp_b_1;
-static PyObject *__pyx_kp_s_10;
-static PyObject *__pyx_n_s_11;
-static PyObject *__pyx_kp_s_2;
-static PyObject *__pyx_kp_s_6;
-static PyObject *__pyx_n_s__DATASET;
-static PyObject *__pyx_n_s__GROUP;
-static PyObject *__pyx_n_s__LINK;
-static PyObject *__pyx_n_s__LINK_ERROR;
-static PyObject *__pyx_n_s__LINK_HARD;
-static PyObject *__pyx_n_s__LINK_SOFT;
-static PyObject *__pyx_n_s__LinkProxy;
-static PyObject *__pyx_n_s__StopIteration;
-static PyObject *__pyx_n_s__TYPE;
-static PyObject *__pyx_n_s__UNKNOWN;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___name;
-static PyObject *__pyx_n_s___objects;
-static PyObject *__pyx_n_s__append;
-static PyObject *__pyx_n_s__cname;
-static PyObject *__pyx_n_s__comment;
-static PyObject *__pyx_n_s__create;
-static PyObject *__pyx_n_s__current_name;
-static PyObject *__pyx_n_s__fileno;
-static PyObject *__pyx_n_s__follow_link;
-static PyObject *__pyx_n_s__func;
-static PyObject *__pyx_n_s__gcpl;
-static PyObject *__pyx_n_s__get_num_objs;
-static PyObject *__pyx_n_s__get_objinfo;
-static PyObject *__pyx_n_s__gid;
-static PyObject *__pyx_n_s__grp;
-static PyObject *__pyx_n_s__h5l;
-static PyObject *__pyx_n_s__h5py;
-static PyObject *__pyx_n_s__i;
-static PyObject *__pyx_n_s__id_;
-static PyObject *__pyx_n_s__iterate;
-static PyObject *__pyx_n_s__lcpl;
-static PyObject *__pyx_n_s__link_type;
-static PyObject *__pyx_n_s__linklen;
-static PyObject *__pyx_n_s__loc;
-static PyObject *__pyx_n_s__lock;
-static PyObject *__pyx_n_s__mtime;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__new_name;
-static PyObject *__pyx_n_s__nlink;
-static PyObject *__pyx_n_s__obj;
-static PyObject *__pyx_n_s__obj_name;
-static PyObject *__pyx_n_s__objno;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__registry;
-static PyObject *__pyx_n_s__remote;
-static PyObject *__pyx_n_s__startidx;
-static PyObject *__pyx_n_s__statobj;
-static PyObject *__pyx_n_s__type;
-static PyObject *__pyx_n_s__valid;
-static PyObject *__pyx_n_s__vis;
-static PyObject *__pyx_int_1;
-static int __pyx_k_5;
-static PyObject *__pyx_k_tuple_3;
-static PyObject *__pyx_k_tuple_4;
-static PyObject *__pyx_k_tuple_8;
-static PyObject *__pyx_k_tuple_12;
-static PyObject *__pyx_k_tuple_14;
-static PyObject *__pyx_k_tuple_16;
-static PyObject *__pyx_k_codeobj_9;
-static PyObject *__pyx_k_codeobj_13;
-static PyObject *__pyx_k_codeobj_15;
-static PyObject *__pyx_k_codeobj_17;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_6fileno_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_6fileno_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":57
- * 
- *     property fileno:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return (self.infostruct.fileno[0], self.infostruct.fileno[1])
- *     property objno:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_6fileno___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5g.pyx":58
- *     property fileno:
- *         def __get__(self):
- *             return (self.infostruct.fileno[0], self.infostruct.fileno[1])             # <<<<<<<<<<<<<<
- *     property objno:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->infostruct.fileno[0])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_self->infostruct.fileno[1])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_1 = 0;
-  __pyx_t_2 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5g.GroupStat.fileno.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5objno_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5objno_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":60
- *             return (self.infostruct.fileno[0], self.infostruct.fileno[1])
- *     property objno:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return (self.infostruct.objno[0], self.infostruct.objno[1])
- *     property nlink:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5objno___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5g.pyx":61
- *     property objno:
- *         def __get__(self):
- *             return (self.infostruct.objno[0], self.infostruct.objno[1])             # <<<<<<<<<<<<<<
- *     property nlink:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->infostruct.objno[0])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_self->infostruct.objno[1])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_1 = 0;
-  __pyx_t_2 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5g.GroupStat.objno.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5nlink_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5nlink_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":63
- *             return (self.infostruct.objno[0], self.infostruct.objno[1])
- *     property nlink:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.infostruct.nlink
- *     property type:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5nlink___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5g.pyx":64
- *     property nlink:
- *         def __get__(self):
- *             return self.infostruct.nlink             # <<<<<<<<<<<<<<
- *     property type:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong(__pyx_v_self->infostruct.nlink); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5g.GroupStat.nlink.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_4type_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":66
- *             return self.infostruct.nlink
- *     property type:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.infostruct.type
- *     property mtime:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_4type___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5g.pyx":67
- *     property type:
- *         def __get__(self):
- *             return self.infostruct.type             # <<<<<<<<<<<<<<
- *     property mtime:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->infostruct.type); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5g.GroupStat.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5mtime_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_5mtime_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":69
- *             return self.infostruct.type
- *     property mtime:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.infostruct.mtime
- *     property linklen:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_5mtime___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5g.pyx":70
- *     property mtime:
- *         def __get__(self):
- *             return self.infostruct.mtime             # <<<<<<<<<<<<<<
- *     property linklen:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_time_t(__pyx_v_self->infostruct.mtime); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5g.GroupStat.mtime.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_7linklen_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_7linklen_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":72
- *             return self.infostruct.mtime
- *     property linklen:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.infostruct.linklen
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat_7linklen___get__(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5g.pyx":73
- *     property linklen:
- *         def __get__(self):
- *             return self.infostruct.linklen             # <<<<<<<<<<<<<<
- * 
- *     def _hash(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->infostruct.linklen); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5g.GroupStat.linklen.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupStat_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_hash (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupStat__hash(((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":75
- *             return self.infostruct.linklen
- * 
- *     def _hash(self):             # <<<<<<<<<<<<<<
- *         return hash((self.fileno, self.objno, self.nlink, self.type, self.mtime, self.linklen))
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupStat__hash(struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_hash_t __pyx_t_8;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_hash", 0);
-
-  /* "h5py/h5g.pyx":76
- * 
- *     def _hash(self):
- *         return hash((self.fileno, self.objno, self.nlink, self.type, self.mtime, self.linklen))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__fileno); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__objno); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__nlink); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__mtime); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__linklen); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __pyx_t_7 = PyTuple_New(6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_7, 5, __pyx_t_6);
-  __Pyx_GIVEREF(__pyx_t_6);
-  __pyx_t_1 = 0;
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_t_5 = 0;
-  __pyx_t_6 = 0;
-  __pyx_t_8 = PyObject_Hash(((PyObject *)__pyx_t_7)); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-  __pyx_t_7 = __Pyx_PyInt_FromHash_t(__pyx_t_8); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  __pyx_r = __pyx_t_7;
-  __pyx_t_7 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_AddTraceback("h5py.h5g.GroupStat._hash", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5g_9GroupIter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5g_9GroupIter_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_grp = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__grp,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__grp)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[0]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupIter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_grp), __pyx_ptype_4h5py_3h5g_GroupID, 0, "grp", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupIter___init__(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self), __pyx_v_grp);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":92
- * 
- * 
- *     def __init__(self, GroupID grp not None):             # <<<<<<<<<<<<<<
- * 
- *         self.idx = 0
- */
-
-static int __pyx_pf_4h5py_3h5g_9GroupIter___init__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_grp) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  unsigned long __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5g.pyx":94
- *     def __init__(self, GroupID grp not None):
- * 
- *         self.idx = 0             # <<<<<<<<<<<<<<
- *         self.grp = grp
- *         self.nobjs = grp.get_num_objs()
- */
-  __pyx_v_self->idx = 0;
-
-  /* "h5py/h5g.pyx":95
- * 
- *         self.idx = 0
- *         self.grp = grp             # <<<<<<<<<<<<<<
- *         self.nobjs = grp.get_num_objs()
- *         self.names = []
- */
-  __Pyx_INCREF(((PyObject *)__pyx_v_grp));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_grp));
-  __Pyx_GOTREF(__pyx_v_self->grp);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->grp));
-  __pyx_v_self->grp = __pyx_v_grp;
-
-  /* "h5py/h5g.pyx":96
- *         self.idx = 0
- *         self.grp = grp
- *         self.nobjs = grp.get_num_objs()             # <<<<<<<<<<<<<<
- *         self.names = []
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_grp), __pyx_n_s__get_num_objs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_3 = __Pyx_PyInt_AsUnsignedLong(__pyx_t_2); if (unlikely((__pyx_t_3 == (unsigned long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_v_self->nobjs = __pyx_t_3;
-
-  /* "h5py/h5g.pyx":97
- *         self.grp = grp
- *         self.nobjs = grp.get_num_objs()
- *         self.names = []             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
-  __Pyx_GOTREF(__pyx_v_self->names);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->names));
-  __pyx_v_self->names = ((PyObject*)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5g.GroupIter.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupIter_3__iter__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupIter_3__iter__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupIter_2__iter__(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":100
- * 
- * 
- *     def __iter__(self):             # <<<<<<<<<<<<<<
- * 
- *         return self
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_2__iter__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__iter__", 0);
-
-  /* "h5py/h5g.pyx":102
- *     def __iter__(self):
- * 
- *         return self             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self));
-  __pyx_r = ((PyObject *)__pyx_v_self);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupIter_5__next__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_9GroupIter_5__next__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__next__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_9GroupIter_4__next__(((struct __pyx_obj_4h5py_3h5g_GroupIter *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":105
- * 
- * 
- *     def __next__(self):             # <<<<<<<<<<<<<<
- * 
- *         if self.idx == self.nobjs:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_9GroupIter_4__next__(struct __pyx_obj_4h5py_3h5g_GroupIter *__pyx_v_self) {
-  PyObject *__pyx_v_retval = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__next__", 0);
-
-  /* "h5py/h5g.pyx":107
- *     def __next__(self):
- * 
- *         if self.idx == self.nobjs:             # <<<<<<<<<<<<<<
- *             self.grp = None
- *             self.names = None
- */
-  __pyx_t_1 = (__pyx_v_self->idx == __pyx_v_self->nobjs);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5g.pyx":108
- * 
- *         if self.idx == self.nobjs:
- *             self.grp = None             # <<<<<<<<<<<<<<
- *             self.names = None
- *             raise StopIteration
- */
-    __Pyx_INCREF(Py_None);
-    __Pyx_GIVEREF(Py_None);
-    __Pyx_GOTREF(__pyx_v_self->grp);
-    __Pyx_DECREF(((PyObject *)__pyx_v_self->grp));
-    __pyx_v_self->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
-
-    /* "h5py/h5g.pyx":109
- *         if self.idx == self.nobjs:
- *             self.grp = None
- *             self.names = None             # <<<<<<<<<<<<<<
- *             raise StopIteration
- * 
- */
-    __Pyx_INCREF(Py_None);
-    __Pyx_GIVEREF(Py_None);
-    __Pyx_GOTREF(__pyx_v_self->names);
-    __Pyx_DECREF(((PyObject *)__pyx_v_self->names));
-    __pyx_v_self->names = ((PyObject*)Py_None);
-
-    /* "h5py/h5g.pyx":110
- *             self.grp = None
- *             self.names = None
- *             raise StopIteration             # <<<<<<<<<<<<<<
- * 
- *         if self.idx == 0:
- */
-    __Pyx_Raise(__pyx_builtin_StopIteration, 0, 0, 0);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5g.pyx":112
- *             raise StopIteration
- * 
- *         if self.idx == 0:             # <<<<<<<<<<<<<<
- *             self.grp.links.iterate(self.names.append)
- * 
- */
-  __pyx_t_1 = (__pyx_v_self->idx == 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5g.pyx":113
- * 
- *         if self.idx == 0:
- *             self.grp.links.iterate(self.names.append)             # <<<<<<<<<<<<<<
- * 
- *         retval = self.names[self.idx]
- */
-    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self->grp->links, __pyx_n_s__iterate); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self->names), __pyx_n_s__append); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-    __Pyx_GIVEREF(__pyx_t_3);
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5g.pyx":115
- *             self.grp.links.iterate(self.names.append)
- * 
- *         retval = self.names[self.idx]             # <<<<<<<<<<<<<<
- *         self.idx += 1
- * 
- */
-  if (unlikely(((PyObject *)__pyx_v_self->names) == Py_None)) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_t_3 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_self->names), __pyx_v_self->idx, sizeof(unsigned long)+1, PyLong_FromUnsignedLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_v_retval = __pyx_t_3;
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5g.pyx":116
- * 
- *         retval = self.names[self.idx]
- *         self.idx += 1             # <<<<<<<<<<<<<<
- * 
- *         return retval
- */
-  __pyx_v_self->idx = (__pyx_v_self->idx + 1);
-
-  /* "h5py/h5g.pyx":118
- *         self.idx += 1
- * 
- *         return retval             # <<<<<<<<<<<<<<
- * 
- * # === Basic group management ==================================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_retval);
-  __pyx_r = __pyx_v_retval;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5g.GroupIter.__next__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_retval);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5g_open[] = "(ObjectID loc, STRING name) => GroupID\n\n    Open an existing HDF5 group, attached to some other group.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5g_1open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5g_1open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_open)};
-static PyObject *__pyx_pw_4h5py_3h5g_1open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("open (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5g_open(__pyx_self, __pyx_v_loc, __pyx_v_name);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":123
- * 
- * 
- * def open(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name) => GroupID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("open", 0);
-
-  /* "h5py/h5g.pyx":128
- *     Open an existing HDF5 group, attached to some other group.
- *     """
- *     return GroupID.open(H5Gopen(loc.id, name))             # <<<<<<<<<<<<<<
- * 
- * def create(ObjectID loc not None, object name, PropID lcpl=None,
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Gopen(__pyx_v_loc->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5g.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5g_2create[] = "(ObjectID loc, STRING name or None, PropLCID lcpl=None,\n        PropGCID gcpl=None)\n    => GroupID\n\n    Create a new group, under a given parent group.  If name is None,\n    an anonymous group will be created in the file.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5g_3create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5g_3create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_2create)};
-static PyObject *__pyx_pw_4h5py_3h5g_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  PyObject *__pyx_v_name = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_gcpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__lcpl,&__pyx_n_s__gcpl,0};
-    PyObject* values[4] = {0,0,0,0};
-
-    /* "h5py/h5g.pyx":130
- *     return GroupID.open(H5Gopen(loc.id, name))
- * 
- * def create(ObjectID loc not None, object name, PropID lcpl=None,             # <<<<<<<<<<<<<<
- *            PropID gcpl=None):
- *     """(ObjectID loc, STRING name or None, PropLCID lcpl=None,
- */
-    values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-
-    /* "h5py/h5g.pyx":131
- * 
- * def create(ObjectID loc not None, object name, PropID lcpl=None,
- *            PropID gcpl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name or None, PropLCID lcpl=None,
- *         PropGCID gcpl=None)
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[2] = value; kw_args--; }
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__gcpl);
-          if (value) { values[3] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = values[1];
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[2]);
-    __pyx_v_gcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_gcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "gcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5g_2create(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_lcpl, __pyx_v_gcpl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":130
- *     return GroupID.open(H5Gopen(loc.id, name))
- * 
- * def create(ObjectID loc not None, object name, PropID lcpl=None,             # <<<<<<<<<<<<<<
- *            PropID gcpl=None):
- *     """(ObjectID loc, STRING name or None, PropLCID lcpl=None,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_2create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_gcpl) {
-  hid_t __pyx_v_gid;
-  char *__pyx_v_cname;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  char *__pyx_t_2;
-  hid_t __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create", 0);
-
-  /* "h5py/h5g.pyx":140
- *     """
- *     cdef hid_t gid
- *     cdef char* cname = NULL             # <<<<<<<<<<<<<<
- *     if name is not None:
- *         cname = name
- */
-  __pyx_v_cname = NULL;
-
-  /* "h5py/h5g.pyx":141
- *     cdef hid_t gid
- *     cdef char* cname = NULL
- *     if name is not None:             # <<<<<<<<<<<<<<
- *         cname = name
- * 
- */
-  __pyx_t_1 = (__pyx_v_name != Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5g.pyx":142
- *     cdef char* cname = NULL
- *     if name is not None:
- *         cname = name             # <<<<<<<<<<<<<<
- * 
- *     if cname != NULL:
- */
-    __pyx_t_2 = PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_cname = __pyx_t_2;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5g.pyx":144
- *         cname = name
- * 
- *     if cname != NULL:             # <<<<<<<<<<<<<<
- *         gid = H5Gcreate2(loc.id, cname, pdefault(lcpl), pdefault(gcpl), H5P_DEFAULT)
- *     else:
- */
-  __pyx_t_1 = (__pyx_v_cname != NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5g.pyx":145
- * 
- *     if cname != NULL:
- *         gid = H5Gcreate2(loc.id, cname, pdefault(lcpl), pdefault(gcpl), H5P_DEFAULT)             # <<<<<<<<<<<<<<
- *     else:
- *         gid = H5Gcreate_anon(loc.id, pdefault(gcpl), H5P_DEFAULT)
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Gcreate2(__pyx_v_loc->id, __pyx_v_cname, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_gcpl)), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_gid = __pyx_t_3;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "h5py/h5g.pyx":147
- *         gid = H5Gcreate2(loc.id, cname, pdefault(lcpl), pdefault(gcpl), H5P_DEFAULT)
- *     else:
- *         gid = H5Gcreate_anon(loc.id, pdefault(gcpl), H5P_DEFAULT)             # <<<<<<<<<<<<<<
- * 
- *     return GroupID.open(gid)
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Gcreate_anon(__pyx_v_loc->id, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_gcpl)), H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_gid = __pyx_t_3;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5g.pyx":149
- *         gid = H5Gcreate_anon(loc.id, pdefault(gcpl), H5P_DEFAULT)
- * 
- *     return GroupID.open(gid)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_4 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupID)), __pyx_n_s__open); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_v_gid); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  __pyx_t_5 = 0;
-  __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-  __pyx_r = __pyx_t_5;
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5g.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5g_13_GroupVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5g_13_GroupVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_func = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_func = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g._GroupVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_self), __pyx_v_func);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":157
- *     cdef object retval
- * 
- *     def __init__(self, func):             # <<<<<<<<<<<<<<
- *         self.func = func
- *         self.retval = None
- */
-
-static int __pyx_pf_4h5py_3h5g_13_GroupVisitor___init__(struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_self, PyObject *__pyx_v_func) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5g.pyx":158
- * 
- *     def __init__(self, func):
- *         self.func = func             # <<<<<<<<<<<<<<
- *         self.retval = None
- * 
- */
-  __Pyx_INCREF(__pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __Pyx_GOTREF(__pyx_v_self->func);
-  __Pyx_DECREF(__pyx_v_self->func);
-  __pyx_v_self->func = __pyx_v_func;
-
-  /* "h5py/h5g.pyx":159
- *     def __init__(self, func):
- *         self.func = func
- *         self.retval = None             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2:
- */
-  __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __Pyx_GOTREF(__pyx_v_self->retval);
-  __Pyx_DECREF(__pyx_v_self->retval);
-  __pyx_v_self->retval = Py_None;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":161
- *         self.retval = None
- * 
- * cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2:             # <<<<<<<<<<<<<<
- * 
- *     cdef _GroupVisitor vis = <_GroupVisitor>vis_in
- */
-
-static herr_t __pyx_f_4h5py_3h5g_cb_group_iter(CYTHON_UNUSED hid_t __pyx_v_gid, char *__pyx_v_name, void *__pyx_v_vis_in) {
-  struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_vis = 0;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cb_group_iter", 0);
-
-  /* "h5py/h5g.pyx":163
- * cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2:
- * 
- *     cdef _GroupVisitor vis = <_GroupVisitor>vis_in             # <<<<<<<<<<<<<<
- * 
- *     vis.retval = vis.func(name)
- */
-  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_vis_in)));
-  __pyx_v_vis = ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_v_vis_in);
-
-  /* "h5py/h5g.pyx":165
- *     cdef _GroupVisitor vis = <_GroupVisitor>vis_in
- * 
- *     vis.retval = vis.func(name)             # <<<<<<<<<<<<<<
- * 
- *     if vis.retval is not None:
- */
-  __pyx_t_1 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_v_vis->func, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_vis->retval);
-  __Pyx_DECREF(__pyx_v_vis->retval);
-  __pyx_v_vis->retval = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5g.pyx":167
- *     vis.retval = vis.func(name)
- * 
- *     if vis.retval is not None:             # <<<<<<<<<<<<<<
- *         return 1
- *     return 0
- */
-  __pyx_t_3 = (__pyx_v_vis->retval != Py_None);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5g.pyx":168
- * 
- *     if vis.retval is not None:
- *         return 1             # <<<<<<<<<<<<<<
- *     return 0
- * 
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5g.pyx":169
- *     if vis.retval is not None:
- *         return 1
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5g.cb_group_iter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 2;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_vis);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_5iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5g_4iterate[] = " (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)\n    => Return value from func\n\n    Iterate a callable (function, method or callable object) over the\n    members of a group.  Your callable should have the signature::\n\n        func(STRING name) => Result\n\n    Returning None continues iteration; returning anything else aborts\n    iteration and returns that value. Keywords:\n\n    STRING obj_name (\".\")\n        Iterate over thi [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5g_5iterate = {__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pw_4h5py_3h5g_5iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_4iterate)};
-static PyObject *__pyx_pw_4h5py_3h5g_5iterate(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc = 0;
-  PyObject *__pyx_v_func = 0;
-  int __pyx_v_startidx;
-  char *__pyx_v_obj_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("iterate (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__startidx,&__pyx_n_s__obj_name,0};
-    PyObject* values[4] = {0,0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__startidx);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (kw_args == 1) {
-        const Py_ssize_t index = 3;
-        PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-        if (value) { values[index] = value; kw_args--; }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[0]);
-    __pyx_v_func = values[1];
-    if (values[2]) {
-      __pyx_v_startidx = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_startidx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_startidx = ((int)0);
-    }
-    if (values[3]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("iterate", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_3h5g_GroupID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5g_4iterate(__pyx_self, __pyx_v_loc, __pyx_v_func, __pyx_v_startidx, __pyx_v_obj_name);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":172
- * 
- * 
- * def iterate(GroupID loc not None, object func, int startidx=0, *,             # <<<<<<<<<<<<<<
- *             char* obj_name='.'):
- *     """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_4iterate(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_startidx, char *__pyx_v_obj_name) {
-  int __pyx_v_i;
-  struct __pyx_obj_4h5py_3h5g__GroupVisitor *__pyx_v_vis = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  herr_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("iterate", 0);
-
-  /* "h5py/h5g.pyx":188
- *         Iterate over this subgroup instead
- *     """
- *     if startidx < 0:             # <<<<<<<<<<<<<<
- *         raise ValueError("Starting index must be non-negative")
- * 
- */
-  __pyx_t_1 = (__pyx_v_startidx < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5g.pyx":189
- *     """
- *     if startidx < 0:
- *         raise ValueError("Starting index must be non-negative")             # <<<<<<<<<<<<<<
- * 
- *     cdef int i = startidx
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5g.pyx":191
- *         raise ValueError("Starting index must be non-negative")
- * 
- *     cdef int i = startidx             # <<<<<<<<<<<<<<
- *     cdef _GroupVisitor vis = _GroupVisitor(func)
- * 
- */
-  __pyx_v_i = __pyx_v_startidx;
-
-  /* "h5py/h5g.pyx":192
- * 
- *     cdef int i = startidx
- *     cdef _GroupVisitor vis = _GroupVisitor(func)             # <<<<<<<<<<<<<<
- * 
- *     H5Giterate(loc.id, obj_name, &i, <H5G_iterate_t>cb_group_iter, <void*>vis)
- */
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(__pyx_v_func);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g__GroupVisitor)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_v_vis = ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)__pyx_t_3);
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5g.pyx":194
- *     cdef _GroupVisitor vis = _GroupVisitor(func)
- * 
- *     H5Giterate(loc.id, obj_name, &i, <H5G_iterate_t>cb_group_iter, <void*>vis)             # <<<<<<<<<<<<<<
- * 
- *     return vis.retval
- */
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Giterate(__pyx_v_loc->__pyx_base.id, __pyx_v_obj_name, (&__pyx_v_i), ((H5G_iterate_t)__pyx_f_4h5py_3h5g_cb_group_iter), ((void *)__pyx_v_vis)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5g.pyx":196
- *     H5Giterate(loc.id, obj_name, &i, <H5G_iterate_t>cb_group_iter, <void*>vis)
- * 
- *     return vis.retval             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_vis->retval);
-  __pyx_r = __pyx_v_vis->retval;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5g.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_vis);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7get_objinfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5g_6get_objinfo[] = "(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object\n\n    Obtain information about a named object.  If \"name\" is provided,\n    \"obj\" is taken to be a GroupID object containing the target.\n    The return value is a GroupStat object; see that class's docstring\n    for a description of its attributes.\n\n    If follow_link is True (default) and the object is a symbolic link,\n    the information returned descr [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5g_7get_objinfo = {__Pyx_NAMESTR("get_objinfo"), (PyCFunction)__pyx_pw_4h5py_3h5g_7get_objinfo, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_6get_objinfo)};
-static PyObject *__pyx_pw_4h5py_3h5g_7get_objinfo(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj = 0;
-  PyObject *__pyx_v_name = 0;
-  int __pyx_v_follow_link;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_objinfo (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__obj,&__pyx_n_s__name,&__pyx_n_s__follow_link,0};
-    PyObject* values[3] = {0,0,0};
-    values[1] = ((PyObject *)__pyx_kp_b_1);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
-          if (value) { values[1] = value; kw_args--; }
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__follow_link);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_objinfo") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = values[1];
-    if (values[2]) {
-      __pyx_v_follow_link = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_follow_link == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_follow_link = ((int)1);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_objinfo", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.get_objinfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5g_6get_objinfo(__pyx_self, __pyx_v_obj, __pyx_v_name, __pyx_v_follow_link);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":199
- * 
- * 
- * def get_objinfo(ObjectID obj not None, object name=b'.', int follow_link=1):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_6get_objinfo(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, PyObject *__pyx_v_name, int __pyx_v_follow_link) {
-  struct __pyx_obj_4h5py_3h5g_GroupStat *__pyx_v_statobj = 0;
-  char *__pyx_v__name;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  char *__pyx_t_2;
-  herr_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_objinfo", 0);
-
-  /* "h5py/h5g.pyx":212
- *     """
- *     cdef GroupStat statobj
- *     statobj = GroupStat()             # <<<<<<<<<<<<<<
- *     cdef char* _name
- *     _name = name
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupStat)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_statobj = ((struct __pyx_obj_4h5py_3h5g_GroupStat *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5g.pyx":214
- *     statobj = GroupStat()
- *     cdef char* _name
- *     _name = name             # <<<<<<<<<<<<<<
- * 
- *     H5Gget_objinfo(obj.id, _name, follow_link, &statobj.infostruct)
- */
-  __pyx_t_2 = PyBytes_AsString(__pyx_v_name); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v__name = __pyx_t_2;
-
-  /* "h5py/h5g.pyx":216
- *     _name = name
- * 
- *     H5Gget_objinfo(obj.id, _name, follow_link, &statobj.infostruct)             # <<<<<<<<<<<<<<
- * 
- *     return statobj
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Gget_objinfo(__pyx_v_obj->id, __pyx_v__name, __pyx_v_follow_link, (&__pyx_v_statobj->infostruct)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5g.pyx":218
- *     H5Gget_objinfo(obj.id, _name, follow_link, &statobj.infostruct)
- * 
- *     return statobj             # <<<<<<<<<<<<<<
- * 
- * # === Group member management =================================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_statobj));
-  __pyx_r = ((PyObject *)__pyx_v_statobj);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5g.get_objinfo", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_statobj);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5g_7GroupID_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5g_7GroupID_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  hid_t __pyx_v_id_;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__id_,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id_)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(values[0]); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID___init__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), __pyx_v_id_);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":246
- *     """
- * 
- *     def __init__(self, hid_t id_):             # <<<<<<<<<<<<<<
- *         import h5l
- *         self.links = h5l.LinkProxy(id_)
- */
-
-static int __pyx_pf_4h5py_3h5g_7GroupID___init__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hid_t __pyx_v_id_) {
-  PyObject *__pyx_v_h5l = NULL;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5g.pyx":247
- * 
- *     def __init__(self, hid_t id_):
- *         import h5l             # <<<<<<<<<<<<<<
- *         self.links = h5l.LinkProxy(id_)
- * 
- */
-  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__h5l), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 247; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_h5l = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5g.pyx":248
- *     def __init__(self, hid_t id_):
- *         import h5l
- *         self.links = h5l.LinkProxy(id_)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(__pyx_v_h5l, __pyx_n_s__LinkProxy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __Pyx_GIVEREF(__pyx_t_2);
-  __Pyx_GOTREF(__pyx_v_self->links);
-  __Pyx_DECREF(__pyx_v_self->links);
-  __pyx_v_self->links = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5g.GroupID.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_h5l);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_3_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_2_close[] = "()\n\n        Terminate access through this identifier.  You shouldn't have to\n        call this manually; group identifiers are automatically released\n        when their Python wrappers are freed.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_3_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_close (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_2_close(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":251
- * 
- * 
- *     def _close(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_2_close(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_close", 0);
-
-  /* "h5py/h5g.pyx":258
- *         when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Gclose(self.id)
- *             if not self.valid:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/h5g.pyx":259
- *         """
- *         with _objects.registry.lock:
- *             H5Gclose(self.id)             # <<<<<<<<<<<<<<
- *             if not self.valid:
- *                 del _objects.registry[self.id]
- */
-          __pyx_t_8 = __pyx_f_4h5py_4defs_H5Gclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-
-          /* "h5py/h5g.pyx":260
- *         with _objects.registry.lock:
- *             H5Gclose(self.id)
- *             if not self.valid:             # <<<<<<<<<<<<<<
- *                 del _objects.registry[self.id]
- * 
- */
-          __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __pyx_t_10 = (!__pyx_t_9);
-          if (__pyx_t_10) {
-
-            /* "h5py/h5g.pyx":261
- *             H5Gclose(self.id)
- *             if not self.valid:
- *                 del _objects.registry[self.id]             # <<<<<<<<<<<<<<
- * 
- * 
- */
-            __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_1);
-            __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_4);
-            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-            if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-        /* "h5py/h5g.pyx":258
- *         when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Gclose(self.id)
- *             if not self.valid:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.h5g.GroupID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_2);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_2);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2);
-          __Pyx_GIVEREF(__pyx_t_2);
-          __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_9 = (!__pyx_t_10);
-          if (__pyx_t_9) {
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_2);
-            __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2);
-            __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; 
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L18;
-          }
-          __pyx_L18:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      if (__pyx_t_3) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_4, NULL);
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-    }
-    goto __pyx_L19;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L1_error;
-    __pyx_L19:;
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.h5g.GroupID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_5link(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_4link[] = "(STRING current_name, STRING new_name, INT link_type=LINK_HARD,\n        GroupID remote=None)\n\n        Create a new hard or soft link.  current_name identifies\n        the link target (object the link will point to).  The new link is\n        identified by new_name and (optionally) another group \"remote\".\n\n        Link types are:\n\n        LINK_HARD\n            Hard link to existing object (default)\n\n        LINK_SOFT\n      [...]
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_5link(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_current_name;
-  char *__pyx_v_new_name;
-  int __pyx_v_link_type;
-  struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("link (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__current_name,&__pyx_n_s__new_name,&__pyx_n_s__link_type,&__pyx_n_s__remote,0};
-    PyObject* values[4] = {0,0,0,0};
-
-    /* "h5py/h5g.pyx":265
- * 
- *     def link(self, char* current_name, char* new_name,
- *              int link_type=H5G_LINK_HARD, GroupID remote=None):             # <<<<<<<<<<<<<<
- *         """(STRING current_name, STRING new_name, INT link_type=LINK_HARD,
- *         GroupID remote=None)
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__current_name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("link", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__link_type);
-          if (value) { values[2] = value; kw_args--; }
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__remote);
-          if (value) { values[3] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "link") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_current_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_new_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[2]) {
-      __pyx_v_link_type = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_link_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_link_type = __pyx_k_5;
-    }
-    __pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[3]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("link", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 264; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.link", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_remote), __pyx_ptype_4h5py_3h5g_GroupID, 1, "remote", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_4link(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), __pyx_v_current_name, __pyx_v_new_name, __pyx_v_link_type, __pyx_v_remote);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":264
- * 
- * 
- *     def link(self, char* current_name, char* new_name,             # <<<<<<<<<<<<<<
- *              int link_type=H5G_LINK_HARD, GroupID remote=None):
- *         """(STRING current_name, STRING new_name, INT link_type=LINK_HARD,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_4link(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_current_name, char *__pyx_v_new_name, int __pyx_v_link_type, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote) {
-  hid_t __pyx_v_remote_id;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  hid_t __pyx_t_2;
-  herr_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("link", 0);
-
-  /* "h5py/h5g.pyx":282
- *         """
- *         cdef hid_t remote_id
- *         if remote is None:             # <<<<<<<<<<<<<<
- *             remote_id = self.id
- *         else:
- */
-  __pyx_t_1 = (((PyObject *)__pyx_v_remote) == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5g.pyx":283
- *         cdef hid_t remote_id
- *         if remote is None:
- *             remote_id = self.id             # <<<<<<<<<<<<<<
- *         else:
- *             remote_id = remote.id
- */
-    __pyx_t_2 = __pyx_v_self->__pyx_base.id;
-    __pyx_v_remote_id = __pyx_t_2;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5g.pyx":285
- *             remote_id = self.id
- *         else:
- *             remote_id = remote.id             # <<<<<<<<<<<<<<
- * 
- *         H5Glink2(self.id, current_name, <H5G_link_t>link_type, remote_id, new_name)
- */
-    __pyx_t_2 = __pyx_v_remote->__pyx_base.id;
-    __pyx_v_remote_id = __pyx_t_2;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5g.pyx":287
- *             remote_id = remote.id
- * 
- *         H5Glink2(self.id, current_name, <H5G_link_t>link_type, remote_id, new_name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Glink2(__pyx_v_self->__pyx_base.id, __pyx_v_current_name, ((H5G_link_t)__pyx_v_link_type), __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.link", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_7unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_6unlink[] = "(STRING name)\n\n        Remove a link to an object from this group.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_7unlink(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("unlink (wrapper)", 0);
-  assert(__pyx_arg_name); {
-    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.unlink", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_6unlink(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((char *)__pyx_v_name));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":290
- * 
- * 
- *     def unlink(self, char* name):             # <<<<<<<<<<<<<<
- *         """(STRING name)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_6unlink(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("unlink", 0);
-
-  /* "h5py/h5g.pyx":295
- *         Remove a link to an object from this group.
- *         """
- *         H5Gunlink(self.id, name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gunlink(__pyx_v_self->__pyx_base.id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 295; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.unlink", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_9move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_8move[] = "(STRING current_name, STRING new_name, GroupID remote=None)\n\n        Relink an object.  current_name identifies the object.\n        new_name and (optionally) another group \"remote\" determine\n        where it should be moved.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_9move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_current_name;
-  char *__pyx_v_new_name;
-  struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("move (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__current_name,&__pyx_n_s__new_name,&__pyx_n_s__remote,0};
-    PyObject* values[3] = {0,0,0};
-
-    /* "h5py/h5g.pyx":298
- * 
- * 
- *     def move(self, char* current_name, char* new_name, GroupID remote=None):             # <<<<<<<<<<<<<<
- *         """(STRING current_name, STRING new_name, GroupID remote=None)
- * 
- */
-    values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__current_name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("move", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__remote);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "move") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_current_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_current_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_new_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_remote = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[2]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("move", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.move", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_remote), __pyx_ptype_4h5py_3h5g_GroupID, 1, "remote", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 298; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_8move(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), __pyx_v_current_name, __pyx_v_new_name, __pyx_v_remote);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_8move(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_current_name, char *__pyx_v_new_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_remote) {
-  hid_t __pyx_v_remote_id;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  hid_t __pyx_t_2;
-  herr_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("move", 0);
-
-  /* "h5py/h5g.pyx":306
- *         """
- *         cdef hid_t remote_id
- *         if remote is None:             # <<<<<<<<<<<<<<
- *             remote_id = self.id
- *         else:
- */
-  __pyx_t_1 = (((PyObject *)__pyx_v_remote) == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5g.pyx":307
- *         cdef hid_t remote_id
- *         if remote is None:
- *             remote_id = self.id             # <<<<<<<<<<<<<<
- *         else:
- *             remote_id = remote.id
- */
-    __pyx_t_2 = __pyx_v_self->__pyx_base.id;
-    __pyx_v_remote_id = __pyx_t_2;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5g.pyx":309
- *             remote_id = self.id
- *         else:
- *             remote_id = remote.id             # <<<<<<<<<<<<<<
- * 
- *         H5Gmove2(self.id, current_name, remote_id, new_name)
- */
-    __pyx_t_2 = __pyx_v_remote->__pyx_base.id;
-    __pyx_v_remote_id = __pyx_t_2;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5g.pyx":311
- *             remote_id = remote.id
- * 
- *         H5Gmove2(self.id, current_name, remote_id, new_name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Gmove2(__pyx_v_self->__pyx_base.id, __pyx_v_current_name, __pyx_v_remote_id, __pyx_v_new_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.move", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_11get_num_objs(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_10get_num_objs[] = "() => INT number_of_objects\n\n        Get the number of objects directly attached to a given group.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_11get_num_objs(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_num_objs (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_10get_num_objs(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":314
- * 
- * 
- *     def get_num_objs(self):             # <<<<<<<<<<<<<<
- *         """() => INT number_of_objects
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_10get_num_objs(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) {
-  hsize_t __pyx_v_size;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_num_objs", 0);
-
-  /* "h5py/h5g.pyx":320
- *         """
- *         cdef hsize_t size
- *         H5Gget_num_objs(self.id, &size)             # <<<<<<<<<<<<<<
- *         return size
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_num_objs(__pyx_v_self->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 320; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5g.pyx":321
- *         cdef hsize_t size
- *         H5Gget_num_objs(self.id, &size)
- *         return size             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 321; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_num_objs", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_13get_objname_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_12get_objname_by_idx[] = "(INT idx) => STRING\n\n        Get the name of a group member given its zero-based index.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_13get_objname_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) {
-  hsize_t __pyx_v_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_objname_by_idx (wrapper)", 0);
-  assert(__pyx_arg_idx); {
-    __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 324; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_12get_objname_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((hsize_t)__pyx_v_idx));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":324
- * 
- * 
- *     def get_objname_by_idx(self, hsize_t idx):             # <<<<<<<<<<<<<<
- *         """(INT idx) => STRING
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_12get_objname_by_idx(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hsize_t __pyx_v_idx) {
-  int __pyx_v_size;
-  char *__pyx_v_buf;
-  char *__pyx_v_pystring;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_objname_by_idx", 0);
-
-  /* "h5py/h5g.pyx":331
- *         cdef int size
- *         cdef char* buf
- *         buf = NULL             # <<<<<<<<<<<<<<
- * 
- *         size = H5Gget_objname_by_idx(self.id, idx, NULL, 0)
- */
-  __pyx_v_buf = NULL;
-
-  /* "h5py/h5g.pyx":333
- *         buf = NULL
- * 
- *         size = H5Gget_objname_by_idx(self.id, idx, NULL, 0)             # <<<<<<<<<<<<<<
- * 
- *         buf = <char*>emalloc(sizeof(char)*(size+1))
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objname_by_idx(__pyx_v_self->__pyx_base.id, __pyx_v_idx, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_size = __pyx_t_1;
-
-  /* "h5py/h5g.pyx":335
- *         size = H5Gget_objname_by_idx(self.id, idx, NULL, 0)
- * 
- *         buf = <char*>emalloc(sizeof(char)*(size+1))             # <<<<<<<<<<<<<<
- *         try:
- *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_size + 1))); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 335; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = ((char *)__pyx_t_2);
-
-  /* "h5py/h5g.pyx":336
- * 
- *         buf = <char*>emalloc(sizeof(char)*(size+1))
- *         try:             # <<<<<<<<<<<<<<
- *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)
- *             pystring = buf
- */
-  /*try:*/ {
-
-    /* "h5py/h5g.pyx":337
- *         buf = <char*>emalloc(sizeof(char)*(size+1))
- *         try:
- *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)             # <<<<<<<<<<<<<<
- *             pystring = buf
- *             return pystring
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objname_by_idx(__pyx_v_self->__pyx_base.id, __pyx_v_idx, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5g.pyx":338
- *         try:
- *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)
- *             pystring = buf             # <<<<<<<<<<<<<<
- *             return pystring
- *         finally:
- */
-    __pyx_v_pystring = __pyx_v_buf;
-
-    /* "h5py/h5g.pyx":339
- *             H5Gget_objname_by_idx(self.id, idx, buf, size+1)
- *             pystring = buf
- *             return pystring             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(buf)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_3 = PyBytes_FromString(__pyx_v_pystring); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 339; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __pyx_r = ((PyObject *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5g.pyx":341
- *             return pystring
- *         finally:
- *             efree(buf)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_objname_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_15get_objtype_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_14get_objtype_by_idx[] = "(INT idx) => INT object_type_code\n\n        Get the type of an object attached to a group, given its zero-based\n        index.  Possible return values are:\n\n        - LINK\n        - GROUP\n        - DATASET\n        - TYPE\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_15get_objtype_by_idx(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) {
-  hsize_t __pyx_v_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_objtype_by_idx (wrapper)", 0);
-  assert(__pyx_arg_idx); {
-    __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_14get_objtype_by_idx(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((hsize_t)__pyx_v_idx));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":344
- * 
- * 
- *     def get_objtype_by_idx(self, hsize_t idx):             # <<<<<<<<<<<<<<
- *         """(INT idx) => INT object_type_code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_14get_objtype_by_idx(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, hsize_t __pyx_v_idx) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_objtype_by_idx", 0);
-
-  /* "h5py/h5g.pyx":355
- *         - TYPE
- *         """
- *         return <int>H5Gget_objtype_by_idx(self.id, idx)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objtype_by_idx(__pyx_v_self->__pyx_base.id, __pyx_v_idx); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 355; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_objtype_by_idx", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_17get_linkval(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_16get_linkval[] = "(STRING name) => STRING link_value\n\n        Retrieve the value (target name) of a symbolic link.\n        Limited to 2048 characters on Windows.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_17get_linkval(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_linkval (wrapper)", 0);
-  assert(__pyx_arg_name); {
-    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 358; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_16get_linkval(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((char *)__pyx_v_name));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":358
- * 
- * 
- *     def get_linkval(self, char* name):             # <<<<<<<<<<<<<<
- *         """(STRING name) => STRING link_value
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_16get_linkval(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name) {
-  char *__pyx_v_value;
-  H5G_stat_t __pyx_v_statbuf;
-  PyObject *__pyx_v_linklen = NULL;
-  char *__pyx_v_pyvalue;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  size_t __pyx_t_5;
-  void *__pyx_t_6;
-  Py_ssize_t __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_linkval", 0);
-
-  /* "h5py/h5g.pyx":366
- *         cdef char* value
- *         cdef H5G_stat_t statbuf
- *         value = NULL             # <<<<<<<<<<<<<<
- * 
- *         H5Gget_objinfo(self.id, name, 0, &statbuf)
- */
-  __pyx_v_value = NULL;
-
-  /* "h5py/h5g.pyx":368
- *         value = NULL
- * 
- *         H5Gget_objinfo(self.id, name, 0, &statbuf)             # <<<<<<<<<<<<<<
- * 
- *         if statbuf.type != H5G_LINK:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_objinfo(__pyx_v_self->__pyx_base.id, __pyx_v_name, 0, (&__pyx_v_statbuf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5g.pyx":370
- *         H5Gget_objinfo(self.id, name, 0, &statbuf)
- * 
- *         if statbuf.type != H5G_LINK:             # <<<<<<<<<<<<<<
- *             raise ValueError('"%s" is not a symbolic link.' % name)
- * 
- */
-  __pyx_t_2 = (__pyx_v_statbuf.type != H5G_LINK);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5g.pyx":371
- * 
- *         if statbuf.type != H5G_LINK:
- *             raise ValueError('"%s" is not a symbolic link.' % name)             # <<<<<<<<<<<<<<
- * 
- *         IF UNAME_SYSNAME == "Windows":
- */
-    __pyx_t_3 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_6), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5g.pyx":376
- *             linklen = 2049  # Windows statbuf.linklen seems broken
- *         ELSE:
- *             linklen = statbuf.linklen+1             # <<<<<<<<<<<<<<
- *         value = <char*>emalloc(sizeof(char)*linklen)
- *         try:
- */
-  __pyx_t_4 = __Pyx_PyInt_FromSize_t((__pyx_v_statbuf.linklen + 1)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_v_linklen = __pyx_t_4;
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5g.pyx":377
- *         ELSE:
- *             linklen = statbuf.linklen+1
- *         value = <char*>emalloc(sizeof(char)*linklen)             # <<<<<<<<<<<<<<
- *         try:
- *             H5Gget_linkval(self.id, name, linklen, value)
- */
-  __pyx_t_4 = __Pyx_PyInt_FromSize_t((sizeof(char))); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_3 = PyNumber_Multiply(__pyx_t_4, __pyx_v_linklen); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_5 = __Pyx_PyInt_AsSize_t(__pyx_t_3); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_6 = __pyx_f_4h5py_5utils_emalloc(__pyx_t_5); if (unlikely(__pyx_t_6 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_value = ((char *)__pyx_t_6);
-
-  /* "h5py/h5g.pyx":378
- *             linklen = statbuf.linklen+1
- *         value = <char*>emalloc(sizeof(char)*linklen)
- *         try:             # <<<<<<<<<<<<<<
- *             H5Gget_linkval(self.id, name, linklen, value)
- *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows
- */
-  /*try:*/ {
-
-    /* "h5py/h5g.pyx":379
- *         value = <char*>emalloc(sizeof(char)*linklen)
- *         try:
- *             H5Gget_linkval(self.id, name, linklen, value)             # <<<<<<<<<<<<<<
- *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows
- *             pyvalue = value
- */
-    __pyx_t_5 = __Pyx_PyInt_AsSize_t(__pyx_v_linklen); if (unlikely((__pyx_t_5 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_linkval(__pyx_v_self->__pyx_base.id, __pyx_v_name, __pyx_t_5, __pyx_v_value); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L5;}
-
-    /* "h5py/h5g.pyx":380
- *         try:
- *             H5Gget_linkval(self.id, name, linklen, value)
- *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows             # <<<<<<<<<<<<<<
- *             pyvalue = value
- *             return pyvalue
- */
-    __pyx_t_3 = PyNumber_Subtract(__pyx_v_linklen, __pyx_int_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_t_3); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    (__pyx_v_value[__pyx_t_7]) = '\x00';
-
-    /* "h5py/h5g.pyx":381
- *             H5Gget_linkval(self.id, name, linklen, value)
- *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows
- *             pyvalue = value             # <<<<<<<<<<<<<<
- *             return pyvalue
- *         finally:
- */
-    __pyx_v_pyvalue = __pyx_v_value;
-
-    /* "h5py/h5g.pyx":382
- *             value[linklen-1] = c'\0'  # in case HDF5 doesn't null terminate on Windows
- *             pyvalue = value
- *             return pyvalue             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(value)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_3 = PyBytes_FromString(__pyx_v_pyvalue); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 382; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __pyx_r = ((PyObject *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L4;
-  }
-
-  /* "h5py/h5g.pyx":384
- *             return pyvalue
- *         finally:
- *             efree(value)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L6;
-    __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L6;
-    __pyx_L5: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_value);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_linkval", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_linklen);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_19set_comment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_18set_comment[] = "(STRING name, STRING comment)\n\n        Set the comment on a group member.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_19set_comment(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_name;
-  char *__pyx_v_comment;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_comment (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__comment,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__comment)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_comment") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_comment = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_comment) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.set_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_18set_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), __pyx_v_name, __pyx_v_comment);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":387
- * 
- * 
- *     def set_comment(self, char* name, char* comment):             # <<<<<<<<<<<<<<
- *         """(STRING name, STRING comment)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_18set_comment(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name, char *__pyx_v_comment) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_comment", 0);
-
-  /* "h5py/h5g.pyx":392
- *         Set the comment on a group member.
- *         """
- *         H5Gset_comment(self.id, name, comment)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gset_comment(__pyx_v_self->__pyx_base.id, __pyx_v_name, __pyx_v_comment); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.set_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_21get_comment(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_20get_comment[] = "(STRING name) => STRING comment\n\n        Retrieve the comment for a group member.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_21get_comment(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_comment (wrapper)", 0);
-  assert(__pyx_arg_name); {
-    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 395; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_20get_comment(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((char *)__pyx_v_name));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":395
- * 
- * 
- *     def get_comment(self, char* name):             # <<<<<<<<<<<<<<
- *         """(STRING name) => STRING comment
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_20get_comment(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name) {
-  int __pyx_v_cmnt_len;
-  char *__pyx_v_cmnt;
-  char *__pyx_v_py_cmnt;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_comment", 0);
-
-  /* "h5py/h5g.pyx":402
- *         cdef int cmnt_len
- *         cdef char* cmnt
- *         cmnt = NULL             # <<<<<<<<<<<<<<
- * 
- *         cmnt_len = H5Gget_comment(self.id, name, 0, NULL)
- */
-  __pyx_v_cmnt = NULL;
-
-  /* "h5py/h5g.pyx":404
- *         cmnt = NULL
- * 
- *         cmnt_len = H5Gget_comment(self.id, name, 0, NULL)             # <<<<<<<<<<<<<<
- *         assert cmnt_len >= 0
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_comment(__pyx_v_self->__pyx_base.id, __pyx_v_name, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 404; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_cmnt_len = __pyx_t_1;
-
-  /* "h5py/h5g.pyx":405
- * 
- *         cmnt_len = H5Gget_comment(self.id, name, 0, NULL)
- *         assert cmnt_len >= 0             # <<<<<<<<<<<<<<
- * 
- *         cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))
- */
-  #ifndef CYTHON_WITHOUT_ASSERTIONS
-  if (unlikely(!(__pyx_v_cmnt_len >= 0))) {
-    PyErr_SetNone(PyExc_AssertionError);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  #endif
-
-  /* "h5py/h5g.pyx":407
- *         assert cmnt_len >= 0
- * 
- *         cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))             # <<<<<<<<<<<<<<
- *         try:
- *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * (__pyx_v_cmnt_len + 1))); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 407; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_cmnt = ((char *)__pyx_t_2);
-
-  /* "h5py/h5g.pyx":408
- * 
- *         cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))
- *         try:             # <<<<<<<<<<<<<<
- *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
- *             py_cmnt = cmnt
- */
-  /*try:*/ {
-
-    /* "h5py/h5g.pyx":409
- *         cmnt = <char*>emalloc(sizeof(char)*(cmnt_len+1))
- *         try:
- *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)             # <<<<<<<<<<<<<<
- *             py_cmnt = cmnt
- *             return py_cmnt
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_comment(__pyx_v_self->__pyx_base.id, __pyx_v_name, (__pyx_v_cmnt_len + 1), __pyx_v_cmnt); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 409; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5g.pyx":410
- *         try:
- *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
- *             py_cmnt = cmnt             # <<<<<<<<<<<<<<
- *             return py_cmnt
- *         finally:
- */
-    __pyx_v_py_cmnt = __pyx_v_cmnt;
-
-    /* "h5py/h5g.pyx":411
- *             H5Gget_comment(self.id, name, cmnt_len+1, cmnt)
- *             py_cmnt = cmnt
- *             return py_cmnt             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(cmnt)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_3 = PyBytes_FromString(__pyx_v_py_cmnt); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 411; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __pyx_r = ((PyObject *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5g.pyx":413
- *             return py_cmnt
- *         finally:
- *             efree(cmnt)             # <<<<<<<<<<<<<<
- * 
- *     # === Special methods =====================================================
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_cmnt);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5g.GroupID.get_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5g_7GroupID_23__contains__(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_22__contains__[] = "(STRING name)\n\n        Determine if a group member of the given name is present\n        ";
-#if CYTHON_COMPILING_IN_CPYTHON
-struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_22__contains__;
-#endif
-static int __pyx_pw_4h5py_3h5g_7GroupID_23__contains__(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
-  char *__pyx_v_name;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__contains__ (wrapper)", 0);
-  assert(__pyx_arg_name); {
-    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.__contains__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_22__contains__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self), ((char *)__pyx_v_name));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":418
- * 
- * 
- *     def __contains__(self, char* name):             # <<<<<<<<<<<<<<
- *         """(STRING name)
- * 
- */
-
-static int __pyx_pf_4h5py_3h5g_7GroupID_22__contains__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self, char *__pyx_v_name) {
-  __pyx_t_4h5py_7_errors_err_cookie __pyx_v_old_handler;
-  __pyx_t_4h5py_7_errors_err_cookie __pyx_v_new_handler;
-  herr_t __pyx_v_retval;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__contains__", 0);
-
-  /* "h5py/h5g.pyx":427
- *         cdef herr_t retval
- * 
- *         new_handler.func = NULL             # <<<<<<<<<<<<<<
- *         new_handler.data = NULL
- * 
- */
-  __pyx_v_new_handler.func = NULL;
-
-  /* "h5py/h5g.pyx":428
- * 
- *         new_handler.func = NULL
- *         new_handler.data = NULL             # <<<<<<<<<<<<<<
- * 
- *         old_handler = set_error_handler(new_handler)
- */
-  __pyx_v_new_handler.data = NULL;
-
-  /* "h5py/h5g.pyx":430
- *         new_handler.data = NULL
- * 
- *         old_handler = set_error_handler(new_handler)             # <<<<<<<<<<<<<<
- *         retval = _hdf5.H5Gget_objinfo(self.id, name, 0, NULL)
- *         set_error_handler(old_handler)
- */
-  __pyx_v_old_handler = __pyx_f_4h5py_7_errors_set_error_handler(__pyx_v_new_handler);
-
-  /* "h5py/h5g.pyx":431
- * 
- *         old_handler = set_error_handler(new_handler)
- *         retval = _hdf5.H5Gget_objinfo(self.id, name, 0, NULL)             # <<<<<<<<<<<<<<
- *         set_error_handler(old_handler)
- * 
- */
-  __pyx_t_1 = H5Gget_objinfo(__pyx_v_self->__pyx_base.id, __pyx_v_name, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_retval = __pyx_t_1;
-
-  /* "h5py/h5g.pyx":432
- *         old_handler = set_error_handler(new_handler)
- *         retval = _hdf5.H5Gget_objinfo(self.id, name, 0, NULL)
- *         set_error_handler(old_handler)             # <<<<<<<<<<<<<<
- * 
- *         return bool(retval >= 0)
- */
-  __pyx_f_4h5py_7_errors_set_error_handler(__pyx_v_old_handler);
-
-  /* "h5py/h5g.pyx":434
- *         set_error_handler(old_handler)
- * 
- *         return bool(retval >= 0)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_2 = (__pyx_v_retval >= 0);
-  __pyx_r = (!(!__pyx_t_2));
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.__contains__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_25__iter__(PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_24__iter__[] = " Return an iterator over the names of group members. ";
-#if CYTHON_COMPILING_IN_CPYTHON
-struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_24__iter__;
-#endif
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_25__iter__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__iter__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_24__iter__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":437
- * 
- * 
- *     def __iter__(self):             # <<<<<<<<<<<<<<
- *         """ Return an iterator over the names of group members. """
- *         return GroupIter(self)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_24__iter__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__iter__", 0);
-
-  /* "h5py/h5g.pyx":439
- *     def __iter__(self):
- *         """ Return an iterator over the names of group members. """
- *         return GroupIter(self)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self));
-  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_self));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5g_GroupIter)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5g.GroupID.__iter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static Py_ssize_t __pyx_pw_4h5py_3h5g_7GroupID_27__len__(PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_4h5py_3h5g_7GroupID_26__len__[] = " Number of group members ";
-#if CYTHON_COMPILING_IN_CPYTHON
-struct wrapperbase __pyx_wrapperbase_4h5py_3h5g_7GroupID_26__len__;
-#endif
-static Py_ssize_t __pyx_pw_4h5py_3h5g_7GroupID_27__len__(PyObject *__pyx_v_self) {
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__len__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_26__len__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pyx":442
- * 
- * 
- *     def __len__(self):             # <<<<<<<<<<<<<<
- *         """ Number of group members """
- *         cdef hsize_t size
- */
-
-static Py_ssize_t __pyx_pf_4h5py_3h5g_7GroupID_26__len__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) {
-  hsize_t __pyx_v_size;
-  Py_ssize_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__len__", 0);
-
-  /* "h5py/h5g.pyx":445
- *         """ Number of group members """
- *         cdef hsize_t size
- *         H5Gget_num_objs(self.id, &size)             # <<<<<<<<<<<<<<
- *         return size
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Gget_num_objs(__pyx_v_self->__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5g.pyx":446
- *         cdef hsize_t size
- *         H5Gget_num_objs(self.id, &size)
- *         return size             # <<<<<<<<<<<<<<
- */
-  __pyx_r = __pyx_v_size;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5g.GroupID.__len__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_5links_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5g_7GroupID_5links_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5g_7GroupID_5links___get__(((struct __pyx_obj_4h5py_3h5g_GroupID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5g.pxd":16
- * cdef class GroupID(ObjectID):
- * 
- *     cdef readonly object links             # <<<<<<<<<<<<<<
- * 
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5g_7GroupID_5links___get__(struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_self->links);
-  __pyx_r = __pyx_v_self->links;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5g_GroupID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5g_GroupID *p;
-  PyObject *o = __pyx_ptype_4h5py_8_objects_ObjectID->tp_new(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5g_GroupID *)o);
-  p->links = Py_None; Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5g_GroupID(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5g_GroupID *p = (struct __pyx_obj_4h5py_3h5g_GroupID *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->links);
-  PyObject_GC_Track(o);
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5g_GroupID);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5g_GroupID(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5g_GroupID *p = (struct __pyx_obj_4h5py_3h5g_GroupID *)o;
-  e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5g_GroupID)); if (e) return e;
-  if (p->links) {
-    e = (*v)(p->links, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5g_GroupID(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5g_GroupID *p = (struct __pyx_obj_4h5py_3h5g_GroupID *)o;
-  PyObject* tmp;
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5g_GroupID);
-  tmp = ((PyObject*)p->links);
-  p->links = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5g_7GroupID_links(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5g_7GroupID_5links_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5g_GroupID[] = {
-  {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_3_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_2_close)},
-  {__Pyx_NAMESTR("link"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_5link, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_4link)},
-  {__Pyx_NAMESTR("unlink"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_7unlink, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_6unlink)},
-  {__Pyx_NAMESTR("move"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_9move, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_8move)},
-  {__Pyx_NAMESTR("get_num_objs"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_11get_num_objs, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_10get_num_objs)},
-  {__Pyx_NAMESTR("get_objname_by_idx"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_13get_objname_by_idx, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_12get_objname_by_idx)},
-  {__Pyx_NAMESTR("get_objtype_by_idx"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_15get_objtype_by_idx, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_14get_objtype_by_idx)},
-  {__Pyx_NAMESTR("get_linkval"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_17get_linkval, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_16get_linkval)},
-  {__Pyx_NAMESTR("set_comment"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_19set_comment, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_18set_comment)},
-  {__Pyx_NAMESTR("get_comment"), (PyCFunction)__pyx_pw_4h5py_3h5g_7GroupID_21get_comment, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5g_7GroupID_20get_comment)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5g_GroupID[] = {
-  {(char *)"links", __pyx_getprop_4h5py_3h5g_7GroupID_links, 0, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_GroupID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_GroupID = {
-  __pyx_pw_4h5py_3h5g_7GroupID_27__len__, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  __pyx_pw_4h5py_3h5g_7GroupID_23__contains__, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_GroupID = {
-  __pyx_pw_4h5py_3h5g_7GroupID_27__len__, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_GroupID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5g_GroupID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5g.GroupID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5g_GroupID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5g_GroupID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_GroupID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_GroupID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_GroupID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_GroupID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents an HDF5 group identifier\n\n        Python extensions:\n\n        __contains__\n            Test for group member (\"if name in grpid\")\n\n        __iter__\n            Get an iterator over member names\n\n        __len__\n            Number of members in this group; len(grpid) = N\n\n        If HDF5 1.8.X is used, the attribute \"links\" contains a proxy object\n        providing access to the H5L family of routines.  See the docs\n        for h5py. [...]
-  __pyx_tp_traverse_4h5py_3h5g_GroupID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5g_GroupID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  __pyx_pw_4h5py_3h5g_7GroupID_25__iter__, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5g_GroupID, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5g_GroupID, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5g_7GroupID_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5g_GroupID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5g_GroupStat(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5g_GroupStat(PyObject *o) {
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_fileno(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5g_9GroupStat_6fileno_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_objno(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5g_9GroupStat_5objno_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_nlink(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5g_9GroupStat_5nlink_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_type(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5g_9GroupStat_4type_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_mtime(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5g_9GroupStat_5mtime_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5g_9GroupStat_linklen(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5g_9GroupStat_7linklen_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5g_GroupStat[] = {
-  {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pw_4h5py_3h5g_9GroupStat_1_hash, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5g_GroupStat[] = {
-  {(char *)"fileno", __pyx_getprop_4h5py_3h5g_9GroupStat_fileno, 0, 0, 0},
-  {(char *)"objno", __pyx_getprop_4h5py_3h5g_9GroupStat_objno, 0, 0, 0},
-  {(char *)"nlink", __pyx_getprop_4h5py_3h5g_9GroupStat_nlink, 0, 0, 0},
-  {(char *)"type", __pyx_getprop_4h5py_3h5g_9GroupStat_type, 0, 0, 0},
-  {(char *)"mtime", __pyx_getprop_4h5py_3h5g_9GroupStat_mtime, 0, 0, 0},
-  {(char *)"linklen", __pyx_getprop_4h5py_3h5g_9GroupStat_linklen, 0, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_GroupStat = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_GroupStat = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_GroupStat = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_GroupStat = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5g_GroupStat = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5g.GroupStat"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5g_GroupStat), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5g_GroupStat, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_GroupStat, /*tp_as_number*/
-  &__pyx_tp_as_sequence_GroupStat, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_GroupStat, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_GroupStat, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  __Pyx_DOCSTR("Represents the H5G_stat_t structure containing group member info.\n\n    Fields (read-only):\n\n    * fileno:   2-tuple uniquely identifying the current file\n    * objno:    2-tuple uniquely identifying this object\n    * nlink:    Number of hard links to this object\n    * mtime:    Modification time of this object\n    * linklen:  Length of the symbolic link name, or 0 if not a link.\n\n    \"Uniquely identifying\" means unique among currently open files,\n    not univ [...]
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5g_GroupStat, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5g_GroupStat, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5g_GroupStat, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5g_GroupIter(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_3h5g_GroupIter *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5g_GroupIter *)o);
-  p->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); Py_INCREF(Py_None);
-  p->names = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5g_GroupIter(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5g_GroupIter *p = (struct __pyx_obj_4h5py_3h5g_GroupIter *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->grp);
-  Py_CLEAR(p->names);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5g_GroupIter(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5g_GroupIter *p = (struct __pyx_obj_4h5py_3h5g_GroupIter *)o;
-  if (p->grp) {
-    e = (*v)(((PyObject*)p->grp), a); if (e) return e;
-  }
-  if (p->names) {
-    e = (*v)(p->names, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5g_GroupIter(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5g_GroupIter *p = (struct __pyx_obj_4h5py_3h5g_GroupIter *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->grp);
-  p->grp = ((struct __pyx_obj_4h5py_3h5g_GroupID *)Py_None); Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->names);
-  p->names = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5g_GroupIter[] = {
-  {__Pyx_NAMESTR("__next__"), (PyCFunction)__pyx_pw_4h5py_3h5g_9GroupIter_5__next__, METH_NOARGS|METH_COEXIST, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_GroupIter = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_GroupIter = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_GroupIter = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_GroupIter = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5g_GroupIter = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5g.GroupIter"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5g_GroupIter), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5g_GroupIter, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_GroupIter, /*tp_as_number*/
-  &__pyx_tp_as_sequence_GroupIter, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_GroupIter, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_GroupIter, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Iterator over the names of group members.  After this iterator is\n        exhausted, it releases its reference to the group ID.\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5g_GroupIter, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5g_GroupIter, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  __pyx_pw_4h5py_3h5g_9GroupIter_3__iter__, /*tp_iter*/
-  __pyx_pw_4h5py_3h5g_9GroupIter_5__next__, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5g_GroupIter, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5g_9GroupIter_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5g_GroupIter, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5g__GroupVisitor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_3h5g__GroupVisitor *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o);
-  p->func = Py_None; Py_INCREF(Py_None);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5g__GroupVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5g__GroupVisitor *p = (struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->func);
-  Py_CLEAR(p->retval);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5g__GroupVisitor(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5g__GroupVisitor *p = (struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o;
-  if (p->func) {
-    e = (*v)(p->func, a); if (e) return e;
-  }
-  if (p->retval) {
-    e = (*v)(p->retval, a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5g__GroupVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5g__GroupVisitor *p = (struct __pyx_obj_4h5py_3h5g__GroupVisitor *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->func);
-  p->func = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->retval);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5g__GroupVisitor[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__GroupVisitor = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__GroupVisitor = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__GroupVisitor = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__GroupVisitor = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5g__GroupVisitor = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5g._GroupVisitor"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5g__GroupVisitor), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5g__GroupVisitor, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__GroupVisitor, /*tp_as_number*/
-  &__pyx_tp_as_sequence__GroupVisitor, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__GroupVisitor, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__GroupVisitor, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  0, /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5g__GroupVisitor, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5g__GroupVisitor, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5g__GroupVisitor, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5g_13_GroupVisitor_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5g__GroupVisitor, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5g"),
-    __Pyx_DOCSTR(__pyx_k_7), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_b_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 0, 0},
-  {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0},
-  {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1},
-  {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0},
-  {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0},
-  {&__pyx_n_s__DATASET, __pyx_k__DATASET, sizeof(__pyx_k__DATASET), 0, 0, 1, 1},
-  {&__pyx_n_s__GROUP, __pyx_k__GROUP, sizeof(__pyx_k__GROUP), 0, 0, 1, 1},
-  {&__pyx_n_s__LINK, __pyx_k__LINK, sizeof(__pyx_k__LINK), 0, 0, 1, 1},
-  {&__pyx_n_s__LINK_ERROR, __pyx_k__LINK_ERROR, sizeof(__pyx_k__LINK_ERROR), 0, 0, 1, 1},
-  {&__pyx_n_s__LINK_HARD, __pyx_k__LINK_HARD, sizeof(__pyx_k__LINK_HARD), 0, 0, 1, 1},
-  {&__pyx_n_s__LINK_SOFT, __pyx_k__LINK_SOFT, sizeof(__pyx_k__LINK_SOFT), 0, 0, 1, 1},
-  {&__pyx_n_s__LinkProxy, __pyx_k__LinkProxy, sizeof(__pyx_k__LinkProxy), 0, 0, 1, 1},
-  {&__pyx_n_s__StopIteration, __pyx_k__StopIteration, sizeof(__pyx_k__StopIteration), 0, 0, 1, 1},
-  {&__pyx_n_s__TYPE, __pyx_k__TYPE, sizeof(__pyx_k__TYPE), 0, 0, 1, 1},
-  {&__pyx_n_s__UNKNOWN, __pyx_k__UNKNOWN, sizeof(__pyx_k__UNKNOWN), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___name, __pyx_k___name, sizeof(__pyx_k___name), 0, 0, 1, 1},
-  {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1},
-  {&__pyx_n_s__append, __pyx_k__append, sizeof(__pyx_k__append), 0, 0, 1, 1},
-  {&__pyx_n_s__cname, __pyx_k__cname, sizeof(__pyx_k__cname), 0, 0, 1, 1},
-  {&__pyx_n_s__comment, __pyx_k__comment, sizeof(__pyx_k__comment), 0, 0, 1, 1},
-  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
-  {&__pyx_n_s__current_name, __pyx_k__current_name, sizeof(__pyx_k__current_name), 0, 0, 1, 1},
-  {&__pyx_n_s__fileno, __pyx_k__fileno, sizeof(__pyx_k__fileno), 0, 0, 1, 1},
-  {&__pyx_n_s__follow_link, __pyx_k__follow_link, sizeof(__pyx_k__follow_link), 0, 0, 1, 1},
-  {&__pyx_n_s__func, __pyx_k__func, sizeof(__pyx_k__func), 0, 0, 1, 1},
-  {&__pyx_n_s__gcpl, __pyx_k__gcpl, sizeof(__pyx_k__gcpl), 0, 0, 1, 1},
-  {&__pyx_n_s__get_num_objs, __pyx_k__get_num_objs, sizeof(__pyx_k__get_num_objs), 0, 0, 1, 1},
-  {&__pyx_n_s__get_objinfo, __pyx_k__get_objinfo, sizeof(__pyx_k__get_objinfo), 0, 0, 1, 1},
-  {&__pyx_n_s__gid, __pyx_k__gid, sizeof(__pyx_k__gid), 0, 0, 1, 1},
-  {&__pyx_n_s__grp, __pyx_k__grp, sizeof(__pyx_k__grp), 0, 0, 1, 1},
-  {&__pyx_n_s__h5l, __pyx_k__h5l, sizeof(__pyx_k__h5l), 0, 0, 1, 1},
-  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
-  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
-  {&__pyx_n_s__id_, __pyx_k__id_, sizeof(__pyx_k__id_), 0, 0, 1, 1},
-  {&__pyx_n_s__iterate, __pyx_k__iterate, sizeof(__pyx_k__iterate), 0, 0, 1, 1},
-  {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1},
-  {&__pyx_n_s__link_type, __pyx_k__link_type, sizeof(__pyx_k__link_type), 0, 0, 1, 1},
-  {&__pyx_n_s__linklen, __pyx_k__linklen, sizeof(__pyx_k__linklen), 0, 0, 1, 1},
-  {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1},
-  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
-  {&__pyx_n_s__mtime, __pyx_k__mtime, sizeof(__pyx_k__mtime), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__new_name, __pyx_k__new_name, sizeof(__pyx_k__new_name), 0, 0, 1, 1},
-  {&__pyx_n_s__nlink, __pyx_k__nlink, sizeof(__pyx_k__nlink), 0, 0, 1, 1},
-  {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1},
-  {&__pyx_n_s__obj_name, __pyx_k__obj_name, sizeof(__pyx_k__obj_name), 0, 0, 1, 1},
-  {&__pyx_n_s__objno, __pyx_k__objno, sizeof(__pyx_k__objno), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1},
-  {&__pyx_n_s__remote, __pyx_k__remote, sizeof(__pyx_k__remote), 0, 0, 1, 1},
-  {&__pyx_n_s__startidx, __pyx_k__startidx, sizeof(__pyx_k__startidx), 0, 0, 1, 1},
-  {&__pyx_n_s__statobj, __pyx_k__statobj, sizeof(__pyx_k__statobj), 0, 0, 1, 1},
-  {&__pyx_n_s__type, __pyx_k__type, sizeof(__pyx_k__type), 0, 0, 1, 1},
-  {&__pyx_n_s__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 0, 0, 1, 1},
-  {&__pyx_n_s__vis, __pyx_k__vis, sizeof(__pyx_k__vis), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_StopIteration = __Pyx_GetName(__pyx_b, __pyx_n_s__StopIteration); if (!__pyx_builtin_StopIteration) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5g.pyx":189
- *     """
- *     if startidx < 0:
- *         raise ValueError("Starting index must be non-negative")             # <<<<<<<<<<<<<<
- * 
- *     cdef int i = startidx
- */
-  __pyx_k_tuple_3 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_2)); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_3);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-
-  /* "h5py/h5g.pyx":258
- *         when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Gclose(self.id)
- *             if not self.valid:
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-
-  /* "h5py/h5g.pyx":123
- * 
- * 
- * def open(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name) => GroupID
- * 
- */
-  __pyx_k_tuple_8 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_8);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
-  __pyx_k_codeobj_9 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__open, 123, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5g.pyx":130
- *     return GroupID.open(H5Gopen(loc.id, name))
- * 
- * def create(ObjectID loc not None, object name, PropID lcpl=None,             # <<<<<<<<<<<<<<
- *            PropID gcpl=None):
- *     """(ObjectID loc, STRING name or None, PropLCID lcpl=None,
- */
-  __pyx_k_tuple_12 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__lcpl), ((PyObject *)__pyx_n_s__gcpl), ((PyObject *)__pyx_n_s__gid), ((PyObject *)__pyx_n_s__cname)); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_12);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));
-  __pyx_k_codeobj_13 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__create, 130, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5g.pyx":172
- * 
- * 
- * def iterate(GroupID loc not None, object func, int startidx=0, *,             # <<<<<<<<<<<<<<
- *             char* obj_name='.'):
- *     """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)
- */
-  __pyx_k_tuple_14 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__func), ((PyObject *)__pyx_n_s__startidx), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__i), ((PyObject *)__pyx_n_s__vis)); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_14);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14));
-  __pyx_k_codeobj_15 = (PyObject*)__Pyx_PyCode_New(4, 1, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_14, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__iterate, 172, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5g.pyx":199
- * 
- * 
- * def get_objinfo(ObjectID obj not None, object name=b'.', int follow_link=1):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object
- * 
- */
-  __pyx_k_tuple_16 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__obj), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__follow_link), ((PyObject *)__pyx_n_s__statobj), ((PyObject *)__pyx_n_s___name)); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_16);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16));
-  __pyx_k_codeobj_17 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__get_objinfo, 199, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5g(void); /*proto*/
-PyMODINIT_FUNC inith5g(void)
-#else
-PyMODINIT_FUNC PyInit_h5g(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5g(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5g(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5g"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_7), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5g")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5g", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5g) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_type_4h5py_3h5g_GroupID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_CPYTHON
-  {
-    PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5g_GroupID, "__contains__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
-      __pyx_wrapperbase_4h5py_3h5g_7GroupID_22__contains__ = *((PyWrapperDescrObject *)wrapper)->d_base;
-      __pyx_wrapperbase_4h5py_3h5g_7GroupID_22__contains__.doc = __pyx_doc_4h5py_3h5g_7GroupID_22__contains__;
-      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_22__contains__;
-    }
-  }
-  #endif
-  #if CYTHON_COMPILING_IN_CPYTHON
-  {
-    PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5g_GroupID, "__iter__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
-      __pyx_wrapperbase_4h5py_3h5g_7GroupID_24__iter__ = *((PyWrapperDescrObject *)wrapper)->d_base;
-      __pyx_wrapperbase_4h5py_3h5g_7GroupID_24__iter__.doc = __pyx_doc_4h5py_3h5g_7GroupID_24__iter__;
-      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_24__iter__;
-    }
-  }
-  #endif
-  #if CYTHON_COMPILING_IN_CPYTHON
-  {
-    PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5g_GroupID, "__len__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
-      __pyx_wrapperbase_4h5py_3h5g_7GroupID_26__len__ = *((PyWrapperDescrObject *)wrapper)->d_base;
-      __pyx_wrapperbase_4h5py_3h5g_7GroupID_26__len__.doc = __pyx_doc_4h5py_3h5g_7GroupID_26__len__;
-      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5g_7GroupID_26__len__;
-    }
-  }
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "GroupID", (PyObject *)&__pyx_type_4h5py_3h5g_GroupID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 222; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5g_GroupID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5g_GroupID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5g_GroupID, __pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5g_GroupID = &__pyx_type_4h5py_3h5g_GroupID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupStat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "GroupStat", (PyObject *)&__pyx_type_4h5py_3h5g_GroupStat) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5g_GroupStat = &__pyx_type_4h5py_3h5g_GroupStat;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5g_GroupIter) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "GroupIter", (PyObject *)&__pyx_type_4h5py_3h5g_GroupIter) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5g_GroupIter = &__pyx_type_4h5py_3h5g_GroupIter;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5g__GroupVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_GroupVisitor", (PyObject *)&__pyx_type_4h5py_3h5g__GroupVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5g__GroupVisitor = &__pyx_type_4h5py_3h5g__GroupVisitor;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropOCID = __Pyx_ImportType("h5py.h5p", "PropOCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropOCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropOCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gopen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Glink2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Glink2, "herr_t (hid_t, char *, H5G_link_t, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gunlink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gunlink, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gmove2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gmove2, "herr_t (hid_t, char *, hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_num_objs", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_num_objs, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objname_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objname_by_idx, "int (hid_t, hsize_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objtype_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objtype_by_idx, "int (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Giterate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Giterate, "herr_t (hid_t, char *, int *, H5G_iterate_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_objinfo", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_objinfo, "herr_t (hid_t, char *, int, H5G_stat_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_linkval", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_linkval, "herr_t (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gset_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gset_comment, "herr_t (hid_t, char *, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gget_comment", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gget_comment, "int (hid_t, char *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate_anon", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate_anon, "hid_t (hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Gcreate2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Gcreate2, "hid_t (hid_t, char *, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_4 = __Pyx_ImportModule("h5py._errors"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "set_error_handler", (void (**)(void))&__pyx_f_4h5py_7_errors_set_error_handler, "__pyx_t_4h5py_7_errors_err_cookie (__pyx_t_4h5py_7_errors_err_cookie)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5g.pyx":21
- * from _errors cimport set_error_handler, err_cookie
- * 
- * from h5py import _objects             # <<<<<<<<<<<<<<
- * 
- * # === Public constants and data structures ====================================
- */
-  __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s___objects));
-  PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_n_s___objects));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects));
-  __pyx_t_6 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_5), -1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s___objects);
-  if (__pyx_t_5 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects);
-    if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":26
- * 
- * # Enumerated object types for groups "H5G_obj_t"
- * UNKNOWN  = H5G_UNKNOWN             # <<<<<<<<<<<<<<
- * LINK     = H5G_LINK
- * GROUP    = H5G_GROUP
- */
-  __pyx_t_6 = PyInt_FromLong(H5G_UNKNOWN); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNKNOWN, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":27
- * # Enumerated object types for groups "H5G_obj_t"
- * UNKNOWN  = H5G_UNKNOWN
- * LINK     = H5G_LINK             # <<<<<<<<<<<<<<
- * GROUP    = H5G_GROUP
- * DATASET  = H5G_DATASET
- */
-  __pyx_t_6 = PyInt_FromLong(H5G_LINK); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":28
- * UNKNOWN  = H5G_UNKNOWN
- * LINK     = H5G_LINK
- * GROUP    = H5G_GROUP             # <<<<<<<<<<<<<<
- * DATASET  = H5G_DATASET
- * TYPE = H5G_TYPE
- */
-  __pyx_t_6 = PyInt_FromLong(H5G_GROUP); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GROUP, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":29
- * LINK     = H5G_LINK
- * GROUP    = H5G_GROUP
- * DATASET  = H5G_DATASET             # <<<<<<<<<<<<<<
- * TYPE = H5G_TYPE
- * 
- */
-  __pyx_t_6 = PyInt_FromLong(H5G_DATASET); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATASET, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":30
- * GROUP    = H5G_GROUP
- * DATASET  = H5G_DATASET
- * TYPE = H5G_TYPE             # <<<<<<<<<<<<<<
- * 
- * # Enumerated link types "H5G_link_t"
- */
-  __pyx_t_6 = PyInt_FromLong(H5G_TYPE); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TYPE, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":33
- * 
- * # Enumerated link types "H5G_link_t"
- * LINK_ERROR = H5G_LINK_ERROR             # <<<<<<<<<<<<<<
- * LINK_HARD  = H5G_LINK_HARD
- * LINK_SOFT  = H5G_LINK_SOFT
- */
-  __pyx_t_6 = PyInt_FromLong(H5G_LINK_ERROR); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK_ERROR, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":34
- * # Enumerated link types "H5G_link_t"
- * LINK_ERROR = H5G_LINK_ERROR
- * LINK_HARD  = H5G_LINK_HARD             # <<<<<<<<<<<<<<
- * LINK_SOFT  = H5G_LINK_SOFT
- * 
- */
-  __pyx_t_6 = PyInt_FromLong(H5G_LINK_HARD); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK_HARD, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":35
- * LINK_ERROR = H5G_LINK_ERROR
- * LINK_HARD  = H5G_LINK_HARD
- * LINK_SOFT  = H5G_LINK_SOFT             # <<<<<<<<<<<<<<
- * 
- * cdef class GroupStat:
- */
-  __pyx_t_6 = PyInt_FromLong(H5G_LINK_SOFT); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK_SOFT, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":123
- * 
- * 
- * def open(ObjectID loc not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name) => GroupID
- * 
- */
-  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_1open, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":130
- *     return GroupID.open(H5Gopen(loc.id, name))
- * 
- * def create(ObjectID loc not None, object name, PropID lcpl=None,             # <<<<<<<<<<<<<<
- *            PropID gcpl=None):
- *     """(ObjectID loc, STRING name or None, PropLCID lcpl=None,
- */
-  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_3create, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":172
- * 
- * 
- * def iterate(GroupID loc not None, object func, int startidx=0, *,             # <<<<<<<<<<<<<<
- *             char* obj_name='.'):
- *     """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)
- */
-  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_5iterate, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__iterate, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":199
- * 
- * 
- * def get_objinfo(ObjectID obj not None, object name=b'.', int follow_link=1):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object
- * 
- */
-  __pyx_t_6 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5g_7get_objinfo, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_objinfo, __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 199; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5g.pyx":265
- * 
- *     def link(self, char* current_name, char* new_name,
- *              int link_type=H5G_LINK_HARD, GroupID remote=None):             # <<<<<<<<<<<<<<
- *         """(STRING current_name, STRING new_name, INT link_type=LINK_HARD,
- *         GroupID remote=None)
- */
-  __pyx_k_5 = H5G_LINK_HARD;
-
-  /* "h5py/h5g.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_6));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_6)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5g", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5g");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_dealloc != current_tp_dealloc)
-        type = type->tp_base;
-    while (type && type->tp_dealloc == current_tp_dealloc)
-        type = type->tp_base;
-    if (type)
-        type->tp_dealloc(obj);
-}
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_traverse != current_tp_traverse)
-        type = type->tp_base;
-    while (type && type->tp_traverse == current_tp_traverse)
-        type = type->tp_base;
-    if (type && type->tp_traverse)
-        return type->tp_traverse(obj, v, a);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_clear != current_tp_clear)
-        type = type->tp_base;
-    while (type && type->tp_clear == current_tp_clear)
-        type = type->tp_base;
-    if (type && type->tp_clear)
-        type->tp_clear(obj);
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hid_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hid_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hid_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hid_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hid_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hid_t)-1;
-    }
-}
-
-static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hsize_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hsize_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hsize_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hsize_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hsize_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hsize_t)-1;
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_time_t(time_t val) {
-    const time_t neg_one = (time_t)-1, const_zero = (time_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(time_t) == sizeof(char))  ||
-        (sizeof(time_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(time_t) == sizeof(int)) ||
-               (sizeof(time_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(time_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(time_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5g.pyx b/h5py/h5g.pyx
index 293dfe8..9a7880c 100644
--- a/h5py/h5g.pyx
+++ b/h5py/h5g.pyx
@@ -11,6 +11,8 @@
     Low-level HDF5 "H5G" group interface.
 """
 
+include "config.pxi"
+
 # Compile-time imports
 from _objects cimport pdefault
 from utils cimport emalloc, efree
@@ -19,6 +21,7 @@ cimport _hdf5 # to implement container testing for 1.6
 from _errors cimport set_error_handler, err_cookie
 
 from h5py import _objects
+from ._objects import phil, with_phil
 
 # === Public constants and data structures ====================================
 
@@ -117,16 +120,19 @@ cdef class GroupIter:
 
         return retval
 
-# === Basic group management ==================================================
 
+# === Basic group management ==================================================
 
+ at with_phil
 def open(ObjectID loc not None, char* name):
     """(ObjectID loc, STRING name) => GroupID
 
     Open an existing HDF5 group, attached to some other group.
     """
-    return GroupID.open(H5Gopen(loc.id, name))
+    return GroupID(H5Gopen(loc.id, name))
 
+
+ at with_phil
 def create(ObjectID loc not None, object name, PropID lcpl=None,
            PropID gcpl=None):
     """(ObjectID loc, STRING name or None, PropLCID lcpl=None,
@@ -146,7 +152,7 @@ def create(ObjectID loc not None, object name, PropID lcpl=None,
     else:
         gid = H5Gcreate_anon(loc.id, pdefault(gcpl), H5P_DEFAULT)
 
-    return GroupID.open(gid)
+    return GroupID(gid)
 
 
 cdef class _GroupVisitor:
@@ -169,6 +175,7 @@ cdef herr_t cb_group_iter(hid_t gid, char *name, void* vis_in) except 2:
     return 0
 
 
+ at with_phil
 def iterate(GroupID loc not None, object func, int startidx=0, *,
             char* obj_name='.'):
     """ (GroupID loc, CALLABLE func, UINT startidx=0, **kwds)
@@ -196,6 +203,7 @@ def iterate(GroupID loc not None, object func, int startidx=0, *,
     return vis.retval
 
 
+ at with_phil
 def get_objinfo(ObjectID obj not None, object name=b'.', int follow_link=1):
     """(ObjectID obj, STRING name='.', BOOL follow_link=True) => GroupStat object
 
@@ -217,6 +225,7 @@ def get_objinfo(ObjectID obj not None, object name=b'.', int follow_link=1):
 
     return statobj
 
+
 # === Group member management =================================================
 
 cdef class GroupID(ObjectID):
@@ -244,23 +253,12 @@ cdef class GroupID(ObjectID):
     """
 
     def __init__(self, hid_t id_):
-        import h5l
-        self.links = h5l.LinkProxy(id_)
-
-
-    def _close(self):
-        """()
-
-        Terminate access through this identifier.  You shouldn't have to
-        call this manually; group identifiers are automatically released
-        when their Python wrappers are freed.
-        """
-        with _objects.registry.lock:
-            H5Gclose(self.id)
-            if not self.valid:
-                del _objects.registry[self.id]
+        with phil:
+            import h5l
+            self.links = h5l.LinkProxy(id_)
 
 
+    @with_phil
     def link(self, char* current_name, char* new_name,
              int link_type=H5G_LINK_HARD, GroupID remote=None):
         """(STRING current_name, STRING new_name, INT link_type=LINK_HARD,
@@ -287,6 +285,7 @@ cdef class GroupID(ObjectID):
         H5Glink2(self.id, current_name, <H5G_link_t>link_type, remote_id, new_name)
 
 
+    @with_phil
     def unlink(self, char* name):
         """(STRING name)
 
@@ -295,6 +294,7 @@ cdef class GroupID(ObjectID):
         H5Gunlink(self.id, name)
 
 
+    @with_phil
     def move(self, char* current_name, char* new_name, GroupID remote=None):
         """(STRING current_name, STRING new_name, GroupID remote=None)
 
@@ -311,6 +311,7 @@ cdef class GroupID(ObjectID):
         H5Gmove2(self.id, current_name, remote_id, new_name)
 
 
+    @with_phil
     def get_num_objs(self):
         """() => INT number_of_objects
 
@@ -321,6 +322,7 @@ cdef class GroupID(ObjectID):
         return size
 
 
+    @with_phil
     def get_objname_by_idx(self, hsize_t idx):
         """(INT idx) => STRING
 
@@ -341,6 +343,7 @@ cdef class GroupID(ObjectID):
             efree(buf)
 
 
+    @with_phil
     def get_objtype_by_idx(self, hsize_t idx):
         """(INT idx) => INT object_type_code
 
@@ -355,6 +358,7 @@ cdef class GroupID(ObjectID):
         return <int>H5Gget_objtype_by_idx(self.id, idx)
 
 
+    @with_phil
     def get_linkval(self, char* name):
         """(STRING name) => STRING link_value
 
@@ -384,6 +388,7 @@ cdef class GroupID(ObjectID):
             efree(value)
 
 
+    @with_phil
     def set_comment(self, char* name, char* comment):
         """(STRING name, STRING comment)
 
@@ -392,6 +397,7 @@ cdef class GroupID(ObjectID):
         H5Gset_comment(self.id, name, comment)
 
 
+    @with_phil
     def get_comment(self, char* name):
         """(STRING name) => STRING comment
 
@@ -412,10 +418,10 @@ cdef class GroupID(ObjectID):
         finally:
             efree(cmnt)
 
-    # === Special methods =====================================================
 
+    # === Special methods =====================================================
 
-    def __contains__(self, char* name):
+    def __contains__(self, name):
         """(STRING name)
 
         Determine if a group member of the given name is present
@@ -427,20 +433,102 @@ cdef class GroupID(ObjectID):
         new_handler.func = NULL
         new_handler.data = NULL
 
-        old_handler = set_error_handler(new_handler)
-        retval = _hdf5.H5Gget_objinfo(self.id, name, 0, NULL)
-        set_error_handler(old_handler)
-
-        return bool(retval >= 0)
+        if not self:
+            return False
 
+        IF HDF5_VERSION >= (1, 8, 5):
+            # New system is more robust but requires H5Oexists_by_name
+            with phil:
+                return _path_valid(self, name)
+        ELSE:
+            with phil:
+                old_handler = set_error_handler(new_handler)
+                retval = _hdf5.H5Gget_objinfo(self.id, name, 0, NULL)
+                set_error_handler(old_handler)
+                return bool(retval >= 0)
 
     def __iter__(self):
         """ Return an iterator over the names of group members. """
-        return GroupIter(self)
+        with phil:
+            return GroupIter(self)
 
 
     def __len__(self):
         """ Number of group members """
         cdef hsize_t size
-        H5Gget_num_objs(self.id, &size)
-        return size
+        with phil:
+            H5Gget_num_objs(self.id, &size)
+            return size
+
+
+IF HDF5_VERSION >= (1, 8, 5):
+    @with_phil
+    def _path_valid(GroupID grp not None, object path not None, PropID lapl=None):
+        """ Determine if *path* points to an object in the file.
+
+        If *path* represents an external or soft link, the link's validity is not
+        checked.
+        """
+        import h5o
+
+        if isinstance(path, bytes):
+            path = path.decode('utf-8')
+        else:
+            path = unicode(path)
+
+        # Empty names are not allowed by HDF5
+        if len(path) == 0:
+            return False
+
+        # Note: we cannot use pp.normpath as it resolves ".." components,
+        # which don't exist in HDF5
+
+        path_parts = path.split('/')
+
+        # Absolute path (started with slash)
+        if path_parts[0] == '':
+            current_loc = h5o.open(grp, b'/', lapl=lapl)
+        else:
+            current_loc = grp
+
+        # HDF5 ignores duplicate or trailing slashes
+        path_parts = [x for x in path_parts if x != '']
+
+        # Special case: path was entirely composed of slashes!
+        if len(path_parts) == 0:
+            path_parts = ['.']  # i.e. the root group
+
+        path_parts = [x.encode('utf-8') for x in path_parts]
+        nparts = len(path_parts)
+
+        for idx, p in enumerate(path_parts):
+
+            # Special case; '.' always refers to the present group
+            if p == b'.':
+                continue
+
+            # Is there any kind of link by that name in this group?
+            if not current_loc.links.exists(p, lapl=lapl):
+                return False
+    
+            # If we're at the last link in the chain, we're done.
+            # We don't check to see if the last part points to a valid object;
+            # it's enough that it exists.
+            if idx == nparts - 1:
+                return True
+
+            # Otherwise, does the link point to a real object?
+            if not h5o.exists_by_name(current_loc, p, lapl=lapl):
+                return False
+
+            # Is that object a group?
+            next_loc = h5o.open(current_loc, p, lapl=lapl)
+            info = h5o.get_info(next_loc)
+            if info.type != H5O_TYPE_GROUP:
+                return False
+
+            # Go into that group
+            current_loc = next_loc
+
+        return True
+
diff --git a/h5py/h5i.c b/h5py/h5i.c
deleted file mode 100644
index f1d9fad..0000000
--- a/h5py/h5i.c
+++ /dev/null
@@ -1,3566 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5i
-#define __PYX_HAVE_API__h5py__h5i
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5i.pyx",
-  "_objects.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static H5I_type_t (*__pyx_f_4h5py_4defs_H5Iget_type)(hid_t); /*proto*/
-static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Iget_name)(hid_t, char *, size_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Iget_file_id)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Iinc_ref)(hid_t); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-
-/* Module declarations from 'h5py.h5i' */
-static struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_f_4h5py_3h5i_wrap_identifier(hid_t, int __pyx_skip_dispatch); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5i"
-int __pyx_module_is_main_h5py__h5i = 0;
-
-/* Implementation of 'h5py.h5i' */
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_builtin_Exception;
-static PyObject *__pyx_pf_4h5py_3h5i_wrap_identifier(CYTHON_UNUSED PyObject *__pyx_self, hid_t __pyx_v_ident); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5i_2get_type(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5i_4get_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5i_6get_file_id(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5i_8inc_ref(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5i_10get_ref(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5i_12dec_ref(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj); /* proto */
-static char __pyx_k_1[] = "Unrecognized type code %d";
-static char __pyx_k_2[] = "\n    Identifier interface for object inspection.\n";
-static char __pyx_k_5[] = "/home/computer/h5py/h5py/h5i.pyx";
-static char __pyx_k_6[] = "h5py.h5i";
-static char __pyx_k__fid[] = "fid";
-static char __pyx_k__h5a[] = "h5a";
-static char __pyx_k__h5d[] = "h5d";
-static char __pyx_k__h5f[] = "h5f";
-static char __pyx_k__h5g[] = "h5g";
-static char __pyx_k__h5p[] = "h5p";
-static char __pyx_k__h5t[] = "h5t";
-static char __pyx_k__obj[] = "obj";
-static char __pyx_k__ATTR[] = "ATTR";
-static char __pyx_k__FILE[] = "FILE";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__BADID[] = "BADID";
-static char __pyx_k__GROUP[] = "GROUP";
-static char __pyx_k__AttrID[] = "AttrID";
-static char __pyx_k__FileID[] = "FileID";
-static char __pyx_k__DATASET[] = "DATASET";
-static char __pyx_k__GroupID[] = "GroupID";
-static char __pyx_k__dec_ref[] = "dec_ref";
-static char __pyx_k__get_ref[] = "get_ref";
-static char __pyx_k__inc_ref[] = "inc_ref";
-static char __pyx_k__namelen[] = "namelen";
-static char __pyx_k__DATATYPE[] = "DATATYPE";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__get_name[] = "get_name";
-static char __pyx_k__get_type[] = "get_type";
-static char __pyx_k__propwrap[] = "propwrap";
-static char __pyx_k__pystring[] = "pystring";
-static char __pyx_k__typewrap[] = "typewrap";
-static char __pyx_k__DATASPACE[] = "DATASPACE";
-static char __pyx_k__DatasetID[] = "DatasetID";
-static char __pyx_k__Exception[] = "Exception";
-static char __pyx_k__REFERENCE[] = "REFERENCE";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__GENPROP_CLS[] = "GENPROP_CLS";
-static char __pyx_k__GENPROP_LST[] = "GENPROP_LST";
-static char __pyx_k__get_file_id[] = "get_file_id";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_5;
-static PyObject *__pyx_n_s_6;
-static PyObject *__pyx_n_s__ATTR;
-static PyObject *__pyx_n_s__AttrID;
-static PyObject *__pyx_n_s__BADID;
-static PyObject *__pyx_n_s__DATASET;
-static PyObject *__pyx_n_s__DATASPACE;
-static PyObject *__pyx_n_s__DATATYPE;
-static PyObject *__pyx_n_s__DatasetID;
-static PyObject *__pyx_n_s__Exception;
-static PyObject *__pyx_n_s__FILE;
-static PyObject *__pyx_n_s__FileID;
-static PyObject *__pyx_n_s__GENPROP_CLS;
-static PyObject *__pyx_n_s__GENPROP_LST;
-static PyObject *__pyx_n_s__GROUP;
-static PyObject *__pyx_n_s__GroupID;
-static PyObject *__pyx_n_s__REFERENCE;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s__dec_ref;
-static PyObject *__pyx_n_s__fid;
-static PyObject *__pyx_n_s__get_file_id;
-static PyObject *__pyx_n_s__get_name;
-static PyObject *__pyx_n_s__get_ref;
-static PyObject *__pyx_n_s__get_type;
-static PyObject *__pyx_n_s__h5a;
-static PyObject *__pyx_n_s__h5d;
-static PyObject *__pyx_n_s__h5f;
-static PyObject *__pyx_n_s__h5g;
-static PyObject *__pyx_n_s__h5p;
-static PyObject *__pyx_n_s__h5t;
-static PyObject *__pyx_n_s__inc_ref;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__namelen;
-static PyObject *__pyx_n_s__obj;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__propwrap;
-static PyObject *__pyx_n_s__pystring;
-static PyObject *__pyx_n_s__typewrap;
-static PyObject *__pyx_k_tuple_3;
-static PyObject *__pyx_k_tuple_7;
-static PyObject *__pyx_k_tuple_9;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_tuple_13;
-static PyObject *__pyx_k_tuple_15;
-static PyObject *__pyx_k_codeobj_4;
-static PyObject *__pyx_k_codeobj_8;
-static PyObject *__pyx_k_codeobj_10;
-static PyObject *__pyx_k_codeobj_12;
-static PyObject *__pyx_k_codeobj_14;
-static PyObject *__pyx_k_codeobj_16;
-
-/* "h5py/h5i.pyx":27
- * DATATYPE    = H5I_DATATYPE
- * 
- * cpdef ObjectID wrap_identifier(hid_t ident):             # <<<<<<<<<<<<<<
- * 
- *     cdef H5I_type_t typecode
- */
-
-static PyObject *__pyx_pw_4h5py_3h5i_1wrap_identifier(PyObject *__pyx_self, PyObject *__pyx_arg_ident); /*proto*/
-static struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_f_4h5py_3h5i_wrap_identifier(hid_t __pyx_v_ident, CYTHON_UNUSED int __pyx_skip_dispatch) {
-  H5I_type_t __pyx_v_typecode;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj = 0;
-  PyObject *__pyx_v_h5f = NULL;
-  PyObject *__pyx_v_h5d = NULL;
-  PyObject *__pyx_v_h5g = NULL;
-  PyObject *__pyx_v_h5a = NULL;
-  PyObject *__pyx_v_h5t = NULL;
-  PyObject *__pyx_v_h5p = NULL;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5I_type_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("wrap_identifier", 0);
-
-  /* "h5py/h5i.pyx":32
- *     cdef ObjectID obj
- * 
- *     typecode = H5Iget_type(ident)             # <<<<<<<<<<<<<<
- *     if typecode == H5I_FILE:
- *         import h5f
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Iget_type(__pyx_v_ident); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_typecode = __pyx_t_1;
-
-  /* "h5py/h5i.pyx":33
- * 
- *     typecode = H5Iget_type(ident)
- *     if typecode == H5I_FILE:             # <<<<<<<<<<<<<<
- *         import h5f
- *         obj = h5f.FileID.open(ident)
- */
-  __pyx_t_2 = (__pyx_v_typecode == H5I_FILE);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5i.pyx":34
- *     typecode = H5Iget_type(ident)
- *     if typecode == H5I_FILE:
- *         import h5f             # <<<<<<<<<<<<<<
- *         obj = h5f.FileID.open(ident)
- *     elif typecode == H5I_DATASET:
- */
-    __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__h5f), 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_v_h5f = __pyx_t_3;
-    __pyx_t_3 = 0;
-
-    /* "h5py/h5i.pyx":35
- *     if typecode == H5I_FILE:
- *         import h5f
- *         obj = h5f.FileID.open(ident)             # <<<<<<<<<<<<<<
- *     elif typecode == H5I_DATASET:
- *         import h5d
- */
-    __pyx_t_3 = PyObject_GetAttr(__pyx_v_h5f, __pyx_n_s__FileID); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__open); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_ident); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
-    __Pyx_GIVEREF(__pyx_t_3);
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_8_objects_ObjectID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5i.pyx":36
- *         import h5f
- *         obj = h5f.FileID.open(ident)
- *     elif typecode == H5I_DATASET:             # <<<<<<<<<<<<<<
- *         import h5d
- *         obj = h5d.DatasetID.open(ident)
- */
-  __pyx_t_2 = (__pyx_v_typecode == H5I_DATASET);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5i.pyx":37
- *         obj = h5f.FileID.open(ident)
- *     elif typecode == H5I_DATASET:
- *         import h5d             # <<<<<<<<<<<<<<
- *         obj = h5d.DatasetID.open(ident)
- *     elif typecode == H5I_GROUP:
- */
-    __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__h5d), 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_v_h5d = __pyx_t_3;
-    __pyx_t_3 = 0;
-
-    /* "h5py/h5i.pyx":38
- *     elif typecode == H5I_DATASET:
- *         import h5d
- *         obj = h5d.DatasetID.open(ident)             # <<<<<<<<<<<<<<
- *     elif typecode == H5I_GROUP:
- *         import h5g
- */
-    __pyx_t_3 = PyObject_GetAttr(__pyx_v_h5d, __pyx_n_s__DatasetID); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_5 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__open); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_ident); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-    __Pyx_GIVEREF(__pyx_t_3);
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_8_objects_ObjectID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5i.pyx":39
- *         import h5d
- *         obj = h5d.DatasetID.open(ident)
- *     elif typecode == H5I_GROUP:             # <<<<<<<<<<<<<<
- *         import h5g
- *         obj = h5g.GroupID.open(ident)
- */
-  __pyx_t_2 = (__pyx_v_typecode == H5I_GROUP);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5i.pyx":40
- *         obj = h5d.DatasetID.open(ident)
- *     elif typecode == H5I_GROUP:
- *         import h5g             # <<<<<<<<<<<<<<
- *         obj = h5g.GroupID.open(ident)
- *     elif typecode == H5I_ATTR:
- */
-    __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__h5g), 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_v_h5g = __pyx_t_3;
-    __pyx_t_3 = 0;
-
-    /* "h5py/h5i.pyx":41
- *     elif typecode == H5I_GROUP:
- *         import h5g
- *         obj = h5g.GroupID.open(ident)             # <<<<<<<<<<<<<<
- *     elif typecode == H5I_ATTR:
- *         import h5a
- */
-    __pyx_t_3 = PyObject_GetAttr(__pyx_v_h5g, __pyx_n_s__GroupID); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__open); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_ident); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
-    __Pyx_GIVEREF(__pyx_t_3);
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_8_objects_ObjectID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5i.pyx":42
- *         import h5g
- *         obj = h5g.GroupID.open(ident)
- *     elif typecode == H5I_ATTR:             # <<<<<<<<<<<<<<
- *         import h5a
- *         obj = h5a.AttrID.open(ident)
- */
-  __pyx_t_2 = (__pyx_v_typecode == H5I_ATTR);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5i.pyx":43
- *         obj = h5g.GroupID.open(ident)
- *     elif typecode == H5I_ATTR:
- *         import h5a             # <<<<<<<<<<<<<<
- *         obj = h5a.AttrID.open(ident)
- *     elif typecode == H5I_DATATYPE:
- */
-    __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__h5a), 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_v_h5a = __pyx_t_3;
-    __pyx_t_3 = 0;
-
-    /* "h5py/h5i.pyx":44
- *     elif typecode == H5I_ATTR:
- *         import h5a
- *         obj = h5a.AttrID.open(ident)             # <<<<<<<<<<<<<<
- *     elif typecode == H5I_DATATYPE:
- *         import h5t
- */
-    __pyx_t_3 = PyObject_GetAttr(__pyx_v_h5a, __pyx_n_s__AttrID); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_5 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s__open); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_ident); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-    __Pyx_GIVEREF(__pyx_t_3);
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_8_objects_ObjectID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5i.pyx":45
- *         import h5a
- *         obj = h5a.AttrID.open(ident)
- *     elif typecode == H5I_DATATYPE:             # <<<<<<<<<<<<<<
- *         import h5t
- *         obj = h5t.typewrap(ident)
- */
-  __pyx_t_2 = (__pyx_v_typecode == H5I_DATATYPE);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5i.pyx":46
- *         obj = h5a.AttrID.open(ident)
- *     elif typecode == H5I_DATATYPE:
- *         import h5t             # <<<<<<<<<<<<<<
- *         obj = h5t.typewrap(ident)
- *     elif typecode == H5I_GENPROP_LST:
- */
-    __pyx_t_3 = __Pyx_Import(((PyObject *)__pyx_n_s__h5t), 0, -1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_v_h5t = __pyx_t_3;
-    __pyx_t_3 = 0;
-
-    /* "h5py/h5i.pyx":47
- *     elif typecode == H5I_DATATYPE:
- *         import h5t
- *         obj = h5t.typewrap(ident)             # <<<<<<<<<<<<<<
- *     elif typecode == H5I_GENPROP_LST:
- *         import h5p
- */
-    __pyx_t_3 = PyObject_GetAttr(__pyx_v_h5t, __pyx_n_s__typewrap); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = __Pyx_PyInt_to_py_hid_t(__pyx_v_ident); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
-    __Pyx_GIVEREF(__pyx_t_4);
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_4h5py_8_objects_ObjectID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_t_4);
-    __pyx_t_4 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5i.pyx":48
- *         import h5t
- *         obj = h5t.typewrap(ident)
- *     elif typecode == H5I_GENPROP_LST:             # <<<<<<<<<<<<<<
- *         import h5p
- *         obj = h5p.propwrap(ident)
- */
-  __pyx_t_2 = (__pyx_v_typecode == H5I_GENPROP_LST);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5i.pyx":49
- *         obj = h5t.typewrap(ident)
- *     elif typecode == H5I_GENPROP_LST:
- *         import h5p             # <<<<<<<<<<<<<<
- *         obj = h5p.propwrap(ident)
- *     else:
- */
-    __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__h5p), 0, -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_v_h5p = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/h5i.pyx":50
- *     elif typecode == H5I_GENPROP_LST:
- *         import h5p
- *         obj = h5p.propwrap(ident)             # <<<<<<<<<<<<<<
- *     else:
- *         raise ValueError("Unrecognized type code %d" % typecode)
- */
-    __pyx_t_4 = PyObject_GetAttr(__pyx_v_h5p, __pyx_n_s__propwrap); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_v_ident); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
-    __Pyx_GIVEREF(__pyx_t_5);
-    __pyx_t_5 = 0;
-    __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_4h5py_8_objects_ObjectID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_t_5);
-    __pyx_t_5 = 0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5i.pyx":52
- *         obj = h5p.propwrap(ident)
- *     else:
- *         raise ValueError("Unrecognized type code %d" % typecode)             # <<<<<<<<<<<<<<
- * 
- *     return obj
- */
-    __pyx_t_5 = PyInt_FromLong(__pyx_v_typecode); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_3));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5i.pyx":54
- *         raise ValueError("Unrecognized type code %d" % typecode)
- * 
- *     return obj             # <<<<<<<<<<<<<<
- * 
- * # === Identifier API ==========================================================
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __Pyx_INCREF(((PyObject *)__pyx_v_obj));
-  __pyx_r = __pyx_v_obj;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5i.wrap_identifier", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_obj);
-  __Pyx_XDECREF(__pyx_v_h5f);
-  __Pyx_XDECREF(__pyx_v_h5d);
-  __Pyx_XDECREF(__pyx_v_h5g);
-  __Pyx_XDECREF(__pyx_v_h5a);
-  __Pyx_XDECREF(__pyx_v_h5t);
-  __Pyx_XDECREF(__pyx_v_h5p);
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5i_1wrap_identifier(PyObject *__pyx_self, PyObject *__pyx_arg_ident); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5i_1wrap_identifier(PyObject *__pyx_self, PyObject *__pyx_arg_ident) {
-  hid_t __pyx_v_ident;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("wrap_identifier (wrapper)", 0);
-  assert(__pyx_arg_ident); {
-    __pyx_v_ident = __Pyx_PyInt_from_py_hid_t(__pyx_arg_ident); if (unlikely((__pyx_v_ident == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5i.wrap_identifier", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5i_wrap_identifier(__pyx_self, ((hid_t)__pyx_v_ident));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5i.pyx":27
- * DATATYPE    = H5I_DATATYPE
- * 
- * cpdef ObjectID wrap_identifier(hid_t ident):             # <<<<<<<<<<<<<<
- * 
- *     cdef H5I_type_t typecode
- */
-
-static PyObject *__pyx_pf_4h5py_3h5i_wrap_identifier(CYTHON_UNUSED PyObject *__pyx_self, hid_t __pyx_v_ident) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("wrap_identifier", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5i_wrap_identifier(__pyx_v_ident, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5i.wrap_identifier", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5i_3get_type(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_4h5py_3h5i_2get_type[] = " (ObjectID obj) => INT type_code\n\n        Determine the HDF5 typecode of an arbitrary HDF5 object.  The return\n        value is always one of the type constants defined in this module; if\n        the ID is invalid, BADID is returned.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5i_3get_type = {__Pyx_NAMESTR("get_type"), (PyCFunction)__pyx_pw_4h5py_3h5i_3get_type, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5i_2get_type)};
-static PyObject *__pyx_pw_4h5py_3h5i_3get_type(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_type (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5i_2get_type(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5i.pyx":59
- * 
- * 
- * def get_type(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => INT type_code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5i_2get_type(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5I_type_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_type", 0);
-
-  /* "h5py/h5i.pyx":66
- *         the ID is invalid, BADID is returned.
- *     """
- *     return <int>H5Iget_type(obj.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Iget_type(__pyx_v_obj->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5i.get_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5i_5get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_4h5py_3h5i_4get_name[] = " (ObjectID obj) => STRING name, or None\n\n        Determine (a) name of an HDF5 object.  Because an object has as many\n        names as there are hard links to it, this may not be unique.\n\n        If the identifier is invalid or is not associated with a name\n        (in the case of transient datatypes, dataspaces, etc), returns None.\n\n        For some reason, this does not work on dereferenced objects.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5i_5get_name = {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pw_4h5py_3h5i_5get_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5i_4get_name)};
-static PyObject *__pyx_pw_4h5py_3h5i_5get_name(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_name (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5i_4get_name(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5i.pyx":69
- * 
- * 
- * def get_name(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => STRING name, or None
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5i_4get_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj) {
-  int __pyx_v_namelen;
-  char *__pyx_v_name;
-  char *__pyx_v_pystring;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  Py_ssize_t __pyx_t_4;
-  int __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  int __pyx_t_9;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_name", 0);
-
-  /* "h5py/h5i.pyx":83
- *     cdef char* name
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         namelen = <int>H5Iget_name(obj.id, NULL, 0)
- *     except Exception:
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
-    __Pyx_XGOTREF(__pyx_t_1);
-    __Pyx_XGOTREF(__pyx_t_2);
-    __Pyx_XGOTREF(__pyx_t_3);
-    /*try:*/ {
-
-      /* "h5py/h5i.pyx":84
- * 
- *     try:
- *         namelen = <int>H5Iget_name(obj.id, NULL, 0)             # <<<<<<<<<<<<<<
- *     except Exception:
- *         return None
- */
-      __pyx_t_4 = __pyx_f_4h5py_4defs_H5Iget_name(__pyx_v_obj->id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __pyx_v_namelen = ((int)__pyx_t_4);
-    }
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L10_try_end;
-    __pyx_L3_error:;
-
-    /* "h5py/h5i.pyx":85
- *     try:
- *         namelen = <int>H5Iget_name(obj.id, NULL, 0)
- *     except Exception:             # <<<<<<<<<<<<<<
- *         return None
- * 
- */
-    __pyx_t_5 = PyErr_ExceptionMatches(__pyx_builtin_Exception);
-    if (__pyx_t_5) {
-      __Pyx_AddTraceback("h5py.h5i.get_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_GOTREF(__pyx_t_8);
-
-      /* "h5py/h5i.pyx":86
- *         namelen = <int>H5Iget_name(obj.id, NULL, 0)
- *     except Exception:
- *         return None             # <<<<<<<<<<<<<<
- * 
- *     if namelen == 0:    # 1.6.5 doesn't raise an exception
- */
-      __Pyx_XDECREF(__pyx_r);
-      __Pyx_INCREF(Py_None);
-      __pyx_r = Py_None;
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-      goto __pyx_L6_except_return;
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-      goto __pyx_L4_exception_handled;
-    }
-    __pyx_L5_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    goto __pyx_L1_error;
-    __pyx_L6_except_return:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    goto __pyx_L0;
-    __pyx_L4_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    __pyx_L10_try_end:;
-  }
-
-  /* "h5py/h5i.pyx":88
- *         return None
- * 
- *     if namelen == 0:    # 1.6.5 doesn't raise an exception             # <<<<<<<<<<<<<<
- *         return None
- * 
- */
-  __pyx_t_9 = (__pyx_v_namelen == 0);
-  if (__pyx_t_9) {
-
-    /* "h5py/h5i.pyx":89
- * 
- *     if namelen == 0:    # 1.6.5 doesn't raise an exception
- *         return None             # <<<<<<<<<<<<<<
- * 
- *     assert namelen > 0
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(Py_None);
-    __pyx_r = Py_None;
-    goto __pyx_L0;
-    goto __pyx_L13;
-  }
-  __pyx_L13:;
-
-  /* "h5py/h5i.pyx":91
- *         return None
- * 
- *     assert namelen > 0             # <<<<<<<<<<<<<<
- *     name = <char*>malloc(sizeof(char)*(namelen+1))
- *     try:
- */
-  #ifndef CYTHON_WITHOUT_ASSERTIONS
-  if (unlikely(!(__pyx_v_namelen > 0))) {
-    PyErr_SetNone(PyExc_AssertionError);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  #endif
-
-  /* "h5py/h5i.pyx":92
- * 
- *     assert namelen > 0
- *     name = <char*>malloc(sizeof(char)*(namelen+1))             # <<<<<<<<<<<<<<
- *     try:
- *         H5Iget_name(obj.id, name, namelen+1)
- */
-  __pyx_v_name = ((char *)malloc(((sizeof(char)) * (__pyx_v_namelen + 1))));
-
-  /* "h5py/h5i.pyx":93
- *     assert namelen > 0
- *     name = <char*>malloc(sizeof(char)*(namelen+1))
- *     try:             # <<<<<<<<<<<<<<
- *         H5Iget_name(obj.id, name, namelen+1)
- *         pystring = name
- */
-  /*try:*/ {
-
-    /* "h5py/h5i.pyx":94
- *     name = <char*>malloc(sizeof(char)*(namelen+1))
- *     try:
- *         H5Iget_name(obj.id, name, namelen+1)             # <<<<<<<<<<<<<<
- *         pystring = name
- *         return pystring
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Iget_name(__pyx_v_obj->id, __pyx_v_name, (__pyx_v_namelen + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L15;}
-
-    /* "h5py/h5i.pyx":95
- *     try:
- *         H5Iget_name(obj.id, name, namelen+1)
- *         pystring = name             # <<<<<<<<<<<<<<
- *         return pystring
- *     finally:
- */
-    __pyx_v_pystring = __pyx_v_name;
-
-    /* "h5py/h5i.pyx":96
- *         H5Iget_name(obj.id, name, namelen+1)
- *         pystring = name
- *         return pystring             # <<<<<<<<<<<<<<
- *     finally:
- *         free(name)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_8 = PyBytes_FromString(__pyx_v_pystring); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L15;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_8));
-    __pyx_r = ((PyObject *)__pyx_t_8);
-    __pyx_t_8 = 0;
-    goto __pyx_L14;
-  }
-
-  /* "h5py/h5i.pyx":98
- *         return pystring
- *     finally:
- *         free(name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L16;
-    __pyx_L14: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L16;
-    __pyx_L15: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L16;
-    }
-    __pyx_L16:;
-    free(__pyx_v_name);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_AddTraceback("h5py.h5i.get_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5i_7get_file_id(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_4h5py_3h5i_6get_file_id[] = " (ObjectID obj) => FileID\n\n        Obtain an identifier for the file in which this object resides.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5i_7get_file_id = {__Pyx_NAMESTR("get_file_id"), (PyCFunction)__pyx_pw_4h5py_3h5i_7get_file_id, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5i_6get_file_id)};
-static PyObject *__pyx_pw_4h5py_3h5i_7get_file_id(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_file_id (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5i_6get_file_id(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5i.pyx":101
- * 
- * 
- * def get_file_id(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => FileID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5i_6get_file_id(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj) {
-  PyObject *__pyx_v_h5f = NULL;
-  hid_t __pyx_v_fid;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_file_id", 0);
-
-  /* "h5py/h5i.pyx":106
- *         Obtain an identifier for the file in which this object resides.
- *     """
- *     import h5f             # <<<<<<<<<<<<<<
- *     cdef hid_t fid
- *     fid = H5Iget_file_id(obj.id)
- */
-  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__h5f), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_h5f = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5i.pyx":108
- *     import h5f
- *     cdef hid_t fid
- *     fid = H5Iget_file_id(obj.id)             # <<<<<<<<<<<<<<
- *     if H5Iget_ref(fid) > 1:
- *         H5Idec_ref(fid)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Iget_file_id(__pyx_v_obj->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_fid = __pyx_t_2;
-
-  /* "h5py/h5i.pyx":109
- *     cdef hid_t fid
- *     fid = H5Iget_file_id(obj.id)
- *     if H5Iget_ref(fid) > 1:             # <<<<<<<<<<<<<<
- *         H5Idec_ref(fid)
- *     return h5f.FileID.open(fid)
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Iget_ref(__pyx_v_fid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_4 = (__pyx_t_3 > 1);
-  if (__pyx_t_4) {
-
-    /* "h5py/h5i.pyx":110
- *     fid = H5Iget_file_id(obj.id)
- *     if H5Iget_ref(fid) > 1:
- *         H5Idec_ref(fid)             # <<<<<<<<<<<<<<
- *     return h5f.FileID.open(fid)
- * 
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Idec_ref(__pyx_v_fid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5i.pyx":111
- *     if H5Iget_ref(fid) > 1:
- *         H5Idec_ref(fid)
- *     return h5f.FileID.open(fid)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_v_h5f, __pyx_n_s__FileID); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__open); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_v_fid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5i.get_file_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_h5f);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5i_9inc_ref(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_4h5py_3h5i_8inc_ref[] = " (ObjectID obj)\n\n        Increment the reference count for the given object.\n\n        This function is provided for debugging only.  Reference counting\n        is automatically synchronized with Python, and you can easily break\n        ObjectID instances by abusing this function.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5i_9inc_ref = {__Pyx_NAMESTR("inc_ref"), (PyCFunction)__pyx_pw_4h5py_3h5i_9inc_ref, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5i_8inc_ref)};
-static PyObject *__pyx_pw_4h5py_3h5i_9inc_ref(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("inc_ref (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5i_8inc_ref(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5i.pyx":114
- * 
- * 
- * def inc_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5i_8inc_ref(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("inc_ref", 0);
-
-  /* "h5py/h5i.pyx":123
- *         ObjectID instances by abusing this function.
- *     """
- *     H5Iinc_ref(obj.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Iinc_ref(__pyx_v_obj->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5i.inc_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5i_11get_ref(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_4h5py_3h5i_10get_ref[] = " (ObjectID obj) => INT\n\n        Retrieve the reference count for the given object.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5i_11get_ref = {__Pyx_NAMESTR("get_ref"), (PyCFunction)__pyx_pw_4h5py_3h5i_11get_ref, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5i_10get_ref)};
-static PyObject *__pyx_pw_4h5py_3h5i_11get_ref(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_ref (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5i_10get_ref(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5i.pyx":126
- * 
- * 
- * def get_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => INT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5i_10get_ref(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_ref", 0);
-
-  /* "h5py/h5i.pyx":131
- *         Retrieve the reference count for the given object.
- *     """
- *     return H5Iget_ref(obj.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Iget_ref(__pyx_v_obj->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5i.get_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5i_13dec_ref(PyObject *__pyx_self, PyObject *__pyx_v_obj); /*proto*/
-static char __pyx_doc_4h5py_3h5i_12dec_ref[] = " (ObjectID obj)\n\n        Decrement the reference count for the given object.\n\n        This function is provided for debugging only.  Reference counting\n        is automatically synchronized with Python, and you can easily break\n        ObjectID instances by abusing this function.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5i_13dec_ref = {__Pyx_NAMESTR("dec_ref"), (PyCFunction)__pyx_pw_4h5py_3h5i_13dec_ref, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5i_12dec_ref)};
-static PyObject *__pyx_pw_4h5py_3h5i_13dec_ref(PyObject *__pyx_self, PyObject *__pyx_v_obj) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("dec_ref (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5i_12dec_ref(__pyx_self, ((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_obj));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5i.pyx":134
- * 
- * 
- * def dec_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5i_12dec_ref(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("dec_ref", 0);
-
-  /* "h5py/h5i.pyx":143
- *         ObjectID instances by abusing this function.
- *     """
- *     H5Idec_ref(obj.id)             # <<<<<<<<<<<<<<
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Idec_ref(__pyx_v_obj->id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5i.dec_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyMethodDef __pyx_methods[] = {
-  {__Pyx_NAMESTR("wrap_identifier"), (PyCFunction)__pyx_pw_4h5py_3h5i_1wrap_identifier, METH_O, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5i"),
-    __Pyx_DOCSTR(__pyx_k_2), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
-  {&__pyx_n_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 1},
-  {&__pyx_n_s__ATTR, __pyx_k__ATTR, sizeof(__pyx_k__ATTR), 0, 0, 1, 1},
-  {&__pyx_n_s__AttrID, __pyx_k__AttrID, sizeof(__pyx_k__AttrID), 0, 0, 1, 1},
-  {&__pyx_n_s__BADID, __pyx_k__BADID, sizeof(__pyx_k__BADID), 0, 0, 1, 1},
-  {&__pyx_n_s__DATASET, __pyx_k__DATASET, sizeof(__pyx_k__DATASET), 0, 0, 1, 1},
-  {&__pyx_n_s__DATASPACE, __pyx_k__DATASPACE, sizeof(__pyx_k__DATASPACE), 0, 0, 1, 1},
-  {&__pyx_n_s__DATATYPE, __pyx_k__DATATYPE, sizeof(__pyx_k__DATATYPE), 0, 0, 1, 1},
-  {&__pyx_n_s__DatasetID, __pyx_k__DatasetID, sizeof(__pyx_k__DatasetID), 0, 0, 1, 1},
-  {&__pyx_n_s__Exception, __pyx_k__Exception, sizeof(__pyx_k__Exception), 0, 0, 1, 1},
-  {&__pyx_n_s__FILE, __pyx_k__FILE, sizeof(__pyx_k__FILE), 0, 0, 1, 1},
-  {&__pyx_n_s__FileID, __pyx_k__FileID, sizeof(__pyx_k__FileID), 0, 0, 1, 1},
-  {&__pyx_n_s__GENPROP_CLS, __pyx_k__GENPROP_CLS, sizeof(__pyx_k__GENPROP_CLS), 0, 0, 1, 1},
-  {&__pyx_n_s__GENPROP_LST, __pyx_k__GENPROP_LST, sizeof(__pyx_k__GENPROP_LST), 0, 0, 1, 1},
-  {&__pyx_n_s__GROUP, __pyx_k__GROUP, sizeof(__pyx_k__GROUP), 0, 0, 1, 1},
-  {&__pyx_n_s__GroupID, __pyx_k__GroupID, sizeof(__pyx_k__GroupID), 0, 0, 1, 1},
-  {&__pyx_n_s__REFERENCE, __pyx_k__REFERENCE, sizeof(__pyx_k__REFERENCE), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s__dec_ref, __pyx_k__dec_ref, sizeof(__pyx_k__dec_ref), 0, 0, 1, 1},
-  {&__pyx_n_s__fid, __pyx_k__fid, sizeof(__pyx_k__fid), 0, 0, 1, 1},
-  {&__pyx_n_s__get_file_id, __pyx_k__get_file_id, sizeof(__pyx_k__get_file_id), 0, 0, 1, 1},
-  {&__pyx_n_s__get_name, __pyx_k__get_name, sizeof(__pyx_k__get_name), 0, 0, 1, 1},
-  {&__pyx_n_s__get_ref, __pyx_k__get_ref, sizeof(__pyx_k__get_ref), 0, 0, 1, 1},
-  {&__pyx_n_s__get_type, __pyx_k__get_type, sizeof(__pyx_k__get_type), 0, 0, 1, 1},
-  {&__pyx_n_s__h5a, __pyx_k__h5a, sizeof(__pyx_k__h5a), 0, 0, 1, 1},
-  {&__pyx_n_s__h5d, __pyx_k__h5d, sizeof(__pyx_k__h5d), 0, 0, 1, 1},
-  {&__pyx_n_s__h5f, __pyx_k__h5f, sizeof(__pyx_k__h5f), 0, 0, 1, 1},
-  {&__pyx_n_s__h5g, __pyx_k__h5g, sizeof(__pyx_k__h5g), 0, 0, 1, 1},
-  {&__pyx_n_s__h5p, __pyx_k__h5p, sizeof(__pyx_k__h5p), 0, 0, 1, 1},
-  {&__pyx_n_s__h5t, __pyx_k__h5t, sizeof(__pyx_k__h5t), 0, 0, 1, 1},
-  {&__pyx_n_s__inc_ref, __pyx_k__inc_ref, sizeof(__pyx_k__inc_ref), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__namelen, __pyx_k__namelen, sizeof(__pyx_k__namelen), 0, 0, 1, 1},
-  {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__propwrap, __pyx_k__propwrap, sizeof(__pyx_k__propwrap), 0, 0, 1, 1},
-  {&__pyx_n_s__pystring, __pyx_k__pystring, sizeof(__pyx_k__pystring), 0, 0, 1, 1},
-  {&__pyx_n_s__typewrap, __pyx_k__typewrap, sizeof(__pyx_k__typewrap), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_Exception = __Pyx_GetName(__pyx_b, __pyx_n_s__Exception); if (!__pyx_builtin_Exception) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5i.pyx":59
- * 
- * 
- * def get_type(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => INT type_code
- * 
- */
-  __pyx_k_tuple_3 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__obj)); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_3);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-  __pyx_k_codeobj_4 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__get_type, 59, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5i.pyx":69
- * 
- * 
- * def get_name(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => STRING name, or None
- * 
- */
-  __pyx_k_tuple_7 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__obj), ((PyObject *)__pyx_n_s__namelen), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__pystring)); if (unlikely(!__pyx_k_tuple_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_7);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_7));
-  __pyx_k_codeobj_8 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_7, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__get_name, 69, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5i.pyx":101
- * 
- * 
- * def get_file_id(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => FileID
- * 
- */
-  __pyx_k_tuple_9 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__obj), ((PyObject *)__pyx_n_s__h5f), ((PyObject *)__pyx_n_s__fid)); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_9);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));
-  __pyx_k_codeobj_10 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_9, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__get_file_id, 101, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5i.pyx":114
- * 
- * 
- * def inc_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj)
- * 
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__obj)); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-  __pyx_k_codeobj_12 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__inc_ref, 114, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5i.pyx":126
- * 
- * 
- * def get_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => INT
- * 
- */
-  __pyx_k_tuple_13 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__obj)); if (unlikely(!__pyx_k_tuple_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_13);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_13));
-  __pyx_k_codeobj_14 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__get_ref, 126, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5i.pyx":134
- * 
- * 
- * def dec_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj)
- * 
- */
-  __pyx_k_tuple_15 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__obj)); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_15);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
-  __pyx_k_codeobj_16 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_5, __pyx_n_s__dec_ref, 134, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5i(void); /*proto*/
-PyMODINIT_FUNC inith5i(void)
-#else
-PyMODINIT_FUNC PyInit_h5i(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5i(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5i(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5i"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_2), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5i")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5i", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5i) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("wrap_identifier", (void (*)(void))__pyx_f_4h5py_3h5i_wrap_identifier, "struct __pyx_obj_4h5py_8_objects_ObjectID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_type, "H5I_type_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_name, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_file_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_file_id, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iinc_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iinc_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5i.pyx":16
- * # === Public constants and data structures ====================================
- * 
- * BADID       = H5I_BADID             # <<<<<<<<<<<<<<
- * FILE        = H5I_FILE
- * GROUP       = H5I_GROUP
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_BADID); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BADID, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":17
- * 
- * BADID       = H5I_BADID
- * FILE        = H5I_FILE             # <<<<<<<<<<<<<<
- * GROUP       = H5I_GROUP
- * DATASPACE   = H5I_DATASPACE
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_FILE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":18
- * BADID       = H5I_BADID
- * FILE        = H5I_FILE
- * GROUP       = H5I_GROUP             # <<<<<<<<<<<<<<
- * DATASPACE   = H5I_DATASPACE
- * DATASET     = H5I_DATASET
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_GROUP); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GROUP, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":19
- * FILE        = H5I_FILE
- * GROUP       = H5I_GROUP
- * DATASPACE   = H5I_DATASPACE             # <<<<<<<<<<<<<<
- * DATASET     = H5I_DATASET
- * ATTR        = H5I_ATTR
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_DATASPACE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATASPACE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":20
- * GROUP       = H5I_GROUP
- * DATASPACE   = H5I_DATASPACE
- * DATASET     = H5I_DATASET             # <<<<<<<<<<<<<<
- * ATTR        = H5I_ATTR
- * REFERENCE   = H5I_REFERENCE
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_DATASET); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATASET, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":21
- * DATASPACE   = H5I_DATASPACE
- * DATASET     = H5I_DATASET
- * ATTR        = H5I_ATTR             # <<<<<<<<<<<<<<
- * REFERENCE   = H5I_REFERENCE
- * GENPROP_CLS = H5I_GENPROP_CLS
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_ATTR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ATTR, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":22
- * DATASET     = H5I_DATASET
- * ATTR        = H5I_ATTR
- * REFERENCE   = H5I_REFERENCE             # <<<<<<<<<<<<<<
- * GENPROP_CLS = H5I_GENPROP_CLS
- * GENPROP_LST = H5I_GENPROP_LST
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_REFERENCE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__REFERENCE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":23
- * ATTR        = H5I_ATTR
- * REFERENCE   = H5I_REFERENCE
- * GENPROP_CLS = H5I_GENPROP_CLS             # <<<<<<<<<<<<<<
- * GENPROP_LST = H5I_GENPROP_LST
- * DATATYPE    = H5I_DATATYPE
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_GENPROP_CLS); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GENPROP_CLS, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":24
- * REFERENCE   = H5I_REFERENCE
- * GENPROP_CLS = H5I_GENPROP_CLS
- * GENPROP_LST = H5I_GENPROP_LST             # <<<<<<<<<<<<<<
- * DATATYPE    = H5I_DATATYPE
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_GENPROP_LST); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GENPROP_LST, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":25
- * GENPROP_CLS = H5I_GENPROP_CLS
- * GENPROP_LST = H5I_GENPROP_LST
- * DATATYPE    = H5I_DATATYPE             # <<<<<<<<<<<<<<
- * 
- * cpdef ObjectID wrap_identifier(hid_t ident):
- */
-  __pyx_t_2 = PyInt_FromLong(H5I_DATATYPE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATATYPE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":59
- * 
- * 
- * def get_type(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => INT type_code
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5i_3get_type, NULL, __pyx_n_s_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_type, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":69
- * 
- * 
- * def get_name(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => STRING name, or None
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5i_5get_name, NULL, __pyx_n_s_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_name, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":101
- * 
- * 
- * def get_file_id(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => FileID
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5i_7get_file_id, NULL, __pyx_n_s_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_file_id, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":114
- * 
- * 
- * def inc_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj)
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5i_9inc_ref, NULL, __pyx_n_s_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__inc_ref, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":126
- * 
- * 
- * def get_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj) => INT
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5i_11get_ref, NULL, __pyx_n_s_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_ref, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":134
- * 
- * 
- * def dec_ref(ObjectID obj not None):             # <<<<<<<<<<<<<<
- *     """ (ObjectID obj)
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5i_13dec_ref, NULL, __pyx_n_s_6); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__dec_ref, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5i.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5i", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5i");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hid_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hid_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hid_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hid_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hid_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hid_t)-1;
-    }
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5i.pyx b/h5py/h5i.pyx
index 528a86c..8ad0e2c 100644
--- a/h5py/h5i.pyx
+++ b/h5py/h5i.pyx
@@ -11,6 +11,9 @@
     Identifier interface for object inspection.
 """
 
+from ._objects import phil, with_phil
+
+
 # === Public constants and data structures ====================================
 
 BADID       = H5I_BADID
@@ -32,16 +35,16 @@ cpdef ObjectID wrap_identifier(hid_t ident):
     typecode = H5Iget_type(ident)
     if typecode == H5I_FILE:
         import h5f
-        obj = h5f.FileID.open(ident)
+        obj = h5f.FileID(ident)
     elif typecode == H5I_DATASET:
         import h5d
-        obj = h5d.DatasetID.open(ident)
+        obj = h5d.DatasetID(ident)
     elif typecode == H5I_GROUP:
         import h5g
-        obj = h5g.GroupID.open(ident)
+        obj = h5g.GroupID(ident)
     elif typecode == H5I_ATTR:
         import h5a
-        obj = h5a.AttrID.open(ident)
+        obj = h5a.AttrID(ident)
     elif typecode == H5I_DATATYPE:
         import h5t
         obj = h5t.typewrap(ident)
@@ -53,9 +56,10 @@ cpdef ObjectID wrap_identifier(hid_t ident):
 
     return obj
 
-# === Identifier API ==========================================================
 
+# === Identifier API ==========================================================
 
+ at with_phil
 def get_type(ObjectID obj not None):
     """ (ObjectID obj) => INT type_code
 
@@ -66,6 +70,7 @@ def get_type(ObjectID obj not None):
     return <int>H5Iget_type(obj.id)
 
 
+ at with_phil
 def get_name(ObjectID obj not None):
     """ (ObjectID obj) => STRING name, or None
 
@@ -98,6 +103,7 @@ def get_name(ObjectID obj not None):
         free(name)
 
 
+ at with_phil
 def get_file_id(ObjectID obj not None):
     """ (ObjectID obj) => FileID
 
@@ -106,11 +112,10 @@ def get_file_id(ObjectID obj not None):
     import h5f
     cdef hid_t fid
     fid = H5Iget_file_id(obj.id)
-    if H5Iget_ref(fid) > 1:
-        H5Idec_ref(fid)
-    return h5f.FileID.open(fid)
+    return h5f.FileID(fid)
 
 
+ at with_phil
 def inc_ref(ObjectID obj not None):
     """ (ObjectID obj)
 
@@ -123,6 +128,7 @@ def inc_ref(ObjectID obj not None):
     H5Iinc_ref(obj.id)
 
 
+ at with_phil
 def get_ref(ObjectID obj not None):
     """ (ObjectID obj) => INT
 
@@ -131,6 +137,7 @@ def get_ref(ObjectID obj not None):
     return H5Iget_ref(obj.id)
 
 
+ at with_phil
 def dec_ref(ObjectID obj not None):
     """ (ObjectID obj)
 
diff --git a/h5py/h5l.c b/h5py/h5l.c
deleted file mode 100644
index 0962b0e..0000000
--- a/h5py/h5l.c
+++ /dev/null
@@ -1,5584 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5l
-#define __PYX_HAVE_API__h5py__h5l
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5l.pyx",
-  "_objects.pxd",
-  "h5p.pxd",
-  "h5g.pxd",
-  "numpy.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5p_PropID;
-struct __pyx_obj_4h5py_3h5p_PropInstanceID;
-struct __pyx_obj_4h5py_3h5p_PropCreateID;
-struct __pyx_obj_4h5py_3h5p_PropOCID;
-struct __pyx_obj_4h5py_3h5l_LinkInfo;
-struct __pyx_obj_4h5py_3h5g_GroupID;
-struct __pyx_obj_4h5py_3h5p_PropFAID;
-struct __pyx_obj_4h5py_3h5p_PropGCID;
-struct __pyx_obj_4h5py_3h5p_PropDXID;
-struct __pyx_obj_4h5py_3h5p_PropDCID;
-struct __pyx_obj_4h5py_3h5p_PropLAID;
-struct __pyx_obj_4h5py_3h5p_PropFCID;
-struct __pyx_obj_4h5py_3h5p_PropClassID;
-struct __pyx_obj_4h5py_3h5p_PropCopyID;
-struct __pyx_obj_4h5py_3h5l__LinkVisitor;
-struct __pyx_obj_4h5py_3h5p_PropLCID;
-struct __pyx_obj_4h5py_3h5l_LinkProxy;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5p.pxd":16
- * # --- Base classes ---
- * 
- * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
- *     """ Base class for all property lists """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5p.pxd":26
- *     pass
- * 
- * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an instance of a property list class (i.e. an actual list
- *         which can be passed on to other API functions).
- */
-struct __pyx_obj_4h5py_3h5p_PropInstanceID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5p.pxd":32
- *     pass
- * 
- * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Base class for all object creation lists.
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCreateID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":44
- * # --- Object creation ---
- * 
- * cdef class PropOCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Object creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropOCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5py/h5l.pyx":26
- * TYPE_EXTERNAL = H5L_TYPE_EXTERNAL
- * 
- * cdef class LinkInfo:             # <<<<<<<<<<<<<<
- * 
- *     cdef H5L_info_t infostruct
- */
-struct __pyx_obj_4h5py_3h5l_LinkInfo {
-  PyObject_HEAD
-  H5L_info_t infostruct;
-};
-
-
-/* "h5g.pxd":14
- * from _objects cimport ObjectID
- * 
- * cdef class GroupID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef readonly object links
- */
-struct __pyx_obj_4h5py_3h5g_GroupID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  PyObject *links;
-};
-
-
-/* "h5p.pxd":59
- * # --- Object access ---
- * 
- * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ File access property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":78
- *     cdef char* _buf
- * 
- * cdef class PropGCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Group creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropGCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5p.pxd":63
- *     pass
- * 
- * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Dataset transfer property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDXID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":48
- *     pass
- * 
- * cdef class PropDCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Dataset creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5p.pxd":74
- *     pass
- * 
- * cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Link access property list """
- *     cdef char* _buf
- */
-struct __pyx_obj_4h5py_3h5p_PropLAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-  char *_buf;
-};
-
-
-/* "h5p.pxd":52
- *     pass
- * 
- * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ File creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":20
- *     pass
- * 
- * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an HDF5 property list class.  These can be either (locked)
- *         library-defined classes or user-created classes.
- */
-struct __pyx_obj_4h5py_3h5p_PropClassID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5p.pxd":39
- *     pass
- * 
- * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Property list for copying objects (as in h5o.copy) """
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCopyID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5py/h5l.pyx":54
- *                 return self.infostruct.u.val_size
- * 
- * cdef class _LinkVisitor:             # <<<<<<<<<<<<<<
- * 
- *     """ Helper class for iteration callback """
- */
-struct __pyx_obj_4h5py_3h5l__LinkVisitor {
-  PyObject_HEAD
-  PyObject *func;
-  PyObject *retval;
-  struct __pyx_obj_4h5py_3h5l_LinkInfo *info;
-};
-
-
-/* "h5p.pxd":70
- * # --- New in 1.8 ---
- * 
- * cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Link creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropLCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5py/h5l.pxd":12
- * from defs cimport *
- * 
- * cdef class LinkProxy:             # <<<<<<<<<<<<<<
- * 
- *     cdef hid_t id
- */
-struct __pyx_obj_4h5py_3h5l_LinkProxy {
-  PyObject_HEAD
-  hid_t id;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
-
-static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_int64_t(int64_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_haddr_t(haddr_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static herr_t (*__pyx_f_4h5py_4defs_H5Lmove)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_hard)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_soft)(char *, hid_t, char *, hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Lget_val)(hid_t, char *, void *, size_t, hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Lexists)(hid_t, char *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Lget_info)(hid_t, char *, H5L_info_t *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Literate_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Lvisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Lunpack_elink_val)(void *, size_t, unsigned int *, char **, char **); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Lcreate_external)(char *, char *, hid_t, char *, hid_t, hid_t); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/
-
-/* Module declarations from 'h5py.h5p' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropOCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0;
-
-/* Module declarations from 'h5py.h5g' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupID = 0;
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-
-/* Module declarations from 'h5py.h5l' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5l_LinkProxy = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5l_LinkInfo = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5l__LinkVisitor = 0;
-static herr_t __pyx_f_4h5py_3h5l_cb_link_iterate(hid_t, char *, H5L_info_t *, void *); /*proto*/
-static herr_t __pyx_f_4h5py_3h5l_cb_link_simple(hid_t, char *, H5L_info_t *, void *); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5l"
-int __pyx_module_is_main_h5py__h5l = 0;
-
-/* Implementation of 'h5py.h5l' */
-static PyObject *__pyx_builtin_NotImplemented;
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_4type___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_12corder_valid___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_6corder___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_4cset___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_1u___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5l_12_LinkVisitor___init__(struct __pyx_obj_4h5py_3h5l__LinkVisitor *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
-static int __pyx_pf_4h5py_3h5l_9LinkProxy___init__(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, hid_t __pyx_v_id_); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_2__richcmp__(CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_other, CYTHON_UNUSED int __pyx_v_how); /* proto */
-static Py_hash_t __pyx_pf_4h5py_3h5l_9LinkProxy_4__hash__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_6create_hard(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_new_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_cur_loc, char *__pyx_v_cur_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_8create_soft(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_new_name, char *__pyx_v_target, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_10create_external(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_link_name, char *__pyx_v_file_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_12get_val(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_14move(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_src_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_dst_loc, char *__pyx_v_dst_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_16exists(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_18get_info(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_name, CYTHON_UNUSED int __pyx_v_index, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_20visit(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, PyObject *__pyx_v_func, int __pyx_v_idx_type, int __pyx_v_order, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_info); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_22iterate(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, PyObject *__pyx_v_func, int __pyx_v_idx_type, int __pyx_v_order, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_info, hsize_t __pyx_v_idx); /* proto */
-static char __pyx_k_1[] = "Link proxies are unhashable; use the parent group instead.";
-static char __pyx_k_3[] = "Link must be either a soft or external link";
-static char __pyx_k_7[] = ".";
-static char __pyx_k_10[] = " Integer type code for link (h5l.TYPE_*) ";
-static char __pyx_k_11[] = " Indicates if the creation order is valid ";
-static char __pyx_k_12[] = " Creation order ";
-static char __pyx_k_13[] = " Integer type code for character set (h5t.CSET_*) ";
-static char __pyx_k_14[] = " Either the address of a hard link or the size of a soft/UD link ";
-static char __pyx_k_15[] = "\n    API for the \"H5L\" family of link-related operations.  Defines the class\n    LinkProxy, which comes attached to GroupID objects as <obj>.links.\n";
-static char __pyx_k__id_[] = "id_";
-static char __pyx_k__idx[] = "idx";
-static char __pyx_k__func[] = "func";
-static char __pyx_k__info[] = "info";
-static char __pyx_k__lapl[] = "lapl";
-static char __pyx_k__lcpl[] = "lcpl";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__index[] = "index";
-static char __pyx_k__order[] = "order";
-static char __pyx_k__target[] = "target";
-static char __pyx_k__cur_loc[] = "cur_loc";
-static char __pyx_k__dst_loc[] = "dst_loc";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__cur_name[] = "cur_name";
-static char __pyx_k__dst_name[] = "dst_name";
-static char __pyx_k__idx_type[] = "idx_type";
-static char __pyx_k__new_name[] = "new_name";
-static char __pyx_k__obj_name[] = "obj_name";
-static char __pyx_k__src_name[] = "src_name";
-static char __pyx_k__TYPE_HARD[] = "TYPE_HARD";
-static char __pyx_k__TYPE_SOFT[] = "TYPE_SOFT";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k__file_name[] = "file_name";
-static char __pyx_k__link_name[] = "link_name";
-static char __pyx_k__TYPE_EXTERNAL[] = "TYPE_EXTERNAL";
-static char __pyx_k__NotImplemented[] = "NotImplemented";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_3;
-static PyObject *__pyx_n_s__NotImplemented;
-static PyObject *__pyx_n_s__TYPE_EXTERNAL;
-static PyObject *__pyx_n_s__TYPE_HARD;
-static PyObject *__pyx_n_s__TYPE_SOFT;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s__cur_loc;
-static PyObject *__pyx_n_s__cur_name;
-static PyObject *__pyx_n_s__dst_loc;
-static PyObject *__pyx_n_s__dst_name;
-static PyObject *__pyx_n_s__file_name;
-static PyObject *__pyx_n_s__func;
-static PyObject *__pyx_n_s__id_;
-static PyObject *__pyx_n_s__idx;
-static PyObject *__pyx_n_s__idx_type;
-static PyObject *__pyx_n_s__index;
-static PyObject *__pyx_n_s__info;
-static PyObject *__pyx_n_s__lapl;
-static PyObject *__pyx_n_s__lcpl;
-static PyObject *__pyx_n_s__link_name;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__new_name;
-static PyObject *__pyx_n_s__obj_name;
-static PyObject *__pyx_n_s__order;
-static PyObject *__pyx_n_s__src_name;
-static PyObject *__pyx_n_s__target;
-static int __pyx_k_5;
-static int __pyx_k_6;
-static int __pyx_k_8;
-static int __pyx_k_9;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_4;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_4type_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5l_8LinkInfo_4type___get__(((struct __pyx_obj_4h5py_3h5l_LinkInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":32
- *     property type:
- *         """ Integer type code for link (h5l.TYPE_*) """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return <int>self.infostruct.type
- *     property corder_valid:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_4type___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5l.pyx":33
- *         """ Integer type code for link (h5l.TYPE_*) """
- *         def __get__(self):
- *             return <int>self.infostruct.type             # <<<<<<<<<<<<<<
- *     property corder_valid:
- *         """ Indicates if the creation order is valid """
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(((int)__pyx_v_self->infostruct.type)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5l.LinkInfo.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_12corder_valid_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_12corder_valid_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5l_8LinkInfo_12corder_valid___get__(((struct __pyx_obj_4h5py_3h5l_LinkInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":36
- *     property corder_valid:
- *         """ Indicates if the creation order is valid """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return <bint>self.infostruct.corder_valid
- *     property corder:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_12corder_valid___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5l.pyx":37
- *         """ Indicates if the creation order is valid """
- *         def __get__(self):
- *             return <bint>self.infostruct.corder_valid             # <<<<<<<<<<<<<<
- *     property corder:
- *         """ Creation order """
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyBool_FromLong(((int)__pyx_v_self->infostruct.corder_valid)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5l.LinkInfo.corder_valid.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_6corder_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_6corder_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5l_8LinkInfo_6corder___get__(((struct __pyx_obj_4h5py_3h5l_LinkInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":40
- *     property corder:
- *         """ Creation order """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.infostruct.corder
- *     property cset:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_6corder___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5l.pyx":41
- *         """ Creation order """
- *         def __get__(self):
- *             return self.infostruct.corder             # <<<<<<<<<<<<<<
- *     property cset:
- *         """ Integer type code for character set (h5t.CSET_*) """
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_int64_t(__pyx_v_self->infostruct.corder); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5l.LinkInfo.corder.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_4cset_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_4cset_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5l_8LinkInfo_4cset___get__(((struct __pyx_obj_4h5py_3h5l_LinkInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":44
- *     property cset:
- *         """ Integer type code for character set (h5t.CSET_*) """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.infostruct.cset
- *     property u:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_4cset___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5l.pyx":45
- *         """ Integer type code for character set (h5t.CSET_*) """
- *         def __get__(self):
- *             return self.infostruct.cset             # <<<<<<<<<<<<<<
- *     property u:
- *         """ Either the address of a hard link or the size of a soft/UD link """
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->infostruct.cset); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5l.LinkInfo.cset.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_1u_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5l_8LinkInfo_1u_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5l_8LinkInfo_1u___get__(((struct __pyx_obj_4h5py_3h5l_LinkInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":48
- *     property u:
- *         """ Either the address of a hard link or the size of a soft/UD link """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             if self.infostruct.type == H5L_TYPE_HARD:
- *                 return self.infostruct.u.address
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_8LinkInfo_1u___get__(struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5l.pyx":49
- *         """ Either the address of a hard link or the size of a soft/UD link """
- *         def __get__(self):
- *             if self.infostruct.type == H5L_TYPE_HARD:             # <<<<<<<<<<<<<<
- *                 return self.infostruct.u.address
- *             else:
- */
-  __pyx_t_1 = (__pyx_v_self->infostruct.type == H5L_TYPE_HARD);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5l.pyx":50
- *         def __get__(self):
- *             if self.infostruct.type == H5L_TYPE_HARD:
- *                 return self.infostruct.u.address             # <<<<<<<<<<<<<<
- *             else:
- *                 return self.infostruct.u.val_size
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = __Pyx_PyInt_to_py_haddr_t(__pyx_v_self->infostruct.u.address); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_r = __pyx_t_2;
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5l.pyx":52
- *                 return self.infostruct.u.address
- *             else:
- *                 return self.infostruct.u.val_size             # <<<<<<<<<<<<<<
- * 
- * cdef class _LinkVisitor:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_self->infostruct.u.val_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_r = __pyx_t_2;
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5l.LinkInfo.u.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5l_12_LinkVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5l_12_LinkVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_func = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_func = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l._LinkVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5l_12_LinkVisitor___init__(((struct __pyx_obj_4h5py_3h5l__LinkVisitor *)__pyx_v_self), __pyx_v_func);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":62
- *     cdef LinkInfo info
- * 
- *     def __init__(self, func):             # <<<<<<<<<<<<<<
- *         self.func = func
- *         self.retval = None
- */
-
-static int __pyx_pf_4h5py_3h5l_12_LinkVisitor___init__(struct __pyx_obj_4h5py_3h5l__LinkVisitor *__pyx_v_self, PyObject *__pyx_v_func) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5l.pyx":63
- * 
- *     def __init__(self, func):
- *         self.func = func             # <<<<<<<<<<<<<<
- *         self.retval = None
- *         self.info = LinkInfo()
- */
-  __Pyx_INCREF(__pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __Pyx_GOTREF(__pyx_v_self->func);
-  __Pyx_DECREF(__pyx_v_self->func);
-  __pyx_v_self->func = __pyx_v_func;
-
-  /* "h5py/h5l.pyx":64
- *     def __init__(self, func):
- *         self.func = func
- *         self.retval = None             # <<<<<<<<<<<<<<
- *         self.info = LinkInfo()
- * 
- */
-  __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __Pyx_GOTREF(__pyx_v_self->retval);
-  __Pyx_DECREF(__pyx_v_self->retval);
-  __pyx_v_self->retval = Py_None;
-
-  /* "h5py/h5l.pyx":65
- *         self.func = func
- *         self.retval = None
- *         self.info = LinkInfo()             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t cb_link_iterate(hid_t grp, char* name, H5L_info_t *istruct, void* data) except 2:
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5l_LinkInfo)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_self->info);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->info));
-  __pyx_v_self->info = ((struct __pyx_obj_4h5py_3h5l_LinkInfo *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5l._LinkVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":67
- *         self.info = LinkInfo()
- * 
- * cdef herr_t cb_link_iterate(hid_t grp, char* name, H5L_info_t *istruct, void* data) except 2:             # <<<<<<<<<<<<<<
- *     # Standard iteration callback for iterate/visit routines
- * 
- */
-
-static herr_t __pyx_f_4h5py_3h5l_cb_link_iterate(CYTHON_UNUSED hid_t __pyx_v_grp, char *__pyx_v_name, H5L_info_t *__pyx_v_istruct, void *__pyx_v_data) {
-  struct __pyx_obj_4h5py_3h5l__LinkVisitor *__pyx_v_it = 0;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cb_link_iterate", 0);
-
-  /* "h5py/h5l.pyx":70
- *     # Standard iteration callback for iterate/visit routines
- * 
- *     cdef _LinkVisitor it = <_LinkVisitor?>data             # <<<<<<<<<<<<<<
- *     it.info.infostruct = istruct[0]
- *     it.retval = it.func(name, it.info)
- */
-  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5l__LinkVisitor *)__pyx_v_data)));
-  __pyx_v_it = ((struct __pyx_obj_4h5py_3h5l__LinkVisitor *)__pyx_v_data);
-
-  /* "h5py/h5l.pyx":71
- * 
- *     cdef _LinkVisitor it = <_LinkVisitor?>data
- *     it.info.infostruct = istruct[0]             # <<<<<<<<<<<<<<
- *     it.retval = it.func(name, it.info)
- *     if (it.retval is None) or (not it.retval):
- */
-  __pyx_v_it->info->infostruct = (__pyx_v_istruct[0]);
-
-  /* "h5py/h5l.pyx":72
- *     cdef _LinkVisitor it = <_LinkVisitor?>data
- *     it.info.infostruct = istruct[0]
- *     it.retval = it.func(name, it.info)             # <<<<<<<<<<<<<<
- *     if (it.retval is None) or (not it.retval):
- *         return 0
- */
-  __pyx_t_1 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __Pyx_INCREF(((PyObject *)__pyx_v_it->info));
-  PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_it->info));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_it->info));
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_v_it->func, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_it->retval);
-  __Pyx_DECREF(__pyx_v_it->retval);
-  __pyx_v_it->retval = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5l.pyx":73
- *     it.info.infostruct = istruct[0]
- *     it.retval = it.func(name, it.info)
- *     if (it.retval is None) or (not it.retval):             # <<<<<<<<<<<<<<
- *         return 0
- *     return 1
- */
-  __pyx_t_3 = (__pyx_v_it->retval == Py_None);
-  if (!__pyx_t_3) {
-    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_it->retval); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_5 = (!__pyx_t_4);
-    __pyx_t_4 = __pyx_t_5;
-  } else {
-    __pyx_t_4 = __pyx_t_3;
-  }
-  if (__pyx_t_4) {
-
-    /* "h5py/h5l.pyx":74
- *     it.retval = it.func(name, it.info)
- *     if (it.retval is None) or (not it.retval):
- *         return 0             # <<<<<<<<<<<<<<
- *     return 1
- * 
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5l.pyx":75
- *     if (it.retval is None) or (not it.retval):
- *         return 0
- *     return 1             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t cb_link_simple(hid_t grp, char* name, H5L_info_t *istruct, void* data) except 2:
- */
-  __pyx_r = 1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5l.cb_link_iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 2;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_it);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":77
- *     return 1
- * 
- * cdef herr_t cb_link_simple(hid_t grp, char* name, H5L_info_t *istruct, void* data) except 2:             # <<<<<<<<<<<<<<
- *     # Simplified iteration callback which only provides the name
- * 
- */
-
-static herr_t __pyx_f_4h5py_3h5l_cb_link_simple(CYTHON_UNUSED hid_t __pyx_v_grp, char *__pyx_v_name, CYTHON_UNUSED H5L_info_t *__pyx_v_istruct, void *__pyx_v_data) {
-  struct __pyx_obj_4h5py_3h5l__LinkVisitor *__pyx_v_it = 0;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cb_link_simple", 0);
-
-  /* "h5py/h5l.pyx":80
- *     # Simplified iteration callback which only provides the name
- * 
- *     cdef _LinkVisitor it = <_LinkVisitor?>data             # <<<<<<<<<<<<<<
- *     it.retval = it.func(name)
- *     if (it.retval is None) or (not it.retval):
- */
-  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5l__LinkVisitor *)__pyx_v_data)));
-  __pyx_v_it = ((struct __pyx_obj_4h5py_3h5l__LinkVisitor *)__pyx_v_data);
-
-  /* "h5py/h5l.pyx":81
- * 
- *     cdef _LinkVisitor it = <_LinkVisitor?>data
- *     it.retval = it.func(name)             # <<<<<<<<<<<<<<
- *     if (it.retval is None) or (not it.retval):
- *         return 0
- */
-  __pyx_t_1 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_v_it->func, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_it->retval);
-  __Pyx_DECREF(__pyx_v_it->retval);
-  __pyx_v_it->retval = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5l.pyx":82
- *     cdef _LinkVisitor it = <_LinkVisitor?>data
- *     it.retval = it.func(name)
- *     if (it.retval is None) or (not it.retval):             # <<<<<<<<<<<<<<
- *         return 0
- *     return 1
- */
-  __pyx_t_3 = (__pyx_v_it->retval == Py_None);
-  if (!__pyx_t_3) {
-    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_it->retval); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_5 = (!__pyx_t_4);
-    __pyx_t_4 = __pyx_t_5;
-  } else {
-    __pyx_t_4 = __pyx_t_3;
-  }
-  if (__pyx_t_4) {
-
-    /* "h5py/h5l.pyx":83
- *     it.retval = it.func(name)
- *     if (it.retval is None) or (not it.retval):
- *         return 0             # <<<<<<<<<<<<<<
- *     return 1
- * 
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5l.pyx":84
- *     if (it.retval is None) or (not it.retval):
- *         return 0
- *     return 1             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5l.cb_link_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 2;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_it);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5l_9LinkProxy_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5l_9LinkProxy_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  hid_t __pyx_v_id_;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__id_,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id_)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(values[0]); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy___init__(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_id_);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":106
- *     """
- * 
- *     def __init__(self, hid_t id_):             # <<<<<<<<<<<<<<
- * 
- *         # The identifier in question is the hid_t for the parent GroupID.
- */
-
-static int __pyx_pf_4h5py_3h5l_9LinkProxy___init__(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, hid_t __pyx_v_id_) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5l.pyx":110
- *         # The identifier in question is the hid_t for the parent GroupID.
- *         # We "borrow" this reference.
- *         self.id = id_             # <<<<<<<<<<<<<<
- * 
- *     def __richcmp__(self, object other, int how):
- */
-  __pyx_v_self->id = __pyx_v_id_;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_2__richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":112
- *         self.id = id_
- * 
- *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
- *         return NotImplemented
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_2__richcmp__(CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_other, CYTHON_UNUSED int __pyx_v_how) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__richcmp__", 0);
-
-  /* "h5py/h5l.pyx":113
- * 
- *     def __richcmp__(self, object other, int how):
- *         return NotImplemented             # <<<<<<<<<<<<<<
- * 
- *     def __hash__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_builtin_NotImplemented);
-  __pyx_r = __pyx_builtin_NotImplemented;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static Py_hash_t __pyx_pw_4h5py_3h5l_9LinkProxy_5__hash__(PyObject *__pyx_v_self); /*proto*/
-static Py_hash_t __pyx_pw_4h5py_3h5l_9LinkProxy_5__hash__(PyObject *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_4__hash__(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":115
- *         return NotImplemented
- * 
- *     def __hash__(self):             # <<<<<<<<<<<<<<
- *         raise TypeError("Link proxies are unhashable; use the parent group instead.")
- * 
- */
-
-static Py_hash_t __pyx_pf_4h5py_3h5l_9LinkProxy_4__hash__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__hash__", 0);
-
-  /* "h5py/h5l.pyx":116
- * 
- *     def __hash__(self):
- *         raise TypeError("Link proxies are unhashable; use the parent group instead.")             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_7create_hard(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_6create_hard[] = " (STRING new_name, GroupID cur_loc, STRING cur_name,\n        PropID lcpl=None, PropID lapl=None)\n\n        Create a new hard link in this group pointing to an existing link\n        in another group.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_7create_hard(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_new_name;
-  struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_cur_loc = 0;
-  char *__pyx_v_cur_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create_hard (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__new_name,&__pyx_n_s__cur_loc,&__pyx_n_s__cur_name,&__pyx_n_s__lcpl,&__pyx_n_s__lapl,0};
-    PyObject* values[5] = {0,0,0,0,0};
-
-    /* "h5py/h5l.pyx":120
- * 
- *     def create_hard(self, char* new_name, GroupID cur_loc not None,
- *         char* cur_name, PropID lcpl=None, PropID lapl=None):             # <<<<<<<<<<<<<<
- *         """ (STRING new_name, GroupID cur_loc, STRING cur_name,
- *         PropID lcpl=None, PropID lapl=None)
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__cur_loc)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create_hard", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__cur_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create_hard", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[3] = value; kw_args--; }
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl);
-          if (value) { values[4] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_hard") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_new_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_cur_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[1]);
-    __pyx_v_cur_name = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_cur_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create_hard", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.create_hard", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cur_loc), __pyx_ptype_4h5py_3h5g_GroupID, 0, "cur_loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_6create_hard(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_new_name, __pyx_v_cur_loc, __pyx_v_cur_name, __pyx_v_lcpl, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":119
- * 
- * 
- *     def create_hard(self, char* new_name, GroupID cur_loc not None,             # <<<<<<<<<<<<<<
- *         char* cur_name, PropID lcpl=None, PropID lapl=None):
- *         """ (STRING new_name, GroupID cur_loc, STRING cur_name,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_6create_hard(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_new_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_cur_loc, char *__pyx_v_cur_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create_hard", 0);
-
-  /* "h5py/h5l.pyx":128
- *         """
- *         H5Lcreate_hard(cur_loc.id, cur_name, self.id, new_name,
- *             pdefault(lcpl), pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Lcreate_hard(__pyx_v_cur_loc->__pyx_base.id, __pyx_v_cur_name, __pyx_v_self->id, __pyx_v_new_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.create_hard", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_9create_soft(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_8create_soft[] = "(STRING new_name, STRING target, PropID lcpl=None, PropID lapl=None)\n\n        Create a new soft link in this group, with the given string value.\n        The link target does not need to exist.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_9create_soft(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_new_name;
-  char *__pyx_v_target;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create_soft (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__new_name,&__pyx_n_s__target,&__pyx_n_s__lcpl,&__pyx_n_s__lapl,0};
-    PyObject* values[4] = {0,0,0,0};
-
-    /* "h5py/h5l.pyx":132
- * 
- *     def create_soft(self, char* new_name, char* target,
- *         PropID lcpl=None, PropID lapl=None):             # <<<<<<<<<<<<<<
- *         """(STRING new_name, STRING target, PropID lcpl=None, PropID lapl=None)
- * 
- */
-    values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__new_name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__target)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create_soft", 0, 2, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[2] = value; kw_args--; }
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl);
-          if (value) { values[3] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_soft") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_new_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_new_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_target = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_target) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[2]);
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create_soft", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.create_soft", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_8create_soft(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_new_name, __pyx_v_target, __pyx_v_lcpl, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":131
- * 
- * 
- *     def create_soft(self, char* new_name, char* target,             # <<<<<<<<<<<<<<
- *         PropID lcpl=None, PropID lapl=None):
- *         """(STRING new_name, STRING target, PropID lcpl=None, PropID lapl=None)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_8create_soft(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_new_name, char *__pyx_v_target, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create_soft", 0);
-
-  /* "h5py/h5l.pyx":139
- *         """
- *         H5Lcreate_soft(target, self.id, new_name,
- *             pdefault(lcpl), pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Lcreate_soft(__pyx_v_target, __pyx_v_self->id, __pyx_v_new_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.create_soft", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_11create_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_10create_external[] = "(STRING link_name, STRING file_name, STRING obj_name,\n        PropLCID lcpl=None, PropLAID lapl=None)\n\n        Create a new external link, pointing to an object in another file.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_11create_external(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_link_name;
-  char *__pyx_v_file_name;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create_external (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__link_name,&__pyx_n_s__file_name,&__pyx_n_s__obj_name,&__pyx_n_s__lcpl,&__pyx_n_s__lapl,0};
-    PyObject* values[5] = {0,0,0,0,0};
-
-    /* "h5py/h5l.pyx":143
- * 
- *     def create_external(self, char* link_name, char* file_name, char* obj_name,
- *         PropID lcpl=None, PropID lapl=None):             # <<<<<<<<<<<<<<
- *         """(STRING link_name, STRING file_name, STRING obj_name,
- *         PropLCID lcpl=None, PropLAID lapl=None)
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__link_name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__file_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create_external", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create_external", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[3] = value; kw_args--; }
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl);
-          if (value) { values[4] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_external") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_link_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_link_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_file_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_file_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_obj_name = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create_external", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.create_external", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 143; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_10create_external(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_link_name, __pyx_v_file_name, __pyx_v_obj_name, __pyx_v_lcpl, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":142
- * 
- * 
- *     def create_external(self, char* link_name, char* file_name, char* obj_name,             # <<<<<<<<<<<<<<
- *         PropID lcpl=None, PropID lapl=None):
- *         """(STRING link_name, STRING file_name, STRING obj_name,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_10create_external(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_link_name, char *__pyx_v_file_name, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create_external", 0);
-
-  /* "h5py/h5l.pyx":150
- *         """
- *         H5Lcreate_external(file_name, obj_name, self.id, link_name,
- *             pdefault(lcpl), pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Lcreate_external(__pyx_v_file_name, __pyx_v_obj_name, __pyx_v_self->id, __pyx_v_link_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.create_external", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_13get_val(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_12get_val[] = "(STRING name, PropLAID lapl=None) => STRING or TUPLE(file, obj)\n\n        Get the string value of a soft link, or a 2-tuple representing\n        the contents of an external link.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_13get_val(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_val (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__lapl,0};
-    PyObject* values[2] = {0,0};
-
-    /* "h5py/h5l.pyx":153
- * 
- * 
- *     def get_val(self, char* name, PropID lapl=None):             # <<<<<<<<<<<<<<
- *         """(STRING name, PropLAID lapl=None) => STRING or TUPLE(file, obj)
- * 
- */
-    values[1] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_val") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[1]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_val", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.get_val", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_12get_val(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_name, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_12get_val(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  hid_t __pyx_v_plist;
-  H5L_info_t __pyx_v_info;
-  size_t __pyx_v_buf_size;
-  char *__pyx_v_buf;
-  char *__pyx_v_ext_file_name;
-  char *__pyx_v_ext_obj_name;
-  unsigned int __pyx_v_wtf;
-  PyObject *__pyx_v_py_retval = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  size_t __pyx_t_6;
-  void *__pyx_t_7;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_val", 0);
-
-  /* "h5py/h5l.pyx":159
- *         the contents of an external link.
- *         """
- *         cdef hid_t plist = pdefault(lapl)             # <<<<<<<<<<<<<<
- *         cdef H5L_info_t info
- *         cdef size_t buf_size
- */
-  __pyx_v_plist = __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl));
-
-  /* "h5py/h5l.pyx":162
- *         cdef H5L_info_t info
- *         cdef size_t buf_size
- *         cdef char* buf = NULL             # <<<<<<<<<<<<<<
- *         cdef char* ext_file_name = NULL
- *         cdef char* ext_obj_name = NULL
- */
-  __pyx_v_buf = NULL;
-
-  /* "h5py/h5l.pyx":163
- *         cdef size_t buf_size
- *         cdef char* buf = NULL
- *         cdef char* ext_file_name = NULL             # <<<<<<<<<<<<<<
- *         cdef char* ext_obj_name = NULL
- *         cdef unsigned int wtf = 0
- */
-  __pyx_v_ext_file_name = NULL;
-
-  /* "h5py/h5l.pyx":164
- *         cdef char* buf = NULL
- *         cdef char* ext_file_name = NULL
- *         cdef char* ext_obj_name = NULL             # <<<<<<<<<<<<<<
- *         cdef unsigned int wtf = 0
- * 
- */
-  __pyx_v_ext_obj_name = NULL;
-
-  /* "h5py/h5l.pyx":165
- *         cdef char* ext_file_name = NULL
- *         cdef char* ext_obj_name = NULL
- *         cdef unsigned int wtf = 0             # <<<<<<<<<<<<<<
- * 
- *         H5Lget_info(self.id, name, &info, plist)
- */
-  __pyx_v_wtf = 0;
-
-  /* "h5py/h5l.pyx":167
- *         cdef unsigned int wtf = 0
- * 
- *         H5Lget_info(self.id, name, &info, plist)             # <<<<<<<<<<<<<<
- *         if info.type != H5L_TYPE_SOFT and info.type != H5L_TYPE_EXTERNAL:
- *             raise TypeError("Link must be either a soft or external link")
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Lget_info(__pyx_v_self->id, __pyx_v_name, (&__pyx_v_info), __pyx_v_plist); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5l.pyx":168
- * 
- *         H5Lget_info(self.id, name, &info, plist)
- *         if info.type != H5L_TYPE_SOFT and info.type != H5L_TYPE_EXTERNAL:             # <<<<<<<<<<<<<<
- *             raise TypeError("Link must be either a soft or external link")
- * 
- */
-  __pyx_t_2 = (__pyx_v_info.type != H5L_TYPE_SOFT);
-  if (__pyx_t_2) {
-    __pyx_t_3 = (__pyx_v_info.type != H5L_TYPE_EXTERNAL);
-    __pyx_t_4 = __pyx_t_3;
-  } else {
-    __pyx_t_4 = __pyx_t_2;
-  }
-  if (__pyx_t_4) {
-
-    /* "h5py/h5l.pyx":169
- *         H5Lget_info(self.id, name, &info, plist)
- *         if info.type != H5L_TYPE_SOFT and info.type != H5L_TYPE_EXTERNAL:
- *             raise TypeError("Link must be either a soft or external link")             # <<<<<<<<<<<<<<
- * 
- *         buf_size = info.u.val_size
- */
-    __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5l.pyx":171
- *             raise TypeError("Link must be either a soft or external link")
- * 
- *         buf_size = info.u.val_size             # <<<<<<<<<<<<<<
- *         buf = <char*>emalloc(buf_size)
- *         try:
- */
-  __pyx_t_6 = __pyx_v_info.u.val_size;
-  __pyx_v_buf_size = __pyx_t_6;
-
-  /* "h5py/h5l.pyx":172
- * 
- *         buf_size = info.u.val_size
- *         buf = <char*>emalloc(buf_size)             # <<<<<<<<<<<<<<
- *         try:
- *             H5Lget_val(self.id, name, buf, buf_size, plist)
- */
-  __pyx_t_7 = __pyx_f_4h5py_5utils_emalloc(__pyx_v_buf_size); if (unlikely(__pyx_t_7 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = ((char *)__pyx_t_7);
-
-  /* "h5py/h5l.pyx":173
- *         buf_size = info.u.val_size
- *         buf = <char*>emalloc(buf_size)
- *         try:             # <<<<<<<<<<<<<<
- *             H5Lget_val(self.id, name, buf, buf_size, plist)
- *             if info.type == H5L_TYPE_SOFT:
- */
-  /*try:*/ {
-
-    /* "h5py/h5l.pyx":174
- *         buf = <char*>emalloc(buf_size)
- *         try:
- *             H5Lget_val(self.id, name, buf, buf_size, plist)             # <<<<<<<<<<<<<<
- *             if info.type == H5L_TYPE_SOFT:
- *                 py_retval = buf
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Lget_val(__pyx_v_self->id, __pyx_v_name, __pyx_v_buf, __pyx_v_buf_size, __pyx_v_plist); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L5;}
-
-    /* "h5py/h5l.pyx":175
- *         try:
- *             H5Lget_val(self.id, name, buf, buf_size, plist)
- *             if info.type == H5L_TYPE_SOFT:             # <<<<<<<<<<<<<<
- *                 py_retval = buf
- *             else:
- */
-    __pyx_t_4 = (__pyx_v_info.type == H5L_TYPE_SOFT);
-    if (__pyx_t_4) {
-
-      /* "h5py/h5l.pyx":176
- *             H5Lget_val(self.id, name, buf, buf_size, plist)
- *             if info.type == H5L_TYPE_SOFT:
- *                 py_retval = buf             # <<<<<<<<<<<<<<
- *             else:
- *                 H5Lunpack_elink_val(buf, buf_size, &wtf, &ext_file_name, &ext_obj_name)
- */
-      __pyx_t_5 = PyBytes_FromString(__pyx_v_buf); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_5));
-      __pyx_v_py_retval = ((PyObject *)__pyx_t_5);
-      __pyx_t_5 = 0;
-      goto __pyx_L7;
-    }
-    /*else*/ {
-
-      /* "h5py/h5l.pyx":178
- *                 py_retval = buf
- *             else:
- *                 H5Lunpack_elink_val(buf, buf_size, &wtf, &ext_file_name, &ext_obj_name)             # <<<<<<<<<<<<<<
- *                 py_retval = (bytes(ext_file_name), bytes(ext_obj_name))
- *         finally:
- */
-      __pyx_t_1 = __pyx_f_4h5py_4defs_H5Lunpack_elink_val(__pyx_v_buf, __pyx_v_buf_size, (&__pyx_v_wtf), (&__pyx_v_ext_file_name), (&__pyx_v_ext_obj_name)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L5;}
-
-      /* "h5py/h5l.pyx":179
- *             else:
- *                 H5Lunpack_elink_val(buf, buf_size, &wtf, &ext_file_name, &ext_obj_name)
- *                 py_retval = (bytes(ext_file_name), bytes(ext_obj_name))             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(buf)
- */
-      __pyx_t_5 = PyBytes_FromString(__pyx_v_ext_file_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_5));
-      __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(__pyx_t_8);
-      PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_5));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
-      __pyx_t_5 = 0;
-      __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)(&PyBytes_Type))), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-      __pyx_t_8 = PyBytes_FromString(__pyx_v_ext_obj_name); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_8));
-      __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(__pyx_t_9);
-      PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_8));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_8));
-      __pyx_t_8 = 0;
-      __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)(&PyBytes_Type))), ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(__pyx_t_8);
-      __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0;
-      __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(__pyx_t_9);
-      PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5);
-      __Pyx_GIVEREF(__pyx_t_5);
-      PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_8);
-      __Pyx_GIVEREF(__pyx_t_8);
-      __pyx_t_5 = 0;
-      __pyx_t_8 = 0;
-      __pyx_v_py_retval = ((PyObject *)__pyx_t_9);
-      __pyx_t_9 = 0;
-    }
-    __pyx_L7:;
-  }
-
-  /* "h5py/h5l.pyx":181
- *                 py_retval = (bytes(ext_file_name), bytes(ext_obj_name))
- *         finally:
- *             efree(buf)             # <<<<<<<<<<<<<<
- * 
- *         return py_retval
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L6;
-    __pyx_L5: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/h5l.pyx":183
- *             efree(buf)
- * 
- *         return py_retval             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_py_retval);
-  __pyx_r = __pyx_v_py_retval;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.get_val", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_py_retval);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_15move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_14move[] = " (STRING src_name, GroupID dst_loc, STRING dst_name)\n\n        Move a link to a new location in the file.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_15move(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_src_name;
-  struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_dst_loc = 0;
-  char *__pyx_v_dst_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("move (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src_name,&__pyx_n_s__dst_loc,&__pyx_n_s__dst_name,&__pyx_n_s__lcpl,&__pyx_n_s__lapl,0};
-    PyObject* values[5] = {0,0,0,0,0};
-
-    /* "h5py/h5l.pyx":187
- * 
- *     def move(self, char* src_name, GroupID dst_loc not None, char* dst_name,
- *         PropID lcpl=None, PropID lapl=None):             # <<<<<<<<<<<<<<
- *         """ (STRING src_name, GroupID dst_loc, STRING dst_name)
- * 
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src_name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst_loc)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("move", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("move", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[3] = value; kw_args--; }
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl);
-          if (value) { values[4] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "move") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_src_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_src_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_dst_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[1]);
-    __pyx_v_dst_name = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_dst_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("move", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.move", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst_loc), __pyx_ptype_4h5py_3h5g_GroupID, 0, "dst_loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_14move(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_src_name, __pyx_v_dst_loc, __pyx_v_dst_name, __pyx_v_lcpl, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":186
- * 
- * 
- *     def move(self, char* src_name, GroupID dst_loc not None, char* dst_name,             # <<<<<<<<<<<<<<
- *         PropID lcpl=None, PropID lapl=None):
- *         """ (STRING src_name, GroupID dst_loc, STRING dst_name)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_14move(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_src_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_dst_loc, char *__pyx_v_dst_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("move", 0);
-
-  /* "h5py/h5l.pyx":193
- *         """
- *         H5Lmove(self.id, src_name, dst_loc.id, dst_name, pdefault(lcpl),
- *                 pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Lmove(__pyx_v_self->id, __pyx_v_src_name, __pyx_v_dst_loc->__pyx_base.id, __pyx_v_dst_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.move", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_17exists(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_16exists[] = " (STRING name) => BOOL\n\n            Check if a link of the specified name exists in this group.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_17exists(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("exists (wrapper)", 0);
-  assert(__pyx_arg_name); {
-    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 196; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.exists", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_16exists(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), ((char *)__pyx_v_name));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":196
- * 
- * 
- *     def exists(self, char* name):             # <<<<<<<<<<<<<<
- *         """ (STRING name) => BOOL
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_16exists(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_name) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("exists", 0);
-
-  /* "h5py/h5l.pyx":201
- *             Check if a link of the specified name exists in this group.
- *         """
- *         return <bint>(H5Lexists(self.id, name, H5P_DEFAULT))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Lexists(__pyx_v_self->id, __pyx_v_name, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.exists", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_19get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_18get_info[] = "(STRING name=, INT index=, **kwds) => LinkInfo instance\n\n        Get information about a link, either by name or its index.\n\n        Keywords:\n        ";
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_19get_info(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_name;
-  CYTHON_UNUSED int __pyx_v_index;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_info (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__lapl,0};
-    PyObject* values[3] = {0,0,0};
-
-    /* "h5py/h5l.pyx":204
- * 
- * 
- *     def get_info(self, char* name, int index=-1, *, PropID lapl=None):             # <<<<<<<<<<<<<<
- *         """(STRING name=, INT index=, **kwds) => LinkInfo instance
- * 
- */
-    values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (kw_args == 1) {
-        const Py_ssize_t index = 2;
-        PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-        if (value) { values[index] = value; kw_args--; }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_info") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[1]) {
-      __pyx_v_index = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index = ((int)-1);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[2]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_info", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_18get_info(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_name, __pyx_v_index, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_18get_info(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, char *__pyx_v_name, CYTHON_UNUSED int __pyx_v_index, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  struct __pyx_obj_4h5py_3h5l_LinkInfo *__pyx_v_info = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  herr_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_info", 0);
-
-  /* "h5py/h5l.pyx":211
- *         Keywords:
- *         """
- *         cdef LinkInfo info = LinkInfo()             # <<<<<<<<<<<<<<
- *         H5Lget_info(self.id, name, &info.infostruct, pdefault(lapl))
- *         return info
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5l_LinkInfo)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_info = ((struct __pyx_obj_4h5py_3h5l_LinkInfo *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5l.pyx":212
- *         """
- *         cdef LinkInfo info = LinkInfo()
- *         H5Lget_info(self.id, name, &info.infostruct, pdefault(lapl))             # <<<<<<<<<<<<<<
- *         return info
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Lget_info(__pyx_v_self->id, __pyx_v_name, (&__pyx_v_info->infostruct), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5l.pyx":213
- *         cdef LinkInfo info = LinkInfo()
- *         H5Lget_info(self.id, name, &info.infostruct, pdefault(lapl))
- *         return info             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_info));
-  __pyx_r = ((PyObject *)__pyx_v_info);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_info);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_21visit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_20visit[] = "(CALLABLE func, **kwds) => <Return value from func>\n\n        Iterate a function or callable object over all groups below this\n        one.  Your callable should conform to the signature::\n\n            func(STRING name) => Result\n\n        or if the keyword argument \"info\" is True::\n\n            func(STRING name, LinkInfo info) => Result\n\n        Returning None or a logical False continues iteration; returning\n        a [...]
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_21visit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_func = 0;
-  int __pyx_v_idx_type;
-  int __pyx_v_order;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  int __pyx_v_info;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("visit (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,&__pyx_n_s__idx_type,&__pyx_n_s__order,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,&__pyx_n_s__info,0};
-    PyObject* values[6] = {0,0,0,0,0,0};
-
-    /* "h5py/h5l.pyx":218
- *     def visit(self, object func, *,
- *               int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *               char* obj_name='.', PropID lapl=None, bint info=0):             # <<<<<<<<<<<<<<
- *         """(CALLABLE func, **kwds) => <Return value from func>
- * 
- */
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (kw_args > 0 && likely(kw_args <= 5)) {
-        Py_ssize_t index;
-        for (index = 1; index < 6 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "visit") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_func = values[0];
-    if (values[1]) {
-      __pyx_v_idx_type = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_idx_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_idx_type = __pyx_k_5;
-    }
-    if (values[2]) {
-      __pyx_v_order = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_order = __pyx_k_6;
-    }
-    if (values[3]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_7);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-    if (values[5]) {
-      __pyx_v_info = __Pyx_PyObject_IsTrue(values[5]); if (unlikely((__pyx_v_info == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_info = ((int)0);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("visit", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.visit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_20visit(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_func, __pyx_v_idx_type, __pyx_v_order, __pyx_v_obj_name, __pyx_v_lapl, __pyx_v_info);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":216
- * 
- * 
- *     def visit(self, object func, *,             # <<<<<<<<<<<<<<
- *               int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *               char* obj_name='.', PropID lapl=None, bint info=0):
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_20visit(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, PyObject *__pyx_v_func, int __pyx_v_idx_type, int __pyx_v_order, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_info) {
-  struct __pyx_obj_4h5py_3h5l__LinkVisitor *__pyx_v_it = 0;
-  H5L_iterate_t __pyx_v_cfunc;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  herr_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("visit", 0);
-
-  /* "h5py/h5l.pyx":246
- *         INT order (h5.ITER_NATIVE)
- *         """
- *         cdef _LinkVisitor it = _LinkVisitor(func)             # <<<<<<<<<<<<<<
- *         cdef H5L_iterate_t cfunc
- * 
- */
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(__pyx_v_func);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5l__LinkVisitor)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 246; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_v_it = ((struct __pyx_obj_4h5py_3h5l__LinkVisitor *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5l.pyx":249
- *         cdef H5L_iterate_t cfunc
- * 
- *         if info:             # <<<<<<<<<<<<<<
- *             cfunc = cb_link_iterate
- *         else:
- */
-  if (__pyx_v_info) {
-
-    /* "h5py/h5l.pyx":250
- * 
- *         if info:
- *             cfunc = cb_link_iterate             # <<<<<<<<<<<<<<
- *         else:
- *             cfunc = cb_link_simple
- */
-    __pyx_v_cfunc = __pyx_f_4h5py_3h5l_cb_link_iterate;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5l.pyx":252
- *             cfunc = cb_link_iterate
- *         else:
- *             cfunc = cb_link_simple             # <<<<<<<<<<<<<<
- * 
- *         H5Lvisit_by_name(self.id, obj_name, <H5_index_t>idx_type,
- */
-    __pyx_v_cfunc = __pyx_f_4h5py_3h5l_cb_link_simple;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5l.pyx":255
- * 
- *         H5Lvisit_by_name(self.id, obj_name, <H5_index_t>idx_type,
- *             <H5_iter_order_t>order, cfunc, <void*>it, pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- *         return it.retval
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Lvisit_by_name(__pyx_v_self->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_idx_type), ((H5_iter_order_t)__pyx_v_order), __pyx_v_cfunc, ((void *)__pyx_v_it), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5l.pyx":257
- *             <H5_iter_order_t>order, cfunc, <void*>it, pdefault(lapl))
- * 
- *         return it.retval             # <<<<<<<<<<<<<<
- * 
- *     def iterate(self, object func, *,
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_it->retval);
-  __pyx_r = __pyx_v_it->retval;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.visit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_it);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_23iterate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5l_9LinkProxy_22iterate[] = "(CALLABLE func, **kwds) => <Return value from func>, <index to restart at>\n\n        Iterate a function or callable object over all groups in this\n        one.  Your callable should conform to the signature::\n\n            func(STRING name) => Result\n\n        or if the keyword argument \"info\" is True::\n\n            func(STRING name, LinkInfo info) => Result\n\n        Returning None or a logical False continues iteration [...]
-static PyObject *__pyx_pw_4h5py_3h5l_9LinkProxy_23iterate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_func = 0;
-  int __pyx_v_idx_type;
-  int __pyx_v_order;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  int __pyx_v_info;
-  hsize_t __pyx_v_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("iterate (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,&__pyx_n_s__idx_type,&__pyx_n_s__order,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,&__pyx_n_s__info,&__pyx_n_s__idx,0};
-    PyObject* values[7] = {0,0,0,0,0,0,0};
-
-    /* "h5py/h5l.pyx":261
- *     def iterate(self, object func, *,
- *               int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *               char* obj_name='.', PropID lapl=None, bint info=0,             # <<<<<<<<<<<<<<
- *               hsize_t idx=0):
- *         """(CALLABLE func, **kwds) => <Return value from func>, <index to restart at>
- */
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (kw_args > 0 && likely(kw_args <= 6)) {
-        Py_ssize_t index;
-        for (index = 1; index < 7 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "iterate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_func = values[0];
-    if (values[1]) {
-      __pyx_v_idx_type = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_idx_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_idx_type = __pyx_k_8;
-    }
-    if (values[2]) {
-      __pyx_v_order = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 260; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_order = __pyx_k_9;
-    }
-    if (values[3]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_7);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-    if (values[5]) {
-      __pyx_v_info = __Pyx_PyObject_IsTrue(values[5]); if (unlikely((__pyx_v_info == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_info = ((int)0);
-    }
-    if (values[6]) {
-      __pyx_v_idx = __Pyx_PyInt_from_py_hsize_t(values[6]); if (unlikely((__pyx_v_idx == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_idx = ((hsize_t)0);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("iterate", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 259; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 261; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5l_9LinkProxy_22iterate(((struct __pyx_obj_4h5py_3h5l_LinkProxy *)__pyx_v_self), __pyx_v_func, __pyx_v_idx_type, __pyx_v_order, __pyx_v_obj_name, __pyx_v_lapl, __pyx_v_info, __pyx_v_idx);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5l.pyx":259
- *         return it.retval
- * 
- *     def iterate(self, object func, *,             # <<<<<<<<<<<<<<
- *               int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *               char* obj_name='.', PropID lapl=None, bint info=0,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5l_9LinkProxy_22iterate(struct __pyx_obj_4h5py_3h5l_LinkProxy *__pyx_v_self, PyObject *__pyx_v_func, int __pyx_v_idx_type, int __pyx_v_order, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_info, hsize_t __pyx_v_idx) {
-  struct __pyx_obj_4h5py_3h5l__LinkVisitor *__pyx_v_it = 0;
-  H5L_iterate_t __pyx_v_cfunc;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  herr_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("iterate", 0);
-
-  /* "h5py/h5l.pyx":293
- *             The index to start iterating at
- *         """
- *         cdef _LinkVisitor it = _LinkVisitor(func)             # <<<<<<<<<<<<<<
- *         cdef H5L_iterate_t cfunc
- * 
- */
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(__pyx_v_func);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5l__LinkVisitor)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 293; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_v_it = ((struct __pyx_obj_4h5py_3h5l__LinkVisitor *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5l.pyx":296
- *         cdef H5L_iterate_t cfunc
- * 
- *         if info:             # <<<<<<<<<<<<<<
- *             cfunc = cb_link_iterate
- *         else:
- */
-  if (__pyx_v_info) {
-
-    /* "h5py/h5l.pyx":297
- * 
- *         if info:
- *             cfunc = cb_link_iterate             # <<<<<<<<<<<<<<
- *         else:
- *             cfunc = cb_link_simple
- */
-    __pyx_v_cfunc = __pyx_f_4h5py_3h5l_cb_link_iterate;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5l.pyx":299
- *             cfunc = cb_link_iterate
- *         else:
- *             cfunc = cb_link_simple             # <<<<<<<<<<<<<<
- * 
- *         H5Literate_by_name(self.id, obj_name, <H5_index_t>idx_type,
- */
-    __pyx_v_cfunc = __pyx_f_4h5py_3h5l_cb_link_simple;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5l.pyx":303
- *         H5Literate_by_name(self.id, obj_name, <H5_index_t>idx_type,
- *             <H5_iter_order_t>order, &idx,
- *             cfunc, <void*>it, pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- *         return it.retval, idx
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Literate_by_name(__pyx_v_self->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_idx_type), ((H5_iter_order_t)__pyx_v_order), (&__pyx_v_idx), __pyx_v_cfunc, ((void *)__pyx_v_it), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5l.pyx":305
- *             cfunc, <void*>it, pdefault(lapl))
- * 
- *         return it.retval, idx             # <<<<<<<<<<<<<<
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_idx); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(__pyx_v_it->retval);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_it->retval);
-  __Pyx_GIVEREF(__pyx_v_it->retval);
-  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5l.LinkProxy.iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_it);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5l_LinkProxy(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5l_LinkProxy(PyObject *o) {
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5l_LinkProxy[] = {
-  {__Pyx_NAMESTR("create_hard"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_7create_hard, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_6create_hard)},
-  {__Pyx_NAMESTR("create_soft"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_9create_soft, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_8create_soft)},
-  {__Pyx_NAMESTR("create_external"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_11create_external, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_10create_external)},
-  {__Pyx_NAMESTR("get_val"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_13get_val, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_12get_val)},
-  {__Pyx_NAMESTR("move"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_15move, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_14move)},
-  {__Pyx_NAMESTR("exists"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_17exists, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_16exists)},
-  {__Pyx_NAMESTR("get_info"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_19get_info, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_18get_info)},
-  {__Pyx_NAMESTR("visit"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_21visit, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_20visit)},
-  {__Pyx_NAMESTR("iterate"), (PyCFunction)__pyx_pw_4h5py_3h5l_9LinkProxy_23iterate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5l_9LinkProxy_22iterate)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_LinkProxy = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_LinkProxy = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_LinkProxy = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_LinkProxy = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5l_LinkProxy = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5l.LinkProxy"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5l_LinkProxy), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5l_LinkProxy, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_LinkProxy, /*tp_as_number*/
-  &__pyx_tp_as_sequence_LinkProxy, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_LinkProxy, /*tp_as_mapping*/
-  __pyx_pw_4h5py_3h5l_9LinkProxy_5__hash__, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_LinkProxy, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Proxy class which provides access to the HDF5 \"H5L\" API.\n\n        These come attached to GroupID objects as \"obj.links\".  Since every\n        H5L function operates on at least one group, the methods provided\n        operate on their parent group identifier.  For example::\n\n            >>> g = h5g.open(fid, '/')\n            >>> g.links.exists(\"MyGroup\")\n            True\n            >>> g.links.exists(\"FooBar\")\n            False\n\n        * Hash [...]
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  __pyx_pw_4h5py_3h5l_9LinkProxy_3__richcmp__, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5l_LinkProxy, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5l_9LinkProxy_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5l_LinkProxy, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5l_LinkInfo(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5l_LinkInfo(PyObject *o) {
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5l_8LinkInfo_type(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5l_8LinkInfo_4type_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5l_8LinkInfo_corder_valid(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5l_8LinkInfo_12corder_valid_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5l_8LinkInfo_corder(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5l_8LinkInfo_6corder_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5l_8LinkInfo_cset(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5l_8LinkInfo_4cset_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5l_8LinkInfo_u(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5l_8LinkInfo_1u_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5l_LinkInfo[] = {
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5l_LinkInfo[] = {
-  {(char *)"type", __pyx_getprop_4h5py_3h5l_8LinkInfo_type, 0, __Pyx_DOCSTR(__pyx_k_10), 0},
-  {(char *)"corder_valid", __pyx_getprop_4h5py_3h5l_8LinkInfo_corder_valid, 0, __Pyx_DOCSTR(__pyx_k_11), 0},
-  {(char *)"corder", __pyx_getprop_4h5py_3h5l_8LinkInfo_corder, 0, __Pyx_DOCSTR(__pyx_k_12), 0},
-  {(char *)"cset", __pyx_getprop_4h5py_3h5l_8LinkInfo_cset, 0, __Pyx_DOCSTR(__pyx_k_13), 0},
-  {(char *)"u", __pyx_getprop_4h5py_3h5l_8LinkInfo_u, 0, __Pyx_DOCSTR(__pyx_k_14), 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_LinkInfo = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_LinkInfo = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_LinkInfo = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_LinkInfo = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5l_LinkInfo = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5l.LinkInfo"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5l_LinkInfo), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5l_LinkInfo, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_LinkInfo, /*tp_as_number*/
-  &__pyx_tp_as_sequence_LinkInfo, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_LinkInfo, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_LinkInfo, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  0, /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5l_LinkInfo, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5l_LinkInfo, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5l_LinkInfo, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5l__LinkVisitor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_3h5l__LinkVisitor *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5l__LinkVisitor *)o);
-  p->func = Py_None; Py_INCREF(Py_None);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  p->info = ((struct __pyx_obj_4h5py_3h5l_LinkInfo *)Py_None); Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5l__LinkVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5l__LinkVisitor *p = (struct __pyx_obj_4h5py_3h5l__LinkVisitor *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->func);
-  Py_CLEAR(p->retval);
-  Py_CLEAR(p->info);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5l__LinkVisitor(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5l__LinkVisitor *p = (struct __pyx_obj_4h5py_3h5l__LinkVisitor *)o;
-  if (p->func) {
-    e = (*v)(p->func, a); if (e) return e;
-  }
-  if (p->retval) {
-    e = (*v)(p->retval, a); if (e) return e;
-  }
-  if (p->info) {
-    e = (*v)(((PyObject*)p->info), a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5l__LinkVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5l__LinkVisitor *p = (struct __pyx_obj_4h5py_3h5l__LinkVisitor *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->func);
-  p->func = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->retval);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->info);
-  p->info = ((struct __pyx_obj_4h5py_3h5l_LinkInfo *)Py_None); Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5l__LinkVisitor[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__LinkVisitor = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__LinkVisitor = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__LinkVisitor = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__LinkVisitor = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5l__LinkVisitor = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5l._LinkVisitor"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5l__LinkVisitor), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5l__LinkVisitor, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__LinkVisitor, /*tp_as_number*/
-  &__pyx_tp_as_sequence__LinkVisitor, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__LinkVisitor, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__LinkVisitor, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR(" Helper class for iteration callback "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5l__LinkVisitor, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5l__LinkVisitor, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5l__LinkVisitor, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5l_12_LinkVisitor_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5l__LinkVisitor, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5l"),
-    __Pyx_DOCSTR(__pyx_k_15), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
-  {&__pyx_n_s__NotImplemented, __pyx_k__NotImplemented, sizeof(__pyx_k__NotImplemented), 0, 0, 1, 1},
-  {&__pyx_n_s__TYPE_EXTERNAL, __pyx_k__TYPE_EXTERNAL, sizeof(__pyx_k__TYPE_EXTERNAL), 0, 0, 1, 1},
-  {&__pyx_n_s__TYPE_HARD, __pyx_k__TYPE_HARD, sizeof(__pyx_k__TYPE_HARD), 0, 0, 1, 1},
-  {&__pyx_n_s__TYPE_SOFT, __pyx_k__TYPE_SOFT, sizeof(__pyx_k__TYPE_SOFT), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s__cur_loc, __pyx_k__cur_loc, sizeof(__pyx_k__cur_loc), 0, 0, 1, 1},
-  {&__pyx_n_s__cur_name, __pyx_k__cur_name, sizeof(__pyx_k__cur_name), 0, 0, 1, 1},
-  {&__pyx_n_s__dst_loc, __pyx_k__dst_loc, sizeof(__pyx_k__dst_loc), 0, 0, 1, 1},
-  {&__pyx_n_s__dst_name, __pyx_k__dst_name, sizeof(__pyx_k__dst_name), 0, 0, 1, 1},
-  {&__pyx_n_s__file_name, __pyx_k__file_name, sizeof(__pyx_k__file_name), 0, 0, 1, 1},
-  {&__pyx_n_s__func, __pyx_k__func, sizeof(__pyx_k__func), 0, 0, 1, 1},
-  {&__pyx_n_s__id_, __pyx_k__id_, sizeof(__pyx_k__id_), 0, 0, 1, 1},
-  {&__pyx_n_s__idx, __pyx_k__idx, sizeof(__pyx_k__idx), 0, 0, 1, 1},
-  {&__pyx_n_s__idx_type, __pyx_k__idx_type, sizeof(__pyx_k__idx_type), 0, 0, 1, 1},
-  {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1},
-  {&__pyx_n_s__info, __pyx_k__info, sizeof(__pyx_k__info), 0, 0, 1, 1},
-  {&__pyx_n_s__lapl, __pyx_k__lapl, sizeof(__pyx_k__lapl), 0, 0, 1, 1},
-  {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1},
-  {&__pyx_n_s__link_name, __pyx_k__link_name, sizeof(__pyx_k__link_name), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__new_name, __pyx_k__new_name, sizeof(__pyx_k__new_name), 0, 0, 1, 1},
-  {&__pyx_n_s__obj_name, __pyx_k__obj_name, sizeof(__pyx_k__obj_name), 0, 0, 1, 1},
-  {&__pyx_n_s__order, __pyx_k__order, sizeof(__pyx_k__order), 0, 0, 1, 1},
-  {&__pyx_n_s__src_name, __pyx_k__src_name, sizeof(__pyx_k__src_name), 0, 0, 1, 1},
-  {&__pyx_n_s__target, __pyx_k__target, sizeof(__pyx_k__target), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_NotImplemented = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5l.pyx":116
- * 
- *     def __hash__(self):
- *         raise TypeError("Link proxies are unhashable; use the parent group instead.")             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-
-  /* "h5py/h5l.pyx":169
- *         H5Lget_info(self.id, name, &info, plist)
- *         if info.type != H5L_TYPE_SOFT and info.type != H5L_TYPE_EXTERNAL:
- *             raise TypeError("Link must be either a soft or external link")             # <<<<<<<<<<<<<<
- * 
- *         buf_size = info.u.val_size
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_3)); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5l(void); /*proto*/
-PyMODINIT_FUNC inith5l(void)
-#else
-PyMODINIT_FUNC PyInit_h5l(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5l(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5l(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5l"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_15), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5l")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5l", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5l) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_4h5py_3h5l_LinkProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "LinkProxy", (PyObject *)&__pyx_type_4h5py_3h5l_LinkProxy) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5l_LinkProxy = &__pyx_type_4h5py_3h5l_LinkProxy;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5l_LinkInfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "LinkInfo", (PyObject *)&__pyx_type_4h5py_3h5l_LinkInfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5l_LinkInfo = &__pyx_type_4h5py_3h5l_LinkInfo;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5l__LinkVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_LinkVisitor", (PyObject *)&__pyx_type_4h5py_3h5l__LinkVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5l__LinkVisitor = &__pyx_type_4h5py_3h5l__LinkVisitor;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropOCID = __Pyx_ImportType("h5py.h5p", "PropOCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropOCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropOCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5g_GroupID = __Pyx_ImportType("h5py.h5g", "GroupID", sizeof(struct __pyx_obj_4h5py_3h5g_GroupID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5g_GroupID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lmove", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lmove, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_hard", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_hard, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_soft", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_soft, "herr_t (char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_val, "herr_t (hid_t, char *, void *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lexists", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lexists, "htri_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lget_info, "herr_t (hid_t, char *, H5L_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Literate_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Literate_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t *, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lvisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lvisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5L_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lunpack_elink_val", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lunpack_elink_val, "herr_t (void *, size_t, unsigned int *, char **, char **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Lcreate_external", (void (**)(void))&__pyx_f_4h5py_4defs_H5Lcreate_external, "herr_t (char *, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5l.pyx":22
- * # === Public constants ========================================================
- * 
- * TYPE_HARD = H5L_TYPE_HARD             # <<<<<<<<<<<<<<
- * TYPE_SOFT = H5L_TYPE_SOFT
- * TYPE_EXTERNAL = H5L_TYPE_EXTERNAL
- */
-  __pyx_t_4 = PyInt_FromLong(H5L_TYPE_HARD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TYPE_HARD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5l.pyx":23
- * 
- * TYPE_HARD = H5L_TYPE_HARD
- * TYPE_SOFT = H5L_TYPE_SOFT             # <<<<<<<<<<<<<<
- * TYPE_EXTERNAL = H5L_TYPE_EXTERNAL
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5L_TYPE_SOFT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TYPE_SOFT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5l.pyx":24
- * TYPE_HARD = H5L_TYPE_HARD
- * TYPE_SOFT = H5L_TYPE_SOFT
- * TYPE_EXTERNAL = H5L_TYPE_EXTERNAL             # <<<<<<<<<<<<<<
- * 
- * cdef class LinkInfo:
- */
-  __pyx_t_4 = PyInt_FromLong(H5L_TYPE_EXTERNAL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TYPE_EXTERNAL, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5l.pyx":217
- * 
- *     def visit(self, object func, *,
- *               int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,             # <<<<<<<<<<<<<<
- *               char* obj_name='.', PropID lapl=None, bint info=0):
- *         """(CALLABLE func, **kwds) => <Return value from func>
- */
-  __pyx_k_5 = H5_INDEX_NAME;
-  __pyx_k_6 = H5_ITER_NATIVE;
-
-  /* "h5py/h5l.pyx":260
- * 
- *     def iterate(self, object func, *,
- *               int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,             # <<<<<<<<<<<<<<
- *               char* obj_name='.', PropID lapl=None, bint info=0,
- *               hsize_t idx=0):
- */
-  __pyx_k_8 = H5_INDEX_NAME;
-  __pyx_k_9 = H5_ITER_NATIVE;
-
-  /* "h5py/h5l.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5l", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5l");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hid_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hid_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hid_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hid_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hid_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hid_t)-1;
-    }
-}
-
-static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hsize_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hsize_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hsize_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hsize_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hsize_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hsize_t)-1;
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_int64_t(int64_t val) {
-    const int64_t neg_one = (int64_t)-1, const_zero = (int64_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(int64_t) == sizeof(char))  ||
-        (sizeof(int64_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(int64_t) == sizeof(int)) ||
-               (sizeof(int64_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(int64_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(int64_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_haddr_t(haddr_t val) {
-    const haddr_t neg_one = (haddr_t)-1, const_zero = (haddr_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(haddr_t) == sizeof(char))  ||
-        (sizeof(haddr_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(haddr_t) == sizeof(int)) ||
-               (sizeof(haddr_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(haddr_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(haddr_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5l.pyx b/h5py/h5l.pyx
index bbef23f..d8ab7a8 100644
--- a/h5py/h5l.pyx
+++ b/h5py/h5l.pyx
@@ -17,6 +17,9 @@ from h5p cimport PropID
 from h5g cimport GroupID
 from utils cimport emalloc, efree
 
+from ._objects import phil, with_phil
+
+
 # === Public constants ========================================================
 
 TYPE_HARD = H5L_TYPE_HARD
@@ -101,6 +104,8 @@ cdef class LinkProxy:
 
         * Hashable: No
         * Equality: Undefined
+
+        You will note that this class does *not* inherit from ObjectID.
     """
 
     def __init__(self, hid_t id_):
@@ -116,6 +121,7 @@ cdef class LinkProxy:
         raise TypeError("Link proxies are unhashable; use the parent group instead.")
 
 
+    @with_phil
     def create_hard(self, char* new_name, GroupID cur_loc not None,
         char* cur_name, PropID lcpl=None, PropID lapl=None):
         """ (STRING new_name, GroupID cur_loc, STRING cur_name,
@@ -128,6 +134,7 @@ cdef class LinkProxy:
             pdefault(lcpl), pdefault(lapl))
 
 
+    @with_phil
     def create_soft(self, char* new_name, char* target,
         PropID lcpl=None, PropID lapl=None):
         """(STRING new_name, STRING target, PropID lcpl=None, PropID lapl=None)
@@ -139,6 +146,7 @@ cdef class LinkProxy:
             pdefault(lcpl), pdefault(lapl))
 
 
+    @with_phil
     def create_external(self, char* link_name, char* file_name, char* obj_name,
         PropID lcpl=None, PropID lapl=None):
         """(STRING link_name, STRING file_name, STRING obj_name,
@@ -150,6 +158,7 @@ cdef class LinkProxy:
             pdefault(lcpl), pdefault(lapl))
 
 
+    @with_phil
     def get_val(self, char* name, PropID lapl=None):
         """(STRING name, PropLAID lapl=None) => STRING or TUPLE(file, obj)
 
@@ -183,6 +192,7 @@ cdef class LinkProxy:
         return py_retval
 
 
+    @with_phil
     def move(self, char* src_name, GroupID dst_loc not None, char* dst_name,
         PropID lcpl=None, PropID lapl=None):
         """ (STRING src_name, GroupID dst_loc, STRING dst_name)
@@ -193,14 +203,16 @@ cdef class LinkProxy:
                 pdefault(lapl))
 
 
-    def exists(self, char* name):
-        """ (STRING name) => BOOL
+    @with_phil
+    def exists(self, char* name, PropID lapl=None):
+        """ (STRING name, PropID lapl=None) => BOOL
 
             Check if a link of the specified name exists in this group.
         """
-        return <bint>(H5Lexists(self.id, name, H5P_DEFAULT))
+        return <bint>(H5Lexists(self.id, name, pdefault(lapl)))
 
 
+    @with_phil
     def get_info(self, char* name, int index=-1, *, PropID lapl=None):
         """(STRING name=, INT index=, **kwds) => LinkInfo instance
 
@@ -213,6 +225,7 @@ cdef class LinkProxy:
         return info
 
 
+    @with_phil
     def visit(self, object func, *,
               int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
               char* obj_name='.', PropID lapl=None, bint info=0):
@@ -256,6 +269,8 @@ cdef class LinkProxy:
 
         return it.retval
 
+
+    @with_phil
     def iterate(self, object func, *,
               int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
               char* obj_name='.', PropID lapl=None, bint info=0,
diff --git a/h5py/h5o.c b/h5py/h5o.c
deleted file mode 100644
index f827cdf..0000000
--- a/h5py/h5o.c
+++ /dev/null
@@ -1,7518 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5o
-#define __PYX_HAVE_API__h5py__h5o
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5o.pyx",
-  "_objects.pxd",
-  "h5g.pxd",
-  "h5p.pxd",
-  "numpy.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5p_PropID;
-struct __pyx_obj_4h5py_3h5p_PropInstanceID;
-struct __pyx_obj_4h5py_3h5p_PropFAID;
-struct __pyx_obj_4h5py_3h5o__ObjectVisitor;
-struct __pyx_obj_4h5py_3h5o__ObjInfoBase;
-struct __pyx_obj_4h5py_3h5o__OHdr;
-struct __pyx_obj_4h5py_3h5p_PropCreateID;
-struct __pyx_obj_4h5py_3h5p_PropFCID;
-struct __pyx_obj_4h5py_3h5p_PropClassID;
-struct __pyx_obj_4h5py_3h5o__ObjInfo;
-struct __pyx_obj_4h5py_3h5p_PropOCID;
-struct __pyx_obj_4h5py_3h5o_ObjInfo;
-struct __pyx_obj_4h5py_3h5p_PropLCID;
-struct __pyx_obj_4h5py_3h5g_GroupID;
-struct __pyx_obj_4h5py_3h5p_PropGCID;
-struct __pyx_obj_4h5py_3h5o__OHdrMesg;
-struct __pyx_obj_4h5py_3h5p_PropDCID;
-struct __pyx_obj_4h5py_3h5p_PropLAID;
-struct __pyx_obj_4h5py_3h5o__OHdrSpace;
-struct __pyx_obj_4h5py_3h5p_PropCopyID;
-struct __pyx_obj_4h5py_3h5p_PropDXID;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5p.pxd":16
- * # --- Base classes ---
- * 
- * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
- *     """ Base class for all property lists """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5p.pxd":26
- *     pass
- * 
- * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an instance of a property list class (i.e. an actual list
- *         which can be passed on to other API functions).
- */
-struct __pyx_obj_4h5py_3h5p_PropInstanceID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5p.pxd":59
- * # --- Object access ---
- * 
- * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ File access property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5py/h5o.pyx":245
- * # === Visit routines ==========================================================
- * 
- * cdef class _ObjectVisitor:             # <<<<<<<<<<<<<<
- * 
- *     cdef object func
- */
-struct __pyx_obj_4h5py_3h5o__ObjectVisitor {
-  PyObject_HEAD
-  PyObject *func;
-  PyObject *retval;
-  struct __pyx_obj_4h5py_3h5o_ObjInfo *objinfo;
-};
-
-
-/* "h5py/h5o.pyx":36
- * # === Giant H5O_info_t structure ==============================================
- * 
- * cdef class _ObjInfoBase:             # <<<<<<<<<<<<<<
- * 
- *     cdef H5O_info_t *istr
- */
-struct __pyx_obj_4h5py_3h5o__ObjInfoBase {
-  PyObject_HEAD
-  H5O_info_t *istr;
-};
-
-
-/* "h5py/h5o.pyx":70
- *         return hash((self.total, self.meta, self.mesg, self.free))
- * 
- * cdef class _OHdr(_ObjInfoBase):             # <<<<<<<<<<<<<<
- * 
- *     cdef public _OHdrSpace space
- */
-struct __pyx_obj_4h5py_3h5o__OHdr {
-  struct __pyx_obj_4h5py_3h5o__ObjInfoBase __pyx_base;
-  struct __pyx_obj_4h5py_3h5o__OHdrSpace *space;
-  struct __pyx_obj_4h5py_3h5o__OHdrMesg *mesg;
-};
-
-
-/* "h5p.pxd":32
- *     pass
- * 
- * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Base class for all object creation lists.
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCreateID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":52
- *     pass
- * 
- * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ File creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5p.pxd":20
- *     pass
- * 
- * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an HDF5 property list class.  These can be either (locked)
- *         library-defined classes or user-created classes.
- */
-struct __pyx_obj_4h5py_3h5p_PropClassID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5py/h5o.pyx":89
- *         return hash((self.version, self.nmesgs, self.space, self.mesg))
- * 
- * cdef class _ObjInfo(_ObjInfoBase):             # <<<<<<<<<<<<<<
- * 
- *     property fileno:
- */
-struct __pyx_obj_4h5py_3h5o__ObjInfo {
-  struct __pyx_obj_4h5py_3h5o__ObjInfoBase __pyx_base;
-};
-
-
-/* "h5p.pxd":44
- * # --- Object creation ---
- * 
- * cdef class PropOCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Object creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropOCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5py/h5o.pyx":107
- *         return hash((self.fileno, self.addr, self.type, self.rc))
- * 
- * cdef class ObjInfo(_ObjInfo):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-struct __pyx_obj_4h5py_3h5o_ObjInfo {
-  struct __pyx_obj_4h5py_3h5o__ObjInfo __pyx_base;
-  H5O_info_t infostruct;
-  struct __pyx_obj_4h5py_3h5o__OHdr *hdr;
-};
-
-
-/* "h5p.pxd":70
- * # --- New in 1.8 ---
- * 
- * cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Link creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropLCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5g.pxd":14
- * from _objects cimport ObjectID
- * 
- * cdef class GroupID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef readonly object links
- */
-struct __pyx_obj_4h5py_3h5g_GroupID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  PyObject *links;
-};
-
-
-/* "h5p.pxd":78
- *     cdef char* _buf
- * 
- * cdef class PropGCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Group creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropGCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5py/h5o.pyx":40
- *     cdef H5O_info_t *istr
- * 
- * cdef class _OHdrMesg(_ObjInfoBase):             # <<<<<<<<<<<<<<
- * 
- *     property present:
- */
-struct __pyx_obj_4h5py_3h5o__OHdrMesg {
-  struct __pyx_obj_4h5py_3h5o__ObjInfoBase __pyx_base;
-};
-
-
-/* "h5p.pxd":48
- *     pass
- * 
- * cdef class PropDCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Dataset creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5p.pxd":74
- *     pass
- * 
- * cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Link access property list """
- *     cdef char* _buf
- */
-struct __pyx_obj_4h5py_3h5p_PropLAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-  char *_buf;
-};
-
-
-/* "h5py/h5o.pyx":52
- *         return hash((self.present, self.shared))
- * 
- * cdef class _OHdrSpace(_ObjInfoBase):             # <<<<<<<<<<<<<<
- * 
- *     property total:
- */
-struct __pyx_obj_4h5py_3h5o__OHdrSpace {
-  struct __pyx_obj_4h5py_3h5o__ObjInfoBase __pyx_base;
-};
-
-
-/* "h5p.pxd":39
- *     pass
- * 
- * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Property list for copying objects (as in h5o.copy) """
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCopyID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5p.pxd":63
- *     pass
- * 
- * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Dataset transfer property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDXID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_haddr_t(haddr_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static hid_t (*__pyx_f_4h5py_4defs_H5Oopen)(hid_t, char *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info)(hid_t, H5O_info_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_name)(hid_t, char *, H5O_info_t *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Oget_info_by_idx)(hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Olink)(hid_t, hid_t, char *, hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Ocopy)(hid_t, char *, hid_t, char *, hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Oset_comment_by_name)(hid_t, char *, char *, hid_t); /*proto*/
-static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Oget_comment_by_name)(hid_t, char *, char *, size_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Ovisit_by_name)(hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/
-
-/* Module declarations from 'h5py.h5g' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5g_GroupID = 0;
-
-/* Module declarations from 'h5py.h5i' */
-static struct __pyx_obj_4h5py_8_objects_ObjectID *(*__pyx_f_4h5py_3h5i_wrap_identifier)(hid_t, int __pyx_skip_dispatch); /*proto*/
-
-/* Module declarations from 'h5py.h5p' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropOCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0;
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-
-/* Module declarations from 'h5py.h5o' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5o__ObjInfoBase = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5o__OHdrMesg = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5o__OHdrSpace = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5o__OHdr = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5o__ObjInfo = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5o_ObjInfo = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5o__ObjectVisitor = 0;
-static herr_t __pyx_f_4h5py_3h5o_cb_obj_iterate(hid_t, char *, H5O_info_t *, void *); /*proto*/
-static herr_t __pyx_f_4h5py_3h5o_cb_obj_simple(hid_t, char *, H5O_info_t *, void *); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5o"
-int __pyx_module_is_main_h5py__h5o = 0;
-
-/* Implementation of 'h5py.h5o' */
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_pf_4h5py_3h5o_9_OHdrMesg_7present___get__(struct __pyx_obj_4h5py_3h5o__OHdrMesg *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_9_OHdrMesg_6shared___get__(struct __pyx_obj_4h5py_3h5o__OHdrMesg *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_9_OHdrMesg__hash(struct __pyx_obj_4h5py_3h5o__OHdrMesg *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace_5total___get__(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace_4meta___get__(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace_4mesg___get__(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace_4free___get__(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace__hash(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_7version___get__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_6nmesgs___get__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5o_5_OHdr___init__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_2_hash(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_5space___get__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5o_5_OHdr_5space_2__set__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_4h5py_3h5o_5_OHdr_5space_4__del__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_4mesg___get__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5o_5_OHdr_4mesg_2__set__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_4h5py_3h5o_5_OHdr_4mesg_4__del__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo_6fileno___get__(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo_4addr___get__(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo_4type___get__(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo_2rc___get__(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo__hash(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5o_7ObjInfo___init__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_7ObjInfo_2__copy__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_7ObjInfo_3hdr___get__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5o_7ObjInfo_3hdr_2__set__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self, PyObject *__pyx_v_value); /* proto */
-static int __pyx_pf_4h5py_3h5o_7ObjInfo_3hdr_4__del__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_get_info(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_4link(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_6copy(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_src_loc, char *__pyx_v_src_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_dst_loc, char *__pyx_v_dst_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_copypl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_8set_comment(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_comment, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_10get_comment(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, CYTHON_UNUSED char *__pyx_v_comment, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl); /* proto */
-static int __pyx_pf_4h5py_3h5o_14_ObjectVisitor___init__(struct __pyx_obj_4h5py_3h5o__ObjectVisitor *__pyx_v_self, PyObject *__pyx_v_func); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5o_12visit(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_idx_type, int __pyx_v_order, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_info); /* proto */
-static char __pyx_k_1[] = ".";
-static char __pyx_k_4[] = "At most one of name or index may be specified";
-static char __pyx_k_8[] = "\n    Module for HDF5 \"H5O\" functions.\n";
-static char __pyx_k_9[] = "COPY_SHALLOW_HIERARCHY_FLAG";
-static char __pyx_k_10[] = "COPY_EXPAND_SOFT_LINK_FLAG";
-static char __pyx_k_11[] = "COPY_EXPAND_EXT_LINK_FLAG";
-static char __pyx_k_12[] = "COPY_EXPAND_REFERENCE_FLAG";
-static char __pyx_k_13[] = "COPY_WITHOUT_ATTR_FLAG";
-static char __pyx_k_14[] = "COPY_PRESERVE_NULL_FLAG";
-static char __pyx_k_17[] = "/home/computer/h5py/h5py/h5o.pyx";
-static char __pyx_k_18[] = "h5py.h5o";
-static char __pyx_k__rc[] = "rc";
-static char __pyx_k__buf[] = "buf";
-static char __pyx_k__loc[] = "loc";
-static char __pyx_k__obj[] = "obj";
-static char __pyx_k__addr[] = "addr";
-static char __pyx_k__copy[] = "copy";
-static char __pyx_k__free[] = "free";
-static char __pyx_k__func[] = "func";
-static char __pyx_k__info[] = "info";
-static char __pyx_k__lapl[] = "lapl";
-static char __pyx_k__lcpl[] = "lcpl";
-static char __pyx_k__link[] = "link";
-static char __pyx_k__mesg[] = "mesg";
-static char __pyx_k__meta[] = "meta";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__size[] = "size";
-static char __pyx_k__type[] = "type";
-static char __pyx_k__cfunc[] = "cfunc";
-static char __pyx_k__index[] = "index";
-static char __pyx_k__order[] = "order";
-static char __pyx_k__total[] = "total";
-static char __pyx_k__visit[] = "visit";
-static char __pyx_k__copypl[] = "copypl";
-static char __pyx_k__fileno[] = "fileno";
-static char __pyx_k__nmesgs[] = "nmesgs";
-static char __pyx_k__shared[] = "shared";
-static char __pyx_k__comment[] = "comment";
-static char __pyx_k__dst_loc[] = "dst_loc";
-static char __pyx_k__present[] = "present";
-static char __pyx_k__pstring[] = "pstring";
-static char __pyx_k__src_loc[] = "src_loc";
-static char __pyx_k__version[] = "version";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__dst_name[] = "dst_name";
-static char __pyx_k__get_info[] = "get_info";
-static char __pyx_k__idx_type[] = "idx_type";
-static char __pyx_k__obj_name[] = "obj_name";
-static char __pyx_k__src_name[] = "src_name";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k__TYPE_GROUP[] = "TYPE_GROUP";
-static char __pyx_k__index_type[] = "index_type";
-static char __pyx_k__get_comment[] = "get_comment";
-static char __pyx_k__set_comment[] = "set_comment";
-static char __pyx_k__TYPE_DATASET[] = "TYPE_DATASET";
-static char __pyx_k__TYPE_NAMED_DATATYPE[] = "TYPE_NAMED_DATATYPE";
-static PyObject *__pyx_n_s_10;
-static PyObject *__pyx_n_s_11;
-static PyObject *__pyx_n_s_12;
-static PyObject *__pyx_n_s_13;
-static PyObject *__pyx_n_s_14;
-static PyObject *__pyx_kp_s_17;
-static PyObject *__pyx_n_s_18;
-static PyObject *__pyx_kp_s_4;
-static PyObject *__pyx_n_s_9;
-static PyObject *__pyx_n_s__TYPE_DATASET;
-static PyObject *__pyx_n_s__TYPE_GROUP;
-static PyObject *__pyx_n_s__TYPE_NAMED_DATATYPE;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s__addr;
-static PyObject *__pyx_n_s__buf;
-static PyObject *__pyx_n_s__cfunc;
-static PyObject *__pyx_n_s__comment;
-static PyObject *__pyx_n_s__copy;
-static PyObject *__pyx_n_s__copypl;
-static PyObject *__pyx_n_s__dst_loc;
-static PyObject *__pyx_n_s__dst_name;
-static PyObject *__pyx_n_s__fileno;
-static PyObject *__pyx_n_s__free;
-static PyObject *__pyx_n_s__func;
-static PyObject *__pyx_n_s__get_comment;
-static PyObject *__pyx_n_s__get_info;
-static PyObject *__pyx_n_s__idx_type;
-static PyObject *__pyx_n_s__index;
-static PyObject *__pyx_n_s__index_type;
-static PyObject *__pyx_n_s__info;
-static PyObject *__pyx_n_s__lapl;
-static PyObject *__pyx_n_s__lcpl;
-static PyObject *__pyx_n_s__link;
-static PyObject *__pyx_n_s__loc;
-static PyObject *__pyx_n_s__mesg;
-static PyObject *__pyx_n_s__meta;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__nmesgs;
-static PyObject *__pyx_n_s__obj;
-static PyObject *__pyx_n_s__obj_name;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__order;
-static PyObject *__pyx_n_s__present;
-static PyObject *__pyx_n_s__pstring;
-static PyObject *__pyx_n_s__rc;
-static PyObject *__pyx_n_s__set_comment;
-static PyObject *__pyx_n_s__shared;
-static PyObject *__pyx_n_s__size;
-static PyObject *__pyx_n_s__src_loc;
-static PyObject *__pyx_n_s__src_name;
-static PyObject *__pyx_n_s__total;
-static PyObject *__pyx_n_s__type;
-static PyObject *__pyx_n_s__version;
-static PyObject *__pyx_n_s__visit;
-static int __pyx_k_2;
-static int __pyx_k_3;
-static int __pyx_k_6;
-static int __pyx_k_7;
-static PyObject *__pyx_k_tuple_5;
-static PyObject *__pyx_k_tuple_15;
-static PyObject *__pyx_k_tuple_19;
-static PyObject *__pyx_k_tuple_21;
-static PyObject *__pyx_k_tuple_23;
-static PyObject *__pyx_k_tuple_25;
-static PyObject *__pyx_k_tuple_27;
-static PyObject *__pyx_k_tuple_29;
-static PyObject *__pyx_k_codeobj_16;
-static PyObject *__pyx_k_codeobj_20;
-static PyObject *__pyx_k_codeobj_22;
-static PyObject *__pyx_k_codeobj_24;
-static PyObject *__pyx_k_codeobj_26;
-static PyObject *__pyx_k_codeobj_28;
-static PyObject *__pyx_k_codeobj_30;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_9_OHdrMesg_7present_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_9_OHdrMesg_7present_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_9_OHdrMesg_7present___get__(((struct __pyx_obj_4h5py_3h5o__OHdrMesg *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":43
- * 
- *     property present:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].hdr.mesg.present
- *     property shared:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_9_OHdrMesg_7present___get__(struct __pyx_obj_4h5py_3h5o__OHdrMesg *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":44
- *     property present:
- *         def __get__(self):
- *             return self.istr[0].hdr.mesg.present             # <<<<<<<<<<<<<<
- *     property shared:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->__pyx_base.istr[0]).hdr.mesg.present); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdrMesg.present.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_9_OHdrMesg_6shared_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_9_OHdrMesg_6shared_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_9_OHdrMesg_6shared___get__(((struct __pyx_obj_4h5py_3h5o__OHdrMesg *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":46
- *             return self.istr[0].hdr.mesg.present
- *     property shared:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].hdr.mesg.shared
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_9_OHdrMesg_6shared___get__(struct __pyx_obj_4h5py_3h5o__OHdrMesg *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":47
- *     property shared:
- *         def __get__(self):
- *             return self.istr[0].hdr.mesg.shared             # <<<<<<<<<<<<<<
- * 
- *     def _hash(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->__pyx_base.istr[0]).hdr.mesg.shared); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdrMesg.shared.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_9_OHdrMesg_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_9_OHdrMesg_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_hash (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_9_OHdrMesg__hash(((struct __pyx_obj_4h5py_3h5o__OHdrMesg *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":49
- *             return self.istr[0].hdr.mesg.shared
- * 
- *     def _hash(self):             # <<<<<<<<<<<<<<
- *         return hash((self.present, self.shared))
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_9_OHdrMesg__hash(struct __pyx_obj_4h5py_3h5o__OHdrMesg *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  Py_hash_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_hash", 0);
-
-  /* "h5py/h5o.pyx":50
- * 
- *     def _hash(self):
- *         return hash((self.present, self.shared))             # <<<<<<<<<<<<<<
- * 
- * cdef class _OHdrSpace(_ObjInfoBase):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__present); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__shared); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_1 = 0;
-  __pyx_t_2 = 0;
-  __pyx_t_4 = PyObject_Hash(((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_t_3 = __Pyx_PyInt_FromHash_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5o._OHdrMesg._hash", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_5total_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_5total_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_10_OHdrSpace_5total___get__(((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":55
- * 
- *     property total:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].hdr.space.total
- *     property meta:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace_5total___get__(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":56
- *     property total:
- *         def __get__(self):
- *             return self.istr[0].hdr.space.total             # <<<<<<<<<<<<<<
- *     property meta:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t((__pyx_v_self->__pyx_base.istr[0]).hdr.space.total); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdrSpace.total.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_4meta_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_4meta_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_10_OHdrSpace_4meta___get__(((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":58
- *             return self.istr[0].hdr.space.total
- *     property meta:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].hdr.space.meta
- *     property mesg:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace_4meta___get__(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":59
- *     property meta:
- *         def __get__(self):
- *             return self.istr[0].hdr.space.meta             # <<<<<<<<<<<<<<
- *     property mesg:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t((__pyx_v_self->__pyx_base.istr[0]).hdr.space.meta); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdrSpace.meta.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_4mesg_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_4mesg_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_10_OHdrSpace_4mesg___get__(((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":61
- *             return self.istr[0].hdr.space.meta
- *     property mesg:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].hdr.space.mesg
- *     property free:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace_4mesg___get__(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":62
- *     property mesg:
- *         def __get__(self):
- *             return self.istr[0].hdr.space.mesg             # <<<<<<<<<<<<<<
- *     property free:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t((__pyx_v_self->__pyx_base.istr[0]).hdr.space.mesg); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdrSpace.mesg.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_4free_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_4free_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_10_OHdrSpace_4free___get__(((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":64
- *             return self.istr[0].hdr.space.mesg
- *     property free:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].hdr.space.free
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace_4free___get__(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":65
- *     property free:
- *         def __get__(self):
- *             return self.istr[0].hdr.space.free             # <<<<<<<<<<<<<<
- * 
- *     def _hash(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t((__pyx_v_self->__pyx_base.istr[0]).hdr.space.free); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdrSpace.free.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_10_OHdrSpace_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_hash (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_10_OHdrSpace__hash(((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":67
- *             return self.istr[0].hdr.space.free
- * 
- *     def _hash(self):             # <<<<<<<<<<<<<<
- *         return hash((self.total, self.meta, self.mesg, self.free))
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_10_OHdrSpace__hash(struct __pyx_obj_4h5py_3h5o__OHdrSpace *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  Py_hash_t __pyx_t_6;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_hash", 0);
-
-  /* "h5py/h5o.pyx":68
- * 
- *     def _hash(self):
- *         return hash((self.total, self.meta, self.mesg, self.free))             # <<<<<<<<<<<<<<
- * 
- * cdef class _OHdr(_ObjInfoBase):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__total); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__meta); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__mesg); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__free); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __pyx_t_1 = 0;
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_t_6 = PyObject_Hash(((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  __pyx_t_5 = __Pyx_PyInt_FromHash_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_r = __pyx_t_5;
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5o._OHdrSpace._hash", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_7version_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_7version_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_7version___get__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":76
- * 
- *     property version:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].hdr.version
- *     property nmesgs:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_7version___get__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":77
- *     property version:
- *         def __get__(self):
- *             return self.istr[0].hdr.version             # <<<<<<<<<<<<<<
- *     property nmesgs:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->__pyx_base.istr[0]).hdr.version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdr.version.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_6nmesgs_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_6nmesgs_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_6nmesgs___get__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":79
- *             return self.istr[0].hdr.version
- *     property nmesgs:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].hdr.nmesgs
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_6nmesgs___get__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":80
- *     property nmesgs:
- *         def __get__(self):
- *             return self.istr[0].hdr.nmesgs             # <<<<<<<<<<<<<<
- * 
- *     def __init__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->__pyx_base.istr[0]).hdr.nmesgs); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdr.nmesgs.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_5_OHdr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5o_5_OHdr_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
-  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr___init__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":82
- *             return self.istr[0].hdr.nmesgs
- * 
- *     def __init__(self):             # <<<<<<<<<<<<<<
- *         self.space = _OHdrSpace()
- *         self.mesg = _OHdrMesg()
- */
-
-static int __pyx_pf_4h5py_3h5o_5_OHdr___init__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5o.pyx":83
- * 
- *     def __init__(self):
- *         self.space = _OHdrSpace()             # <<<<<<<<<<<<<<
- *         self.mesg = _OHdrMesg()
- * 
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5o__OHdrSpace)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_self->space);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->space));
-  __pyx_v_self->space = ((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5o.pyx":84
- *     def __init__(self):
- *         self.space = _OHdrSpace()
- *         self.mesg = _OHdrMesg()             # <<<<<<<<<<<<<<
- * 
- *     def _hash(self):
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5o__OHdrMesg)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_self->mesg);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->mesg));
-  __pyx_v_self->mesg = ((struct __pyx_obj_4h5py_3h5o__OHdrMesg *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._OHdr.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_3_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_3_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_hash (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_2_hash(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":86
- *         self.mesg = _OHdrMesg()
- * 
- *     def _hash(self):             # <<<<<<<<<<<<<<
- *         return hash((self.version, self.nmesgs, self.space, self.mesg))
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_2_hash(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  Py_hash_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_hash", 0);
-
-  /* "h5py/h5o.pyx":87
- * 
- *     def _hash(self):
- *         return hash((self.version, self.nmesgs, self.space, self.mesg))             # <<<<<<<<<<<<<<
- * 
- * cdef class _ObjInfo(_ObjInfoBase):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__version); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__nmesgs); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self->space));
-  PyTuple_SET_ITEM(__pyx_t_3, 2, ((PyObject *)__pyx_v_self->space));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_self->space));
-  __Pyx_INCREF(((PyObject *)__pyx_v_self->mesg));
-  PyTuple_SET_ITEM(__pyx_t_3, 3, ((PyObject *)__pyx_v_self->mesg));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_self->mesg));
-  __pyx_t_1 = 0;
-  __pyx_t_2 = 0;
-  __pyx_t_4 = PyObject_Hash(((PyObject *)__pyx_t_3)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_t_3 = __Pyx_PyInt_FromHash_t(__pyx_t_4); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5o._OHdr._hash", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_5space_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_5space_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_5space___get__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":72
- * cdef class _OHdr(_ObjInfoBase):
- * 
- *     cdef public _OHdrSpace space             # <<<<<<<<<<<<<<
- *     cdef public _OHdrMesg mesg
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_5space___get__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self->space));
-  __pyx_r = ((PyObject *)__pyx_v_self->space);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_5_OHdr_5space_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_4h5py_3h5o_5_OHdr_5space_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_5space_2__set__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static int __pyx_pf_4h5py_3h5o_5_OHdr_5space_2__set__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self, PyObject *__pyx_v_value) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__set__", 0);
-  if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_4h5py_3h5o__OHdrSpace))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_INCREF(__pyx_v_value);
-  __Pyx_GIVEREF(__pyx_v_value);
-  __Pyx_GOTREF(__pyx_v_self->space);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->space));
-  __pyx_v_self->space = ((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)__pyx_v_value);
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5o._OHdr.space.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_5_OHdr_5space_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_4h5py_3h5o_5_OHdr_5space_5__del__(PyObject *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_5space_4__del__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static int __pyx_pf_4h5py_3h5o_5_OHdr_5space_4__del__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__del__", 0);
-  __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __Pyx_GOTREF(__pyx_v_self->space);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->space));
-  __pyx_v_self->space = ((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)Py_None);
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_4mesg_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_5_OHdr_4mesg_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_4mesg___get__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":73
- * 
- *     cdef public _OHdrSpace space
- *     cdef public _OHdrMesg mesg             # <<<<<<<<<<<<<<
- * 
- *     property version:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_5_OHdr_4mesg___get__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self->mesg));
-  __pyx_r = ((PyObject *)__pyx_v_self->mesg);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_5_OHdr_4mesg_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_4h5py_3h5o_5_OHdr_4mesg_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_4mesg_2__set__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static int __pyx_pf_4h5py_3h5o_5_OHdr_4mesg_2__set__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self, PyObject *__pyx_v_value) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__set__", 0);
-  if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_4h5py_3h5o__OHdrMesg))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_INCREF(__pyx_v_value);
-  __Pyx_GIVEREF(__pyx_v_value);
-  __Pyx_GOTREF(__pyx_v_self->mesg);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->mesg));
-  __pyx_v_self->mesg = ((struct __pyx_obj_4h5py_3h5o__OHdrMesg *)__pyx_v_value);
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5o._OHdr.mesg.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_5_OHdr_4mesg_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_4h5py_3h5o_5_OHdr_4mesg_5__del__(PyObject *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_5_OHdr_4mesg_4__del__(((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static int __pyx_pf_4h5py_3h5o_5_OHdr_4mesg_4__del__(struct __pyx_obj_4h5py_3h5o__OHdr *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__del__", 0);
-  __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __Pyx_GOTREF(__pyx_v_self->mesg);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->mesg));
-  __pyx_v_self->mesg = ((struct __pyx_obj_4h5py_3h5o__OHdrMesg *)Py_None);
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_6fileno_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_6fileno_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_8_ObjInfo_6fileno___get__(((struct __pyx_obj_4h5py_3h5o__ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":92
- * 
- *     property fileno:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].fileno
- *     property addr:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo_6fileno___get__(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":93
- *     property fileno:
- *         def __get__(self):
- *             return self.istr[0].fileno             # <<<<<<<<<<<<<<
- *     property addr:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->__pyx_base.istr[0]).fileno); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._ObjInfo.fileno.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_4addr_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_4addr_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_8_ObjInfo_4addr___get__(((struct __pyx_obj_4h5py_3h5o__ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":95
- *             return self.istr[0].fileno
- *     property addr:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].addr
- *     property type:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo_4addr___get__(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":96
- *     property addr:
- *         def __get__(self):
- *             return self.istr[0].addr             # <<<<<<<<<<<<<<
- *     property type:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_to_py_haddr_t((__pyx_v_self->__pyx_base.istr[0]).addr); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._ObjInfo.addr.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_4type_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_4type_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_8_ObjInfo_4type___get__(((struct __pyx_obj_4h5py_3h5o__ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":98
- *             return self.istr[0].addr
- *     property type:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return <int>self.istr[0].type
- *     property rc:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo_4type___get__(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":99
- *     property type:
- *         def __get__(self):
- *             return <int>self.istr[0].type             # <<<<<<<<<<<<<<
- *     property rc:
- *         def __get__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(((int)(__pyx_v_self->__pyx_base.istr[0]).type)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._ObjInfo.type.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_2rc_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_2rc_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_8_ObjInfo_2rc___get__(((struct __pyx_obj_4h5py_3h5o__ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":101
- *             return <int>self.istr[0].type
- *     property rc:
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.istr[0].rc
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo_2rc___get__(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5o.pyx":102
- *     property rc:
- *         def __get__(self):
- *             return self.istr[0].rc             # <<<<<<<<<<<<<<
- * 
- *     def _hash(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyLong_FromUnsignedLong((__pyx_v_self->__pyx_base.istr[0]).rc); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._ObjInfo.rc.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_8_ObjInfo_1_hash(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_hash (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_8_ObjInfo__hash(((struct __pyx_obj_4h5py_3h5o__ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":104
- *             return self.istr[0].rc
- * 
- *     def _hash(self):             # <<<<<<<<<<<<<<
- *         return hash((self.fileno, self.addr, self.type, self.rc))
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_8_ObjInfo__hash(struct __pyx_obj_4h5py_3h5o__ObjInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  Py_hash_t __pyx_t_6;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_hash", 0);
-
-  /* "h5py/h5o.pyx":105
- * 
- *     def _hash(self):
- *         return hash((self.fileno, self.addr, self.type, self.rc))             # <<<<<<<<<<<<<<
- * 
- * cdef class ObjInfo(_ObjInfo):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__fileno); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__addr); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__type); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__rc); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __pyx_t_1 = 0;
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_t_6 = PyObject_Hash(((PyObject *)__pyx_t_5)); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  __pyx_t_5 = __Pyx_PyInt_FromHash_t(__pyx_t_6); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_r = __pyx_t_5;
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5o._ObjInfo._hash", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_7ObjInfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5o_7ObjInfo_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("__init__", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return -1;}
-  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 0))) return -1;
-  __pyx_r = __pyx_pf_4h5py_3h5o_7ObjInfo___init__(((struct __pyx_obj_4h5py_3h5o_ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":116
- *     cdef public _OHdr hdr
- * 
- *     def __init__(self):             # <<<<<<<<<<<<<<
- *         self.hdr = _OHdr()
- * 
- */
-
-static int __pyx_pf_4h5py_3h5o_7ObjInfo___init__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5o.pyx":117
- * 
- *     def __init__(self):
- *         self.hdr = _OHdr()             # <<<<<<<<<<<<<<
- * 
- *         self.istr = &self.infostruct
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5o__OHdr)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_self->hdr);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->hdr));
-  __pyx_v_self->hdr = ((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5o.pyx":119
- *         self.hdr = _OHdr()
- * 
- *         self.istr = &self.infostruct             # <<<<<<<<<<<<<<
- *         self.hdr.istr = &self.infostruct
- *         self.hdr.space.istr = &self.infostruct
- */
-  __pyx_v_self->__pyx_base.__pyx_base.istr = (&__pyx_v_self->infostruct);
-
-  /* "h5py/h5o.pyx":120
- * 
- *         self.istr = &self.infostruct
- *         self.hdr.istr = &self.infostruct             # <<<<<<<<<<<<<<
- *         self.hdr.space.istr = &self.infostruct
- *         self.hdr.mesg.istr = &self.infostruct
- */
-  __pyx_v_self->hdr->__pyx_base.istr = (&__pyx_v_self->infostruct);
-
-  /* "h5py/h5o.pyx":121
- *         self.istr = &self.infostruct
- *         self.hdr.istr = &self.infostruct
- *         self.hdr.space.istr = &self.infostruct             # <<<<<<<<<<<<<<
- *         self.hdr.mesg.istr = &self.infostruct
- * 
- */
-  __pyx_v_self->hdr->space->__pyx_base.istr = (&__pyx_v_self->infostruct);
-
-  /* "h5py/h5o.pyx":122
- *         self.hdr.istr = &self.infostruct
- *         self.hdr.space.istr = &self.infostruct
- *         self.hdr.mesg.istr = &self.infostruct             # <<<<<<<<<<<<<<
- * 
- *     def __copy__(self):
- */
-  __pyx_v_self->hdr->mesg->__pyx_base.istr = (&__pyx_v_self->infostruct);
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o.ObjInfo.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_7ObjInfo_3__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_7ObjInfo_3__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_7ObjInfo_2__copy__(((struct __pyx_obj_4h5py_3h5o_ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":124
- *         self.hdr.mesg.istr = &self.infostruct
- * 
- *     def __copy__(self):             # <<<<<<<<<<<<<<
- *         cdef ObjInfo newcopy
- *         newcopy = ObjInfo()
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_7ObjInfo_2__copy__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_newcopy = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  H5O_info_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__copy__", 0);
-
-  /* "h5py/h5o.pyx":126
- *     def __copy__(self):
- *         cdef ObjInfo newcopy
- *         newcopy = ObjInfo()             # <<<<<<<<<<<<<<
- *         newcopy.infostruct = self.infostruct
- *         return newcopy
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5o_ObjInfo)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_newcopy = ((struct __pyx_obj_4h5py_3h5o_ObjInfo *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5o.pyx":127
- *         cdef ObjInfo newcopy
- *         newcopy = ObjInfo()
- *         newcopy.infostruct = self.infostruct             # <<<<<<<<<<<<<<
- *         return newcopy
- * 
- */
-  __pyx_t_2 = __pyx_v_self->infostruct;
-  __pyx_v_newcopy->infostruct = __pyx_t_2;
-
-  /* "h5py/h5o.pyx":128
- *         newcopy = ObjInfo()
- *         newcopy.infostruct = self.infostruct
- *         return newcopy             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_newcopy));
-  __pyx_r = ((PyObject *)__pyx_v_newcopy);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o.ObjInfo.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_newcopy);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_7ObjInfo_3hdr___get__(((struct __pyx_obj_4h5py_3h5o_ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":114
- * 
- *     cdef H5O_info_t infostruct
- *     cdef public _OHdr hdr             # <<<<<<<<<<<<<<
- * 
- *     def __init__(self):
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_7ObjInfo_3hdr___get__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self->hdr));
-  __pyx_r = ((PyObject *)__pyx_v_self->hdr);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static int __pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_3__set__(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__set__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_7ObjInfo_3hdr_2__set__(((struct __pyx_obj_4h5py_3h5o_ObjInfo *)__pyx_v_self), ((PyObject *)__pyx_v_value));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static int __pyx_pf_4h5py_3h5o_7ObjInfo_3hdr_2__set__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self, PyObject *__pyx_v_value) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__set__", 0);
-  if (!(likely(((__pyx_v_value) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_value, __pyx_ptype_4h5py_3h5o__OHdr))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_INCREF(__pyx_v_value);
-  __Pyx_GIVEREF(__pyx_v_value);
-  __Pyx_GOTREF(__pyx_v_self->hdr);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->hdr));
-  __pyx_v_self->hdr = ((struct __pyx_obj_4h5py_3h5o__OHdr *)__pyx_v_value);
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5o.ObjInfo.hdr.__set__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_5__del__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_5__del__(PyObject *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__del__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5o_7ObjInfo_3hdr_4__del__(((struct __pyx_obj_4h5py_3h5o_ObjInfo *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static int __pyx_pf_4h5py_3h5o_7ObjInfo_3hdr_4__del__(struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__del__", 0);
-  __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __Pyx_GOTREF(__pyx_v_self->hdr);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->hdr));
-  __pyx_v_self->hdr = ((struct __pyx_obj_4h5py_3h5o__OHdr *)Py_None);
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_1get_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5o_get_info[] = "(ObjectID loc, STRING name=, INT index=, **kwds) => ObjInfo\n\n    Get information describing an object in an HDF5 file.  Provide the object\n    itself, or the containing group and exactly one of \"name\" or \"index\".\n\n    STRING obj_name (\".\")\n        When \"index\" is specified, look in this subgroup instead.\n        Otherwise ignored.\n\n    PropID lapl (None)\n        Link access property list\n\n    INT index_type (h5.INDEX_NAME [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5o_1get_info = {__Pyx_NAMESTR("get_info"), (PyCFunction)__pyx_pw_4h5py_3h5o_1get_info, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5o_get_info)};
-static PyObject *__pyx_pw_4h5py_3h5o_1get_info(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  int __pyx_v_index;
-  char *__pyx_v_obj_name;
-  int __pyx_v_index_type;
-  int __pyx_v_order;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_info (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__index,&__pyx_n_s__obj_name,&__pyx_n_s__index_type,&__pyx_n_s__order,&__pyx_n_s__lapl,0};
-    PyObject* values[7] = {0,0,0,0,0,0,0};
-
-    /* "h5py/h5o.pyx":133
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,
- *         char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *         PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name=, INT index=, **kwds) => ObjInfo
- * 
- */
-    values[6] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name);
-          if (value) { values[1] = value; kw_args--; }
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__index);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 4)) {
-        Py_ssize_t index;
-        for (index = 3; index < 7 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_info") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    if (values[1]) {
-      __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-
-      /* "h5py/h5o.pyx":131
- * 
- * 
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *         char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *         PropID lapl=None):
- */
-      __pyx_v_name = ((char *)NULL);
-    }
-    if (values[2]) {
-      __pyx_v_index = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_index == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index = ((int)-1);
-    }
-    if (values[3]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    if (values[4]) {
-      __pyx_v_index_type = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_index_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_index_type = __pyx_k_2;
-    }
-    if (values[5]) {
-      __pyx_v_order = __Pyx_PyInt_AsInt(values[5]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_order = __pyx_k_3;
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[6]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_info", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5o.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5o_get_info(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_index, __pyx_v_obj_name, __pyx_v_index_type, __pyx_v_order, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5o_get_info(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_index, char *__pyx_v_obj_name, int __pyx_v_index_type, int __pyx_v_order, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  struct __pyx_obj_4h5py_3h5o_ObjInfo *__pyx_v_info = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  herr_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_info", 0);
-
-  /* "h5py/h5o.pyx":151
- *     """
- *     cdef ObjInfo info
- *     info = ObjInfo()             # <<<<<<<<<<<<<<
- * 
- *     if name != NULL and index >= 0:
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5o_ObjInfo)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_info = ((struct __pyx_obj_4h5py_3h5o_ObjInfo *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5o.pyx":153
- *     info = ObjInfo()
- * 
- *     if name != NULL and index >= 0:             # <<<<<<<<<<<<<<
- *         raise TypeError("At most one of name or index may be specified")
- *     elif name != NULL and index < 0:
- */
-  __pyx_t_2 = (__pyx_v_name != NULL);
-  if (__pyx_t_2) {
-    __pyx_t_3 = (__pyx_v_index >= 0);
-    __pyx_t_4 = __pyx_t_3;
-  } else {
-    __pyx_t_4 = __pyx_t_2;
-  }
-  if (__pyx_t_4) {
-
-    /* "h5py/h5o.pyx":154
- * 
- *     if name != NULL and index >= 0:
- *         raise TypeError("At most one of name or index may be specified")             # <<<<<<<<<<<<<<
- *     elif name != NULL and index < 0:
- *         H5Oget_info_by_name(loc.id, name, &info.infostruct, pdefault(lapl))
- */
-    __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_5), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5o.pyx":155
- *     if name != NULL and index >= 0:
- *         raise TypeError("At most one of name or index may be specified")
- *     elif name != NULL and index < 0:             # <<<<<<<<<<<<<<
- *         H5Oget_info_by_name(loc.id, name, &info.infostruct, pdefault(lapl))
- *     elif name == NULL and index >= 0:
- */
-  __pyx_t_4 = (__pyx_v_name != NULL);
-  if (__pyx_t_4) {
-    __pyx_t_2 = (__pyx_v_index < 0);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_4;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/h5o.pyx":156
- *         raise TypeError("At most one of name or index may be specified")
- *     elif name != NULL and index < 0:
- *         H5Oget_info_by_name(loc.id, name, &info.infostruct, pdefault(lapl))             # <<<<<<<<<<<<<<
- *     elif name == NULL and index >= 0:
- *         H5Oget_info_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Oget_info_by_name(__pyx_v_loc->id, __pyx_v_name, (&__pyx_v_info->infostruct), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5o.pyx":157
- *     elif name != NULL and index < 0:
- *         H5Oget_info_by_name(loc.id, name, &info.infostruct, pdefault(lapl))
- *     elif name == NULL and index >= 0:             # <<<<<<<<<<<<<<
- *         H5Oget_info_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- *             <H5_iter_order_t>order, index, &info.infostruct, pdefault(lapl))
- */
-  __pyx_t_3 = (__pyx_v_name == NULL);
-  if (__pyx_t_3) {
-    __pyx_t_4 = (__pyx_v_index >= 0);
-    __pyx_t_2 = __pyx_t_4;
-  } else {
-    __pyx_t_2 = __pyx_t_3;
-  }
-  if (__pyx_t_2) {
-
-    /* "h5py/h5o.pyx":159
- *     elif name == NULL and index >= 0:
- *         H5Oget_info_by_idx(loc.id, obj_name, <H5_index_t>index_type,
- *             <H5_iter_order_t>order, index, &info.infostruct, pdefault(lapl))             # <<<<<<<<<<<<<<
- *     else:
- *         H5Oget_info(loc.id, &info.infostruct)
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Oget_info_by_idx(__pyx_v_loc->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_index_type), ((H5_iter_order_t)__pyx_v_order), __pyx_v_index, (&__pyx_v_info->infostruct), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5o.pyx":161
- *             <H5_iter_order_t>order, index, &info.infostruct, pdefault(lapl))
- *     else:
- *         H5Oget_info(loc.id, &info.infostruct)             # <<<<<<<<<<<<<<
- * 
- *     return info
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Oget_info(__pyx_v_loc->id, (&__pyx_v_info->infostruct)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5o.pyx":163
- *         H5Oget_info(loc.id, &info.infostruct)
- * 
- *     return info             # <<<<<<<<<<<<<<
- * 
- * # === General object operations ===============================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_info));
-  __pyx_r = ((PyObject *)__pyx_v_info);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o.get_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_info);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5o_2open[] = "(ObjectID loc, STRING name, PropID lapl=None) => ObjectID\n\n    Open a group, dataset, or named datatype attached to an existing group.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5o_3open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5o_3open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5o_2open)};
-static PyObject *__pyx_pw_4h5py_3h5o_3open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("open (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__lapl,0};
-    PyObject* values[3] = {0,0,0};
-
-    /* "h5py/h5o.pyx":168
- * 
- * 
- * def open(ObjectID loc not None, char* name, PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, PropID lapl=None) => ObjectID
- * 
- */
-    values[2] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("open", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[2]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("open", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5o.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5o_2open(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5o_2open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("open", 0);
-
-  /* "h5py/h5o.pyx":173
- *     Open a group, dataset, or named datatype attached to an existing group.
- *     """
- *     return wrap_identifier(H5Oopen(loc.id, name, pdefault(lapl)))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Oopen(__pyx_v_loc->id, __pyx_v_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5i_wrap_identifier(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5o.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_5link(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5o_4link[] = "(ObjectID obj, GroupID loc, STRING name, PropID lcpl=None,\n    PropID lapl=None)\n\n    Create a new hard link to an object.  Useful for objects created with\n    h5g.create_anon() or h5d.create_anon().\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5o_5link = {__Pyx_NAMESTR("link"), (PyCFunction)__pyx_pw_4h5py_3h5o_5link, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5o_4link)};
-static PyObject *__pyx_pw_4h5py_3h5o_5link(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj = 0;
-  struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("link (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__obj,&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__lcpl,&__pyx_n_s__lapl,0};
-    PyObject* values[5] = {0,0,0,0,0};
-
-    /* "h5py/h5o.pyx":177
- * 
- * def link(ObjectID obj not None, GroupID loc not None, char* name,
- *     PropID lcpl=None, PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID obj, GroupID loc, STRING name, PropID lcpl=None,
- *     PropID lapl=None)
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__obj)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("link", 0, 3, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("link", 0, 3, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[3] = value; kw_args--; }
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lapl);
-          if (value) { values[4] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "link") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_obj = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[1]);
-    __pyx_v_name = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("link", 0, 3, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5o.link", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_obj), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "obj", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_3h5g_GroupID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5o_4link(__pyx_self, __pyx_v_obj, __pyx_v_loc, __pyx_v_name, __pyx_v_lcpl, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":176
- * 
- * 
- * def link(ObjectID obj not None, GroupID loc not None, char* name,             # <<<<<<<<<<<<<<
- *     PropID lcpl=None, PropID lapl=None):
- *     """(ObjectID obj, GroupID loc, STRING name, PropID lcpl=None,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_4link(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_obj, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_loc, char *__pyx_v_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("link", 0);
-
-  /* "h5py/h5o.pyx":184
- *     h5g.create_anon() or h5d.create_anon().
- *     """
- *     H5Olink(obj.id, loc.id, name, pdefault(lcpl), pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Olink(__pyx_v_obj->id, __pyx_v_loc->__pyx_base.id, __pyx_v_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5o.link", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_7copy(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5o_6copy[] = "(ObjectID src_loc, STRING src_name, GroupID dst_loc, STRING dst_name,\n    PropID copypl=None, PropID lcpl=None)\n\n    Copy a group, dataset or named datatype from one location to another.  The\n    source and destination need not be in the same file.\n\n    The default behavior is a recursive copy of the object and all objects\n    below it.  This behavior is modified via the \"copypl\" property list.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5o_7copy = {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pw_4h5py_3h5o_7copy, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5o_6copy)};
-static PyObject *__pyx_pw_4h5py_3h5o_7copy(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_src_loc = 0;
-  char *__pyx_v_src_name;
-  struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_dst_loc = 0;
-  char *__pyx_v_dst_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_copypl = 0;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src_loc,&__pyx_n_s__src_name,&__pyx_n_s__dst_loc,&__pyx_n_s__dst_name,&__pyx_n_s__copypl,&__pyx_n_s__lcpl,0};
-    PyObject* values[6] = {0,0,0,0,0,0};
-
-    /* "h5py/h5o.pyx":188
- * 
- * def copy(ObjectID src_loc not None, char* src_name, GroupID dst_loc not None,
- *     char* dst_name, PropID copypl=None, PropID lcpl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID src_loc, STRING src_name, GroupID dst_loc, STRING dst_name,
- *     PropID copypl=None, PropID lcpl=None)
- */
-    values[4] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    values[5] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src_loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("copy", 0, 4, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst_loc)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("copy", 0, 4, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst_name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("copy", 0, 4, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__copypl);
-          if (value) { values[4] = value; kw_args--; }
-        }
-        case  5:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[5] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "copy") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_src_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_src_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_src_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_dst_loc = ((struct __pyx_obj_4h5py_3h5g_GroupID *)values[2]);
-    __pyx_v_dst_name = PyBytes_AsString(values[3]); if (unlikely((!__pyx_v_dst_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_copypl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[4]);
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[5]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("copy", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5o.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "src_loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst_loc), __pyx_ptype_4h5py_3h5g_GroupID, 0, "dst_loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_copypl), __pyx_ptype_4h5py_3h5p_PropID, 1, "copypl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5o_6copy(__pyx_self, __pyx_v_src_loc, __pyx_v_src_name, __pyx_v_dst_loc, __pyx_v_dst_name, __pyx_v_copypl, __pyx_v_lcpl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":187
- * 
- * 
- * def copy(ObjectID src_loc not None, char* src_name, GroupID dst_loc not None,             # <<<<<<<<<<<<<<
- *     char* dst_name, PropID copypl=None, PropID lcpl=None):
- *     """(ObjectID src_loc, STRING src_name, GroupID dst_loc, STRING dst_name,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_6copy(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_src_loc, char *__pyx_v_src_name, struct __pyx_obj_4h5py_3h5g_GroupID *__pyx_v_dst_loc, char *__pyx_v_dst_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_copypl, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lcpl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("copy", 0);
-
-  /* "h5py/h5o.pyx":199
- *     """
- *     H5Ocopy(src_loc.id, src_name, dst_loc.id, dst_name, pdefault(copypl),
- *         pdefault(lcpl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Ocopy(__pyx_v_src_loc->id, __pyx_v_src_name, __pyx_v_dst_loc->__pyx_base.id, __pyx_v_dst_name, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_copypl)), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lcpl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5o.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_9set_comment(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5o_8set_comment[] = "(ObjectID loc, STRING comment, **kwds)\n\n    Set the comment for any-file resident object.  Keywords:\n\n    STRING obj_name (\".\")\n        Set comment on this group member instead\n\n    PropID lapl (None)\n        Link access property list\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5o_9set_comment = {__Pyx_NAMESTR("set_comment"), (PyCFunction)__pyx_pw_4h5py_3h5o_9set_comment, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5o_8set_comment)};
-static PyObject *__pyx_pw_4h5py_3h5o_9set_comment(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_comment;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_comment (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__comment,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0};
-    PyObject* values[4] = {0,0,0,0};
-
-    /* "h5py/h5o.pyx":203
- * 
- * def set_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",
- *     PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING comment, **kwds)
- * 
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__comment)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 2)) {
-        Py_ssize_t index;
-        for (index = 2; index < 4 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_comment") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_comment = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_comment) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[2]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_comment", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5o.set_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5o_8set_comment(__pyx_self, __pyx_v_loc, __pyx_v_comment, __pyx_v_obj_name, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":202
- * 
- * 
- * def set_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",             # <<<<<<<<<<<<<<
- *     PropID lapl=None):
- *     """(ObjectID loc, STRING comment, **kwds)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_8set_comment(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_comment, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_comment", 0);
-
-  /* "h5py/h5o.pyx":214
- *         Link access property list
- *     """
- *     H5Oset_comment_by_name(loc.id, obj_name, comment, pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Oset_comment_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_comment, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5o.set_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_11get_comment(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5o_10get_comment[] = "(ObjectID loc, STRING comment, **kwds)\n\n    Get the comment for any-file resident object.  Keywords:\n\n    STRING obj_name (\".\")\n        Set comment on this group member instead\n\n    PropID lapl (None)\n        Link access property list\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5o_11get_comment = {__Pyx_NAMESTR("get_comment"), (PyCFunction)__pyx_pw_4h5py_3h5o_11get_comment, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5o_10get_comment)};
-static PyObject *__pyx_pw_4h5py_3h5o_11get_comment(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  CYTHON_UNUSED char *__pyx_v_comment;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_comment (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__comment,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,0};
-    PyObject* values[4] = {0,0,0,0};
-
-    /* "h5py/h5o.pyx":219
- * 
- * def get_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",
- *     PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING comment, **kwds)
- * 
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__comment)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("get_comment", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 2)) {
-        Py_ssize_t index;
-        for (index = 2; index < 4 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_comment") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_comment = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_comment) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[2]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[2]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[3]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_comment", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5o.get_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5o_10get_comment(__pyx_self, __pyx_v_loc, __pyx_v_comment, __pyx_v_obj_name, __pyx_v_lapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":218
- * 
- * 
- * def get_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",             # <<<<<<<<<<<<<<
- *     PropID lapl=None):
- *     """(ObjectID loc, STRING comment, **kwds)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_10get_comment(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, CYTHON_UNUSED char *__pyx_v_comment, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl) {
-  Py_ssize_t __pyx_v_size;
-  char *__pyx_v_buf;
-  char *__pyx_v_pstring;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_comment", 0);
-
-  /* "h5py/h5o.pyx":233
- *     cdef char* buf
- * 
- *     size = H5Oget_comment_by_name(loc.id, obj_name, NULL, 0, pdefault(lapl))             # <<<<<<<<<<<<<<
- *     buf = <char*>emalloc(size+1)
- *     try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Oget_comment_by_name(__pyx_v_loc->id, __pyx_v_obj_name, NULL, 0, __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_size = __pyx_t_1;
-
-  /* "h5py/h5o.pyx":234
- * 
- *     size = H5Oget_comment_by_name(loc.id, obj_name, NULL, 0, pdefault(lapl))
- *     buf = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
- *     try:
- *         H5Oget_comment_by_name(loc.id, obj_name, buf, size+1, pdefault(lapl))
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = ((char *)__pyx_t_2);
-
-  /* "h5py/h5o.pyx":235
- *     size = H5Oget_comment_by_name(loc.id, obj_name, NULL, 0, pdefault(lapl))
- *     buf = <char*>emalloc(size+1)
- *     try:             # <<<<<<<<<<<<<<
- *         H5Oget_comment_by_name(loc.id, obj_name, buf, size+1, pdefault(lapl))
- *         pstring = buf
- */
-  /*try:*/ {
-
-    /* "h5py/h5o.pyx":236
- *     buf = <char*>emalloc(size+1)
- *     try:
- *         H5Oget_comment_by_name(loc.id, obj_name, buf, size+1, pdefault(lapl))             # <<<<<<<<<<<<<<
- *         pstring = buf
- *     finally:
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Oget_comment_by_name(__pyx_v_loc->id, __pyx_v_obj_name, __pyx_v_buf, (__pyx_v_size + 1), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 236; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5o.pyx":237
- *     try:
- *         H5Oget_comment_by_name(loc.id, obj_name, buf, size+1, pdefault(lapl))
- *         pstring = buf             # <<<<<<<<<<<<<<
- *     finally:
- *         efree(buf)
- */
-    __pyx_v_pstring = __pyx_v_buf;
-  }
-
-  /* "h5py/h5o.pyx":239
- *         pstring = buf
- *     finally:
- *         efree(buf)             # <<<<<<<<<<<<<<
- * 
- *     return pstring
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/h5o.pyx":241
- *         efree(buf)
- * 
- *     return pstring             # <<<<<<<<<<<<<<
- * 
- * # === Visit routines ==========================================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = PyBytes_FromString(__pyx_v_pstring); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  __pyx_r = ((PyObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5o.get_comment", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5o_14_ObjectVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5o_14_ObjectVisitor_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_func = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__func,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 1) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-    }
-    __pyx_v_func = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5o._ObjectVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return -1;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5o_14_ObjectVisitor___init__(((struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)__pyx_v_self), __pyx_v_func);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":251
- *     cdef ObjInfo objinfo
- * 
- *     def __init__(self, func):             # <<<<<<<<<<<<<<
- *         self.func = func
- *         self.retval = None
- */
-
-static int __pyx_pf_4h5py_3h5o_14_ObjectVisitor___init__(struct __pyx_obj_4h5py_3h5o__ObjectVisitor *__pyx_v_self, PyObject *__pyx_v_func) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__init__", 0);
-
-  /* "h5py/h5o.pyx":252
- * 
- *     def __init__(self, func):
- *         self.func = func             # <<<<<<<<<<<<<<
- *         self.retval = None
- *         self.objinfo = ObjInfo()
- */
-  __Pyx_INCREF(__pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __Pyx_GOTREF(__pyx_v_self->func);
-  __Pyx_DECREF(__pyx_v_self->func);
-  __pyx_v_self->func = __pyx_v_func;
-
-  /* "h5py/h5o.pyx":253
- *     def __init__(self, func):
- *         self.func = func
- *         self.retval = None             # <<<<<<<<<<<<<<
- *         self.objinfo = ObjInfo()
- * 
- */
-  __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(Py_None);
-  __Pyx_GOTREF(__pyx_v_self->retval);
-  __Pyx_DECREF(__pyx_v_self->retval);
-  __pyx_v_self->retval = Py_None;
-
-  /* "h5py/h5o.pyx":254
- *         self.func = func
- *         self.retval = None
- *         self.objinfo = ObjInfo()             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t cb_obj_iterate(hid_t obj, char* name, H5O_info_t *info, void* data) except 2:
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5o_ObjInfo)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __Pyx_GOTREF(__pyx_v_self->objinfo);
-  __Pyx_DECREF(((PyObject *)__pyx_v_self->objinfo));
-  __pyx_v_self->objinfo = ((struct __pyx_obj_4h5py_3h5o_ObjInfo *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5o._ObjectVisitor.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":256
- *         self.objinfo = ObjInfo()
- * 
- * cdef herr_t cb_obj_iterate(hid_t obj, char* name, H5O_info_t *info, void* data) except 2:             # <<<<<<<<<<<<<<
- * 
- *     cdef _ObjectVisitor visit
- */
-
-static herr_t __pyx_f_4h5py_3h5o_cb_obj_iterate(CYTHON_UNUSED hid_t __pyx_v_obj, char *__pyx_v_name, H5O_info_t *__pyx_v_info, void *__pyx_v_data) {
-  struct __pyx_obj_4h5py_3h5o__ObjectVisitor *__pyx_v_visit = 0;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cb_obj_iterate", 0);
-
-  /* "h5py/h5o.pyx":261
- * 
- *     # HDF5 doesn't respect callback return for ".", so skip it
- *     if strcmp(name, ".") == 0:             # <<<<<<<<<<<<<<
- *         return 0
- * 
- */
-  __pyx_t_1 = (strcmp(__pyx_v_name, __pyx_k_1) == 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5o.pyx":262
- *     # HDF5 doesn't respect callback return for ".", so skip it
- *     if strcmp(name, ".") == 0:
- *         return 0             # <<<<<<<<<<<<<<
- * 
- *     visit = <_ObjectVisitor>data
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5o.pyx":264
- *         return 0
- * 
- *     visit = <_ObjectVisitor>data             # <<<<<<<<<<<<<<
- *     visit.objinfo.infostruct = info[0]
- *     visit.retval = visit.func(name, visit.objinfo)
- */
-  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)__pyx_v_data)));
-  __pyx_v_visit = ((struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)__pyx_v_data);
-
-  /* "h5py/h5o.pyx":265
- * 
- *     visit = <_ObjectVisitor>data
- *     visit.objinfo.infostruct = info[0]             # <<<<<<<<<<<<<<
- *     visit.retval = visit.func(name, visit.objinfo)
- * 
- */
-  __pyx_v_visit->objinfo->infostruct = (__pyx_v_info[0]);
-
-  /* "h5py/h5o.pyx":266
- *     visit = <_ObjectVisitor>data
- *     visit.objinfo.infostruct = info[0]
- *     visit.retval = visit.func(name, visit.objinfo)             # <<<<<<<<<<<<<<
- * 
- *     if visit.retval is not None:
- */
-  __pyx_t_2 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
-  __Pyx_INCREF(((PyObject *)__pyx_v_visit->objinfo));
-  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_visit->objinfo));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_visit->objinfo));
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_v_visit->func, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __Pyx_GIVEREF(__pyx_t_2);
-  __Pyx_GOTREF(__pyx_v_visit->retval);
-  __Pyx_DECREF(__pyx_v_visit->retval);
-  __pyx_v_visit->retval = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5o.pyx":268
- *     visit.retval = visit.func(name, visit.objinfo)
- * 
- *     if visit.retval is not None:             # <<<<<<<<<<<<<<
- *         return 1
- *     return 0
- */
-  __pyx_t_1 = (__pyx_v_visit->retval != Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5o.pyx":269
- * 
- *     if visit.retval is not None:
- *         return 1             # <<<<<<<<<<<<<<
- *     return 0
- * 
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5o.pyx":270
- *     if visit.retval is not None:
- *         return 1
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef herr_t cb_obj_simple(hid_t obj, char* name, H5O_info_t *info, void* data) except 2:
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5o.cb_obj_iterate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 2;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_visit);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":272
- *     return 0
- * 
- * cdef herr_t cb_obj_simple(hid_t obj, char* name, H5O_info_t *info, void* data) except 2:             # <<<<<<<<<<<<<<
- * 
- *     cdef _ObjectVisitor visit
- */
-
-static herr_t __pyx_f_4h5py_3h5o_cb_obj_simple(CYTHON_UNUSED hid_t __pyx_v_obj, char *__pyx_v_name, CYTHON_UNUSED H5O_info_t *__pyx_v_info, void *__pyx_v_data) {
-  struct __pyx_obj_4h5py_3h5o__ObjectVisitor *__pyx_v_visit = 0;
-  herr_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("cb_obj_simple", 0);
-
-  /* "h5py/h5o.pyx":277
- * 
- *     # Not all versions of HDF5 respect callback value for ".", so skip it
- *     if strcmp(name, ".") == 0:             # <<<<<<<<<<<<<<
- *         return 0
- * 
- */
-  __pyx_t_1 = (strcmp(__pyx_v_name, __pyx_k_1) == 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5o.pyx":278
- *     # Not all versions of HDF5 respect callback value for ".", so skip it
- *     if strcmp(name, ".") == 0:
- *         return 0             # <<<<<<<<<<<<<<
- * 
- *     visit = <_ObjectVisitor>data
- */
-    __pyx_r = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5o.pyx":280
- *         return 0
- * 
- *     visit = <_ObjectVisitor>data             # <<<<<<<<<<<<<<
- *     visit.retval = visit.func(name)
- * 
- */
-  __Pyx_INCREF(((PyObject *)((struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)__pyx_v_data)));
-  __pyx_v_visit = ((struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)__pyx_v_data);
-
-  /* "h5py/h5o.pyx":281
- * 
- *     visit = <_ObjectVisitor>data
- *     visit.retval = visit.func(name)             # <<<<<<<<<<<<<<
- * 
- *     if visit.retval is not None:
- */
-  __pyx_t_2 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_2));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_v_visit->func, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __Pyx_GIVEREF(__pyx_t_2);
-  __Pyx_GOTREF(__pyx_v_visit->retval);
-  __Pyx_DECREF(__pyx_v_visit->retval);
-  __pyx_v_visit->retval = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5o.pyx":283
- *     visit.retval = visit.func(name)
- * 
- *     if visit.retval is not None:             # <<<<<<<<<<<<<<
- *         return 1
- *     return 0
- */
-  __pyx_t_1 = (__pyx_v_visit->retval != Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5o.pyx":284
- * 
- *     if visit.retval is not None:
- *         return 1             # <<<<<<<<<<<<<<
- *     return 0
- * 
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5o.pyx":285
- *     if visit.retval is not None:
- *         return 1
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5o.cb_obj_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 2;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_visit);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5o_13visit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5o_12visit[] = "(ObjectID loc, CALLABLE func, **kwds) => <Return value from func>\n\n    Iterate a function or callable object over all objects below the\n    specified one.  Your callable should conform to the signature::\n\n        func(STRING name) => Result\n\n    or if the keyword argument \"info\" is True::\n\n        func(STRING name, ObjInfo info) => Result\n\n    Returning None continues iteration; returning anything else aborts\n    iteration and r [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5o_13visit = {__Pyx_NAMESTR("visit"), (PyCFunction)__pyx_pw_4h5py_3h5o_13visit, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5o_12visit)};
-static PyObject *__pyx_pw_4h5py_3h5o_13visit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  PyObject *__pyx_v_func = 0;
-  int __pyx_v_idx_type;
-  int __pyx_v_order;
-  char *__pyx_v_obj_name;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl = 0;
-  int __pyx_v_info;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("visit (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__func,&__pyx_n_s__idx_type,&__pyx_n_s__order,&__pyx_n_s__obj_name,&__pyx_n_s__lapl,&__pyx_n_s__info,0};
-    PyObject* values[7] = {0,0,0,0,0,0,0};
-
-    /* "h5py/h5o.pyx":290
- * def visit(ObjectID loc not None, object func, *,
- *           int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *           char* obj_name=".", PropID lapl=None, bint info=0):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, CALLABLE func, **kwds) => <Return value from func>
- * 
- */
-    values[5] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__func)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("visit", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (kw_args > 0 && likely(kw_args <= 5)) {
-        Py_ssize_t index;
-        for (index = 2; index < 7 && kw_args > 0; index++) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, *__pyx_pyargnames[index]);
-          if (value) { values[index] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "visit") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_func = values[1];
-    if (values[2]) {
-      __pyx_v_idx_type = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_idx_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_idx_type = __pyx_k_6;
-    }
-    if (values[3]) {
-      __pyx_v_order = __Pyx_PyInt_AsInt(values[3]); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_order = __pyx_k_7;
-    }
-    if (values[4]) {
-      __pyx_v_obj_name = PyBytes_AsString(values[4]); if (unlikely((!__pyx_v_obj_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_obj_name = ((char *)__pyx_k_1);
-    }
-    __pyx_v_lapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[5]);
-    if (values[6]) {
-      __pyx_v_info = __Pyx_PyObject_IsTrue(values[6]); if (unlikely((__pyx_v_info == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_info = ((int)0);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("visit", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5o.visit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "lapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5o_12visit(__pyx_self, __pyx_v_loc, __pyx_v_func, __pyx_v_idx_type, __pyx_v_order, __pyx_v_obj_name, __pyx_v_lapl, __pyx_v_info);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5o.pyx":288
- * 
- * 
- * def visit(ObjectID loc not None, object func, *,             # <<<<<<<<<<<<<<
- *           int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *           char* obj_name=".", PropID lapl=None, bint info=0):
- */
-
-static PyObject *__pyx_pf_4h5py_3h5o_12visit(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, PyObject *__pyx_v_func, int __pyx_v_idx_type, int __pyx_v_order, char *__pyx_v_obj_name, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_lapl, int __pyx_v_info) {
-  struct __pyx_obj_4h5py_3h5o__ObjectVisitor *__pyx_v_visit = 0;
-  H5O_iterate_t __pyx_v_cfunc;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  herr_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("visit", 0);
-
-  /* "h5py/h5o.pyx":325
- *     provides a literal "." as the first value.
- *     """
- *     cdef _ObjectVisitor visit = _ObjectVisitor(func)             # <<<<<<<<<<<<<<
- *     cdef H5O_iterate_t cfunc
- * 
- */
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(__pyx_v_func);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_func);
-  __Pyx_GIVEREF(__pyx_v_func);
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5o__ObjectVisitor)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_v_visit = ((struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5o.pyx":328
- *     cdef H5O_iterate_t cfunc
- * 
- *     if info:             # <<<<<<<<<<<<<<
- *         cfunc = cb_obj_iterate
- *     else:
- */
-  if (__pyx_v_info) {
-
-    /* "h5py/h5o.pyx":329
- * 
- *     if info:
- *         cfunc = cb_obj_iterate             # <<<<<<<<<<<<<<
- *     else:
- *         cfunc = cb_obj_simple
- */
-    __pyx_v_cfunc = __pyx_f_4h5py_3h5o_cb_obj_iterate;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5o.pyx":331
- *         cfunc = cb_obj_iterate
- *     else:
- *         cfunc = cb_obj_simple             # <<<<<<<<<<<<<<
- * 
- *     H5Ovisit_by_name(loc.id, obj_name, <H5_index_t>idx_type,
- */
-    __pyx_v_cfunc = __pyx_f_4h5py_3h5o_cb_obj_simple;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5o.pyx":334
- * 
- *     H5Ovisit_by_name(loc.id, obj_name, <H5_index_t>idx_type,
- *         <H5_iter_order_t>order, cfunc, <void*>visit, pdefault(lapl))             # <<<<<<<<<<<<<<
- * 
- *     return visit.retval
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Ovisit_by_name(__pyx_v_loc->id, __pyx_v_obj_name, ((H5_index_t)__pyx_v_idx_type), ((H5_iter_order_t)__pyx_v_order), __pyx_v_cfunc, ((void *)__pyx_v_visit), __pyx_f_4h5py_8_objects_pdefault(((struct __pyx_obj_4h5py_8_objects_ObjectID *)__pyx_v_lapl))); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5o.pyx":336
- *         <H5_iter_order_t>order, cfunc, <void*>visit, pdefault(lapl))
- * 
- *     return visit.retval             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_visit->retval);
-  __pyx_r = __pyx_v_visit->retval;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5o.visit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_visit);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5o__ObjInfoBase(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5o__ObjInfoBase(PyObject *o) {
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5o__ObjInfoBase[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__ObjInfoBase = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__ObjInfoBase = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__ObjInfoBase = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__ObjInfoBase = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5o__ObjInfoBase = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5o._ObjInfoBase"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5o__ObjInfoBase), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5o__ObjInfoBase, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__ObjInfoBase, /*tp_as_number*/
-  &__pyx_tp_as_sequence__ObjInfoBase, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__ObjInfoBase, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__ObjInfoBase, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  0, /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5o__ObjInfoBase, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5o__ObjInfoBase, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5o__OHdrMesg(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5o__ObjInfoBase(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_9_OHdrMesg_present(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_9_OHdrMesg_7present_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_9_OHdrMesg_shared(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_9_OHdrMesg_6shared_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5o__OHdrMesg[] = {
-  {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pw_4h5py_3h5o_9_OHdrMesg_1_hash, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5o__OHdrMesg[] = {
-  {(char *)"present", __pyx_getprop_4h5py_3h5o_9_OHdrMesg_present, 0, 0, 0},
-  {(char *)"shared", __pyx_getprop_4h5py_3h5o_9_OHdrMesg_shared, 0, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__OHdrMesg = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__OHdrMesg = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__OHdrMesg = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__OHdrMesg = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5o__OHdrMesg = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5o._OHdrMesg"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5o__OHdrMesg), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5o__ObjInfoBase, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__OHdrMesg, /*tp_as_number*/
-  &__pyx_tp_as_sequence__OHdrMesg, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__OHdrMesg, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__OHdrMesg, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  0, /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5o__OHdrMesg, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5o__OHdrMesg, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5o__OHdrMesg, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5o__OHdrSpace(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5o__ObjInfoBase(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_10_OHdrSpace_total(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_10_OHdrSpace_5total_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_10_OHdrSpace_meta(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_10_OHdrSpace_4meta_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_10_OHdrSpace_mesg(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_10_OHdrSpace_4mesg_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_10_OHdrSpace_free(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_10_OHdrSpace_4free_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5o__OHdrSpace[] = {
-  {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pw_4h5py_3h5o_10_OHdrSpace_1_hash, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5o__OHdrSpace[] = {
-  {(char *)"total", __pyx_getprop_4h5py_3h5o_10_OHdrSpace_total, 0, 0, 0},
-  {(char *)"meta", __pyx_getprop_4h5py_3h5o_10_OHdrSpace_meta, 0, 0, 0},
-  {(char *)"mesg", __pyx_getprop_4h5py_3h5o_10_OHdrSpace_mesg, 0, 0, 0},
-  {(char *)"free", __pyx_getprop_4h5py_3h5o_10_OHdrSpace_free, 0, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__OHdrSpace = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__OHdrSpace = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__OHdrSpace = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__OHdrSpace = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5o__OHdrSpace = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5o._OHdrSpace"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5o__OHdrSpace), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5o__ObjInfoBase, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__OHdrSpace, /*tp_as_number*/
-  &__pyx_tp_as_sequence__OHdrSpace, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__OHdrSpace, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__OHdrSpace, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  0, /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5o__OHdrSpace, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5o__OHdrSpace, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5o__OHdrSpace, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5o__OHdr(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5o__OHdr *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5o__ObjInfoBase(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5o__OHdr *)o);
-  p->space = ((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)Py_None); Py_INCREF(Py_None);
-  p->mesg = ((struct __pyx_obj_4h5py_3h5o__OHdrMesg *)Py_None); Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5o__OHdr(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5o__OHdr *p = (struct __pyx_obj_4h5py_3h5o__OHdr *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->space);
-  Py_CLEAR(p->mesg);
-  PyObject_GC_Track(o);
-  __pyx_tp_dealloc_4h5py_3h5o__ObjInfoBase(o);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5o__OHdr(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5o__OHdr *p = (struct __pyx_obj_4h5py_3h5o__OHdr *)o;
-  e = ((likely(__pyx_ptype_4h5py_3h5o__ObjInfoBase)) ? ((__pyx_ptype_4h5py_3h5o__ObjInfoBase->tp_traverse) ? __pyx_ptype_4h5py_3h5o__ObjInfoBase->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5o__OHdr)); if (e) return e;
-  if (p->space) {
-    e = (*v)(((PyObject*)p->space), a); if (e) return e;
-  }
-  if (p->mesg) {
-    e = (*v)(((PyObject*)p->mesg), a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5o__OHdr(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5o__OHdr *p = (struct __pyx_obj_4h5py_3h5o__OHdr *)o;
-  PyObject* tmp;
-  if (likely(__pyx_ptype_4h5py_3h5o__ObjInfoBase)) { if (__pyx_ptype_4h5py_3h5o__ObjInfoBase->tp_clear) __pyx_ptype_4h5py_3h5o__ObjInfoBase->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5o__OHdr);
-  tmp = ((PyObject*)p->space);
-  p->space = ((struct __pyx_obj_4h5py_3h5o__OHdrSpace *)Py_None); Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->mesg);
-  p->mesg = ((struct __pyx_obj_4h5py_3h5o__OHdrMesg *)Py_None); Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_5_OHdr_version(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_5_OHdr_7version_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_5_OHdr_nmesgs(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_5_OHdr_6nmesgs_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_5_OHdr_space(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_5_OHdr_5space_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_3h5o_5_OHdr_space(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_3h5o_5_OHdr_5space_3__set__(o, v);
-  }
-  else {
-    return __pyx_pw_4h5py_3h5o_5_OHdr_5space_5__del__(o);
-  }
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_5_OHdr_mesg(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_5_OHdr_4mesg_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_3h5o_5_OHdr_mesg(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_3h5o_5_OHdr_4mesg_3__set__(o, v);
-  }
-  else {
-    return __pyx_pw_4h5py_3h5o_5_OHdr_4mesg_5__del__(o);
-  }
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5o__OHdr[] = {
-  {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pw_4h5py_3h5o_5_OHdr_3_hash, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5o__OHdr[] = {
-  {(char *)"version", __pyx_getprop_4h5py_3h5o_5_OHdr_version, 0, 0, 0},
-  {(char *)"nmesgs", __pyx_getprop_4h5py_3h5o_5_OHdr_nmesgs, 0, 0, 0},
-  {(char *)"space", __pyx_getprop_4h5py_3h5o_5_OHdr_space, __pyx_setprop_4h5py_3h5o_5_OHdr_space, 0, 0},
-  {(char *)"mesg", __pyx_getprop_4h5py_3h5o_5_OHdr_mesg, __pyx_setprop_4h5py_3h5o_5_OHdr_mesg, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__OHdr = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__OHdr = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__OHdr = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__OHdr = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5o__OHdr = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5o._OHdr"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5o__OHdr), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5o__OHdr, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__OHdr, /*tp_as_number*/
-  &__pyx_tp_as_sequence__OHdr, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__OHdr, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__OHdr, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  0, /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5o__OHdr, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5o__OHdr, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5o__OHdr, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5o__OHdr, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5o_5_OHdr_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5o__OHdr, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5o__ObjInfo(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5o__ObjInfoBase(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_8_ObjInfo_fileno(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_8_ObjInfo_6fileno_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_8_ObjInfo_addr(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_8_ObjInfo_4addr_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_8_ObjInfo_type(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_8_ObjInfo_4type_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_8_ObjInfo_rc(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_8_ObjInfo_2rc_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5o__ObjInfo[] = {
-  {__Pyx_NAMESTR("_hash"), (PyCFunction)__pyx_pw_4h5py_3h5o_8_ObjInfo_1_hash, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5o__ObjInfo[] = {
-  {(char *)"fileno", __pyx_getprop_4h5py_3h5o_8_ObjInfo_fileno, 0, 0, 0},
-  {(char *)"addr", __pyx_getprop_4h5py_3h5o_8_ObjInfo_addr, 0, 0, 0},
-  {(char *)"type", __pyx_getprop_4h5py_3h5o_8_ObjInfo_type, 0, 0, 0},
-  {(char *)"rc", __pyx_getprop_4h5py_3h5o_8_ObjInfo_rc, 0, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__ObjInfo = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__ObjInfo = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__ObjInfo = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__ObjInfo = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5o__ObjInfo = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5o._ObjInfo"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5o__ObjInfo), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5o__ObjInfoBase, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__ObjInfo, /*tp_as_number*/
-  &__pyx_tp_as_sequence__ObjInfo, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__ObjInfo, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__ObjInfo, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  0, /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5o__ObjInfo, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5o__ObjInfo, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5o__ObjInfo, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5o_ObjInfo(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5o_ObjInfo *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5o__ObjInfoBase(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5o_ObjInfo *)o);
-  p->hdr = ((struct __pyx_obj_4h5py_3h5o__OHdr *)Py_None); Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5o_ObjInfo(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5o_ObjInfo *p = (struct __pyx_obj_4h5py_3h5o_ObjInfo *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->hdr);
-  PyObject_GC_Track(o);
-  __pyx_tp_dealloc_4h5py_3h5o__ObjInfoBase(o);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5o_ObjInfo(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5o_ObjInfo *p = (struct __pyx_obj_4h5py_3h5o_ObjInfo *)o;
-  e = ((likely(__pyx_ptype_4h5py_3h5o__ObjInfo)) ? ((__pyx_ptype_4h5py_3h5o__ObjInfo->tp_traverse) ? __pyx_ptype_4h5py_3h5o__ObjInfo->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5o_ObjInfo)); if (e) return e;
-  if (p->hdr) {
-    e = (*v)(((PyObject*)p->hdr), a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5o_ObjInfo(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5o_ObjInfo *p = (struct __pyx_obj_4h5py_3h5o_ObjInfo *)o;
-  PyObject* tmp;
-  if (likely(__pyx_ptype_4h5py_3h5o__ObjInfo)) { if (__pyx_ptype_4h5py_3h5o__ObjInfo->tp_clear) __pyx_ptype_4h5py_3h5o__ObjInfo->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5o_ObjInfo);
-  tmp = ((PyObject*)p->hdr);
-  p->hdr = ((struct __pyx_obj_4h5py_3h5o__OHdr *)Py_None); Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5o_7ObjInfo_hdr(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_1__get__(o);
-}
-
-static int __pyx_setprop_4h5py_3h5o_7ObjInfo_hdr(PyObject *o, PyObject *v, CYTHON_UNUSED void *x) {
-  if (v) {
-    return __pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_3__set__(o, v);
-  }
-  else {
-    return __pyx_pw_4h5py_3h5o_7ObjInfo_3hdr_5__del__(o);
-  }
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5o_ObjInfo[] = {
-  {__Pyx_NAMESTR("__copy__"), (PyCFunction)__pyx_pw_4h5py_3h5o_7ObjInfo_3__copy__, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5o_ObjInfo[] = {
-  {(char *)"hdr", __pyx_getprop_4h5py_3h5o_7ObjInfo_hdr, __pyx_setprop_4h5py_3h5o_7ObjInfo_hdr, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_ObjInfo = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_ObjInfo = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_ObjInfo = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_ObjInfo = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5o_ObjInfo = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5o.ObjInfo"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5o_ObjInfo), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5o_ObjInfo, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_ObjInfo, /*tp_as_number*/
-  &__pyx_tp_as_sequence_ObjInfo, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_ObjInfo, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_ObjInfo, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents the H5O_info_t structure\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5o_ObjInfo, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5o_ObjInfo, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5o_ObjInfo, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5o_ObjInfo, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5o_7ObjInfo_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5o_ObjInfo, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5o__ObjectVisitor(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
-  struct __pyx_obj_4h5py_3h5o__ObjectVisitor *p;
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)o);
-  p->func = Py_None; Py_INCREF(Py_None);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  p->objinfo = ((struct __pyx_obj_4h5py_3h5o_ObjInfo *)Py_None); Py_INCREF(Py_None);
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5o__ObjectVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5o__ObjectVisitor *p = (struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)o;
-  PyObject_GC_UnTrack(o);
-  Py_CLEAR(p->func);
-  Py_CLEAR(p->retval);
-  Py_CLEAR(p->objinfo);
-  PyObject_GC_Track(o);
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5o__ObjectVisitor(PyObject *o, visitproc v, void *a) {
-  int e;
-  struct __pyx_obj_4h5py_3h5o__ObjectVisitor *p = (struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)o;
-  if (p->func) {
-    e = (*v)(p->func, a); if (e) return e;
-  }
-  if (p->retval) {
-    e = (*v)(p->retval, a); if (e) return e;
-  }
-  if (p->objinfo) {
-    e = (*v)(((PyObject*)p->objinfo), a); if (e) return e;
-  }
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5o__ObjectVisitor(PyObject *o) {
-  struct __pyx_obj_4h5py_3h5o__ObjectVisitor *p = (struct __pyx_obj_4h5py_3h5o__ObjectVisitor *)o;
-  PyObject* tmp;
-  tmp = ((PyObject*)p->func);
-  p->func = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->retval);
-  p->retval = Py_None; Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  tmp = ((PyObject*)p->objinfo);
-  p->objinfo = ((struct __pyx_obj_4h5py_3h5o_ObjInfo *)Py_None); Py_INCREF(Py_None);
-  Py_XDECREF(tmp);
-  return 0;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5o__ObjectVisitor[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number__ObjectVisitor = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence__ObjectVisitor = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping__ObjectVisitor = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer__ObjectVisitor = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5o__ObjectVisitor = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5o._ObjectVisitor"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5o__ObjectVisitor), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5o__ObjectVisitor, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number__ObjectVisitor, /*tp_as_number*/
-  &__pyx_tp_as_sequence__ObjectVisitor, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping__ObjectVisitor, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer__ObjectVisitor, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  0, /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5o__ObjectVisitor, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5o__ObjectVisitor, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5o__ObjectVisitor, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  __pyx_pw_4h5py_3h5o_14_ObjectVisitor_1__init__, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5o__ObjectVisitor, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5o"),
-    __Pyx_DOCSTR(__pyx_k_8), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_n_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 1},
-  {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1},
-  {&__pyx_n_s_12, __pyx_k_12, sizeof(__pyx_k_12), 0, 0, 1, 1},
-  {&__pyx_n_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 1},
-  {&__pyx_n_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 1},
-  {&__pyx_kp_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 0},
-  {&__pyx_n_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 1},
-  {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
-  {&__pyx_n_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 1},
-  {&__pyx_n_s__TYPE_DATASET, __pyx_k__TYPE_DATASET, sizeof(__pyx_k__TYPE_DATASET), 0, 0, 1, 1},
-  {&__pyx_n_s__TYPE_GROUP, __pyx_k__TYPE_GROUP, sizeof(__pyx_k__TYPE_GROUP), 0, 0, 1, 1},
-  {&__pyx_n_s__TYPE_NAMED_DATATYPE, __pyx_k__TYPE_NAMED_DATATYPE, sizeof(__pyx_k__TYPE_NAMED_DATATYPE), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s__addr, __pyx_k__addr, sizeof(__pyx_k__addr), 0, 0, 1, 1},
-  {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1},
-  {&__pyx_n_s__cfunc, __pyx_k__cfunc, sizeof(__pyx_k__cfunc), 0, 0, 1, 1},
-  {&__pyx_n_s__comment, __pyx_k__comment, sizeof(__pyx_k__comment), 0, 0, 1, 1},
-  {&__pyx_n_s__copy, __pyx_k__copy, sizeof(__pyx_k__copy), 0, 0, 1, 1},
-  {&__pyx_n_s__copypl, __pyx_k__copypl, sizeof(__pyx_k__copypl), 0, 0, 1, 1},
-  {&__pyx_n_s__dst_loc, __pyx_k__dst_loc, sizeof(__pyx_k__dst_loc), 0, 0, 1, 1},
-  {&__pyx_n_s__dst_name, __pyx_k__dst_name, sizeof(__pyx_k__dst_name), 0, 0, 1, 1},
-  {&__pyx_n_s__fileno, __pyx_k__fileno, sizeof(__pyx_k__fileno), 0, 0, 1, 1},
-  {&__pyx_n_s__free, __pyx_k__free, sizeof(__pyx_k__free), 0, 0, 1, 1},
-  {&__pyx_n_s__func, __pyx_k__func, sizeof(__pyx_k__func), 0, 0, 1, 1},
-  {&__pyx_n_s__get_comment, __pyx_k__get_comment, sizeof(__pyx_k__get_comment), 0, 0, 1, 1},
-  {&__pyx_n_s__get_info, __pyx_k__get_info, sizeof(__pyx_k__get_info), 0, 0, 1, 1},
-  {&__pyx_n_s__idx_type, __pyx_k__idx_type, sizeof(__pyx_k__idx_type), 0, 0, 1, 1},
-  {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1},
-  {&__pyx_n_s__index_type, __pyx_k__index_type, sizeof(__pyx_k__index_type), 0, 0, 1, 1},
-  {&__pyx_n_s__info, __pyx_k__info, sizeof(__pyx_k__info), 0, 0, 1, 1},
-  {&__pyx_n_s__lapl, __pyx_k__lapl, sizeof(__pyx_k__lapl), 0, 0, 1, 1},
-  {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1},
-  {&__pyx_n_s__link, __pyx_k__link, sizeof(__pyx_k__link), 0, 0, 1, 1},
-  {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1},
-  {&__pyx_n_s__mesg, __pyx_k__mesg, sizeof(__pyx_k__mesg), 0, 0, 1, 1},
-  {&__pyx_n_s__meta, __pyx_k__meta, sizeof(__pyx_k__meta), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__nmesgs, __pyx_k__nmesgs, sizeof(__pyx_k__nmesgs), 0, 0, 1, 1},
-  {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1},
-  {&__pyx_n_s__obj_name, __pyx_k__obj_name, sizeof(__pyx_k__obj_name), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__order, __pyx_k__order, sizeof(__pyx_k__order), 0, 0, 1, 1},
-  {&__pyx_n_s__present, __pyx_k__present, sizeof(__pyx_k__present), 0, 0, 1, 1},
-  {&__pyx_n_s__pstring, __pyx_k__pstring, sizeof(__pyx_k__pstring), 0, 0, 1, 1},
-  {&__pyx_n_s__rc, __pyx_k__rc, sizeof(__pyx_k__rc), 0, 0, 1, 1},
-  {&__pyx_n_s__set_comment, __pyx_k__set_comment, sizeof(__pyx_k__set_comment), 0, 0, 1, 1},
-  {&__pyx_n_s__shared, __pyx_k__shared, sizeof(__pyx_k__shared), 0, 0, 1, 1},
-  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
-  {&__pyx_n_s__src_loc, __pyx_k__src_loc, sizeof(__pyx_k__src_loc), 0, 0, 1, 1},
-  {&__pyx_n_s__src_name, __pyx_k__src_name, sizeof(__pyx_k__src_name), 0, 0, 1, 1},
-  {&__pyx_n_s__total, __pyx_k__total, sizeof(__pyx_k__total), 0, 0, 1, 1},
-  {&__pyx_n_s__type, __pyx_k__type, sizeof(__pyx_k__type), 0, 0, 1, 1},
-  {&__pyx_n_s__version, __pyx_k__version, sizeof(__pyx_k__version), 0, 0, 1, 1},
-  {&__pyx_n_s__visit, __pyx_k__visit, sizeof(__pyx_k__visit), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5o.pyx":154
- * 
- *     if name != NULL and index >= 0:
- *         raise TypeError("At most one of name or index may be specified")             # <<<<<<<<<<<<<<
- *     elif name != NULL and index < 0:
- *         H5Oget_info_by_name(loc.id, name, &info.infostruct, pdefault(lapl))
- */
-  __pyx_k_tuple_5 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_4)); if (unlikely(!__pyx_k_tuple_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_5);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_5));
-
-  /* "h5py/h5o.pyx":131
- * 
- * 
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *         char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *         PropID lapl=None):
- */
-  __pyx_k_tuple_15 = PyTuple_Pack(8, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__index), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__index_type), ((PyObject *)__pyx_n_s__order), ((PyObject *)__pyx_n_s__lapl), ((PyObject *)__pyx_n_s__info)); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_15);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
-  __pyx_k_codeobj_16 = (PyObject*)__Pyx_PyCode_New(7, 4, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_17, __pyx_n_s__get_info, 131, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5o.pyx":168
- * 
- * 
- * def open(ObjectID loc not None, char* name, PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, PropID lapl=None) => ObjectID
- * 
- */
-  __pyx_k_tuple_19 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__lapl)); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_19);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));
-  __pyx_k_codeobj_20 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_17, __pyx_n_s__open, 168, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5o.pyx":176
- * 
- * 
- * def link(ObjectID obj not None, GroupID loc not None, char* name,             # <<<<<<<<<<<<<<
- *     PropID lcpl=None, PropID lapl=None):
- *     """(ObjectID obj, GroupID loc, STRING name, PropID lcpl=None,
- */
-  __pyx_k_tuple_21 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__obj), ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__lcpl), ((PyObject *)__pyx_n_s__lapl)); if (unlikely(!__pyx_k_tuple_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_21);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_21));
-  __pyx_k_codeobj_22 = (PyObject*)__Pyx_PyCode_New(5, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_17, __pyx_n_s__link, 176, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5o.pyx":187
- * 
- * 
- * def copy(ObjectID src_loc not None, char* src_name, GroupID dst_loc not None,             # <<<<<<<<<<<<<<
- *     char* dst_name, PropID copypl=None, PropID lcpl=None):
- *     """(ObjectID src_loc, STRING src_name, GroupID dst_loc, STRING dst_name,
- */
-  __pyx_k_tuple_23 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__src_loc), ((PyObject *)__pyx_n_s__src_name), ((PyObject *)__pyx_n_s__dst_loc), ((PyObject *)__pyx_n_s__dst_name), ((PyObject *)__pyx_n_s__copypl), ((PyObject *)__pyx_n_s__lcpl)); if (unlikely(!__pyx_k_tuple_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_23);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_23));
-  __pyx_k_codeobj_24 = (PyObject*)__Pyx_PyCode_New(6, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_17, __pyx_n_s__copy, 187, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5o.pyx":202
- * 
- * 
- * def set_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",             # <<<<<<<<<<<<<<
- *     PropID lapl=None):
- *     """(ObjectID loc, STRING comment, **kwds)
- */
-  __pyx_k_tuple_25 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__comment), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__lapl)); if (unlikely(!__pyx_k_tuple_25)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_25);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_25));
-  __pyx_k_codeobj_26 = (PyObject*)__Pyx_PyCode_New(4, 2, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_17, __pyx_n_s__set_comment, 202, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_26)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5o.pyx":218
- * 
- * 
- * def get_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",             # <<<<<<<<<<<<<<
- *     PropID lapl=None):
- *     """(ObjectID loc, STRING comment, **kwds)
- */
-  __pyx_k_tuple_27 = PyTuple_Pack(7, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__comment), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__lapl), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__buf), ((PyObject *)__pyx_n_s__pstring)); if (unlikely(!__pyx_k_tuple_27)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_27);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_27));
-  __pyx_k_codeobj_28 = (PyObject*)__Pyx_PyCode_New(4, 2, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_17, __pyx_n_s__get_comment, 218, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_28)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5o.pyx":288
- * 
- * 
- * def visit(ObjectID loc not None, object func, *,             # <<<<<<<<<<<<<<
- *           int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *           char* obj_name=".", PropID lapl=None, bint info=0):
- */
-  __pyx_k_tuple_29 = PyTuple_Pack(9, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__func), ((PyObject *)__pyx_n_s__idx_type), ((PyObject *)__pyx_n_s__order), ((PyObject *)__pyx_n_s__obj_name), ((PyObject *)__pyx_n_s__lapl), ((PyObject *)__pyx_n_s__info), ((PyObject *)__pyx_n_s__visit), ((PyObject *)__pyx_n_s__cfunc)); if (unlikely(!__pyx_k_tuple_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_29);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_29));
-  __pyx_k_codeobj_30 = (PyObject*)__Pyx_PyCode_New(7, 5, 9, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_17, __pyx_n_s__visit, 288, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_30)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5o(void); /*proto*/
-PyMODINIT_FUNC inith5o(void)
-#else
-PyMODINIT_FUNC PyInit_h5o(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5o(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5o(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5o"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_8), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5o")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5o", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5o) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_4h5py_3h5o__ObjInfoBase) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_ObjInfoBase", (PyObject *)&__pyx_type_4h5py_3h5o__ObjInfoBase) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5o__ObjInfoBase = &__pyx_type_4h5py_3h5o__ObjInfoBase;
-  __pyx_type_4h5py_3h5o__OHdrMesg.tp_base = __pyx_ptype_4h5py_3h5o__ObjInfoBase;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5o__OHdrMesg) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_OHdrMesg", (PyObject *)&__pyx_type_4h5py_3h5o__OHdrMesg) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5o__OHdrMesg = &__pyx_type_4h5py_3h5o__OHdrMesg;
-  __pyx_type_4h5py_3h5o__OHdrSpace.tp_base = __pyx_ptype_4h5py_3h5o__ObjInfoBase;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5o__OHdrSpace) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_OHdrSpace", (PyObject *)&__pyx_type_4h5py_3h5o__OHdrSpace) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5o__OHdrSpace = &__pyx_type_4h5py_3h5o__OHdrSpace;
-  __pyx_type_4h5py_3h5o__OHdr.tp_base = __pyx_ptype_4h5py_3h5o__ObjInfoBase;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5o__OHdr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_OHdr", (PyObject *)&__pyx_type_4h5py_3h5o__OHdr) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5o__OHdr = &__pyx_type_4h5py_3h5o__OHdr;
-  __pyx_type_4h5py_3h5o__ObjInfo.tp_base = __pyx_ptype_4h5py_3h5o__ObjInfoBase;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5o__ObjInfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_ObjInfo", (PyObject *)&__pyx_type_4h5py_3h5o__ObjInfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5o__ObjInfo = &__pyx_type_4h5py_3h5o__ObjInfo;
-  __pyx_type_4h5py_3h5o_ObjInfo.tp_base = __pyx_ptype_4h5py_3h5o__ObjInfo;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5o_ObjInfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "ObjInfo", (PyObject *)&__pyx_type_4h5py_3h5o_ObjInfo) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5o_ObjInfo = &__pyx_type_4h5py_3h5o_ObjInfo;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5o__ObjectVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "_ObjectVisitor", (PyObject *)&__pyx_type_4h5py_3h5o__ObjectVisitor) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5o__ObjectVisitor = &__pyx_type_4h5py_3h5o__ObjectVisitor;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5g_GroupID = __Pyx_ImportType("h5py.h5g", "GroupID", sizeof(struct __pyx_obj_4h5py_3h5g_GroupID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5g_GroupID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropID = __Pyx_ImportType("h5py.h5p", "PropID", sizeof(struct __pyx_obj_4h5py_3h5p_PropID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropClassID = __Pyx_ImportType("h5py.h5p", "PropClassID", sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropClassID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropInstanceID = __Pyx_ImportType("h5py.h5p", "PropInstanceID", sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropInstanceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCreateID = __Pyx_ImportType("h5py.h5p", "PropCreateID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCreateID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropCopyID = __Pyx_ImportType("h5py.h5p", "PropCopyID", sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropCopyID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropOCID = __Pyx_ImportType("h5py.h5p", "PropOCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropOCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropOCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDCID = __Pyx_ImportType("h5py.h5p", "PropDCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFCID = __Pyx_ImportType("h5py.h5p", "PropFCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropFAID = __Pyx_ImportType("h5py.h5p", "PropFAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropFAID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropDXID = __Pyx_ImportType("h5py.h5p", "PropDXID", sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropDXID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLCID = __Pyx_ImportType("h5py.h5p", "PropLCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropLAID = __Pyx_ImportType("h5py.h5p", "PropLAID", sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropLAID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5p_PropGCID = __Pyx_ImportType("h5py.h5p", "PropGCID", sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5p_PropGCID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Oopen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oopen, "hid_t (hid_t, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info, "herr_t (hid_t, H5O_info_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_name, "herr_t (hid_t, char *, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_info_by_idx", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_info_by_idx, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, hsize_t, H5O_info_t *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Olink", (void (**)(void))&__pyx_f_4h5py_4defs_H5Olink, "herr_t (hid_t, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Ocopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ocopy, "herr_t (hid_t, char *, hid_t, char *, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Oset_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oset_comment_by_name, "herr_t (hid_t, char *, char *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Oget_comment_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Oget_comment_by_name, "Py_ssize_t (hid_t, char *, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Ovisit_by_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Ovisit_by_name, "herr_t (hid_t, char *, H5_index_t, H5_iter_order_t, H5O_iterate_t, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_ImportModule("h5py.h5i"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "wrap_identifier", (void (**)(void))&__pyx_f_4h5py_3h5i_wrap_identifier, "struct __pyx_obj_4h5py_8_objects_ObjectID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_4 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_4, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5o.pyx":23
- * # === Public constants ========================================================
- * 
- * TYPE_GROUP = H5O_TYPE_GROUP             # <<<<<<<<<<<<<<
- * TYPE_DATASET = H5O_TYPE_DATASET
- * TYPE_NAMED_DATATYPE = H5O_TYPE_NAMED_DATATYPE
- */
-  __pyx_t_5 = PyInt_FromLong(H5O_TYPE_GROUP); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TYPE_GROUP, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":24
- * 
- * TYPE_GROUP = H5O_TYPE_GROUP
- * TYPE_DATASET = H5O_TYPE_DATASET             # <<<<<<<<<<<<<<
- * TYPE_NAMED_DATATYPE = H5O_TYPE_NAMED_DATATYPE
- * 
- */
-  __pyx_t_5 = PyInt_FromLong(H5O_TYPE_DATASET); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TYPE_DATASET, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":25
- * TYPE_GROUP = H5O_TYPE_GROUP
- * TYPE_DATASET = H5O_TYPE_DATASET
- * TYPE_NAMED_DATATYPE = H5O_TYPE_NAMED_DATATYPE             # <<<<<<<<<<<<<<
- * 
- * COPY_SHALLOW_HIERARCHY_FLAG = H5O_COPY_SHALLOW_HIERARCHY_FLAG
- */
-  __pyx_t_5 = PyInt_FromLong(H5O_TYPE_NAMED_DATATYPE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TYPE_NAMED_DATATYPE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":27
- * TYPE_NAMED_DATATYPE = H5O_TYPE_NAMED_DATATYPE
- * 
- * COPY_SHALLOW_HIERARCHY_FLAG = H5O_COPY_SHALLOW_HIERARCHY_FLAG             # <<<<<<<<<<<<<<
- * COPY_EXPAND_SOFT_LINK_FLAG  = H5O_COPY_EXPAND_SOFT_LINK_FLAG
- * COPY_EXPAND_EXT_LINK_FLAG   = H5O_COPY_EXPAND_EXT_LINK_FLAG
- */
-  __pyx_t_5 = PyLong_FromUnsignedLong(H5O_COPY_SHALLOW_HIERARCHY_FLAG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_9, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":28
- * 
- * COPY_SHALLOW_HIERARCHY_FLAG = H5O_COPY_SHALLOW_HIERARCHY_FLAG
- * COPY_EXPAND_SOFT_LINK_FLAG  = H5O_COPY_EXPAND_SOFT_LINK_FLAG             # <<<<<<<<<<<<<<
- * COPY_EXPAND_EXT_LINK_FLAG   = H5O_COPY_EXPAND_EXT_LINK_FLAG
- * COPY_EXPAND_REFERENCE_FLAG  = H5O_COPY_EXPAND_REFERENCE_FLAG
- */
-  __pyx_t_5 = PyLong_FromUnsignedLong(H5O_COPY_EXPAND_SOFT_LINK_FLAG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_10, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":29
- * COPY_SHALLOW_HIERARCHY_FLAG = H5O_COPY_SHALLOW_HIERARCHY_FLAG
- * COPY_EXPAND_SOFT_LINK_FLAG  = H5O_COPY_EXPAND_SOFT_LINK_FLAG
- * COPY_EXPAND_EXT_LINK_FLAG   = H5O_COPY_EXPAND_EXT_LINK_FLAG             # <<<<<<<<<<<<<<
- * COPY_EXPAND_REFERENCE_FLAG  = H5O_COPY_EXPAND_REFERENCE_FLAG
- * COPY_WITHOUT_ATTR_FLAG      = H5O_COPY_WITHOUT_ATTR_FLAG
- */
-  __pyx_t_5 = PyLong_FromUnsignedLong(H5O_COPY_EXPAND_EXT_LINK_FLAG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_11, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":30
- * COPY_EXPAND_SOFT_LINK_FLAG  = H5O_COPY_EXPAND_SOFT_LINK_FLAG
- * COPY_EXPAND_EXT_LINK_FLAG   = H5O_COPY_EXPAND_EXT_LINK_FLAG
- * COPY_EXPAND_REFERENCE_FLAG  = H5O_COPY_EXPAND_REFERENCE_FLAG             # <<<<<<<<<<<<<<
- * COPY_WITHOUT_ATTR_FLAG      = H5O_COPY_WITHOUT_ATTR_FLAG
- * COPY_PRESERVE_NULL_FLAG     = H5O_COPY_PRESERVE_NULL_FLAG
- */
-  __pyx_t_5 = PyLong_FromUnsignedLong(H5O_COPY_EXPAND_REFERENCE_FLAG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_12, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":31
- * COPY_EXPAND_EXT_LINK_FLAG   = H5O_COPY_EXPAND_EXT_LINK_FLAG
- * COPY_EXPAND_REFERENCE_FLAG  = H5O_COPY_EXPAND_REFERENCE_FLAG
- * COPY_WITHOUT_ATTR_FLAG      = H5O_COPY_WITHOUT_ATTR_FLAG             # <<<<<<<<<<<<<<
- * COPY_PRESERVE_NULL_FLAG     = H5O_COPY_PRESERVE_NULL_FLAG
- * 
- */
-  __pyx_t_5 = PyLong_FromUnsignedLong(H5O_COPY_WITHOUT_ATTR_FLAG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_13, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":32
- * COPY_EXPAND_REFERENCE_FLAG  = H5O_COPY_EXPAND_REFERENCE_FLAG
- * COPY_WITHOUT_ATTR_FLAG      = H5O_COPY_WITHOUT_ATTR_FLAG
- * COPY_PRESERVE_NULL_FLAG     = H5O_COPY_PRESERVE_NULL_FLAG             # <<<<<<<<<<<<<<
- * 
- * # === Giant H5O_info_t structure ==============================================
- */
-  __pyx_t_5 = PyLong_FromUnsignedLong(H5O_COPY_PRESERVE_NULL_FLAG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_14, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":132
- * 
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,
- *         char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,             # <<<<<<<<<<<<<<
- *         PropID lapl=None):
- *     """(ObjectID loc, STRING name=, INT index=, **kwds) => ObjInfo
- */
-  __pyx_k_2 = H5_INDEX_NAME;
-  __pyx_k_3 = H5_ITER_NATIVE;
-
-  /* "h5py/h5o.pyx":131
- * 
- * 
- * def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,             # <<<<<<<<<<<<<<
- *         char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *         PropID lapl=None):
- */
-  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5o_1get_info, NULL, __pyx_n_s_18); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_info, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":168
- * 
- * 
- * def open(ObjectID loc not None, char* name, PropID lapl=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, PropID lapl=None) => ObjectID
- * 
- */
-  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5o_3open, NULL, __pyx_n_s_18); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":176
- * 
- * 
- * def link(ObjectID obj not None, GroupID loc not None, char* name,             # <<<<<<<<<<<<<<
- *     PropID lcpl=None, PropID lapl=None):
- *     """(ObjectID obj, GroupID loc, STRING name, PropID lcpl=None,
- */
-  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5o_5link, NULL, __pyx_n_s_18); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__link, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":187
- * 
- * 
- * def copy(ObjectID src_loc not None, char* src_name, GroupID dst_loc not None,             # <<<<<<<<<<<<<<
- *     char* dst_name, PropID copypl=None, PropID lcpl=None):
- *     """(ObjectID src_loc, STRING src_name, GroupID dst_loc, STRING dst_name,
- */
-  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5o_7copy, NULL, __pyx_n_s_18); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__copy, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":202
- * 
- * 
- * def set_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",             # <<<<<<<<<<<<<<
- *     PropID lapl=None):
- *     """(ObjectID loc, STRING comment, **kwds)
- */
-  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5o_9set_comment, NULL, __pyx_n_s_18); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__set_comment, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":218
- * 
- * 
- * def get_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",             # <<<<<<<<<<<<<<
- *     PropID lapl=None):
- *     """(ObjectID loc, STRING comment, **kwds)
- */
-  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5o_11get_comment, NULL, __pyx_n_s_18); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_comment, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":289
- * 
- * def visit(ObjectID loc not None, object func, *,
- *           int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,             # <<<<<<<<<<<<<<
- *           char* obj_name=".", PropID lapl=None, bint info=0):
- *     """(ObjectID loc, CALLABLE func, **kwds) => <Return value from func>
- */
-  __pyx_k_6 = H5_INDEX_NAME;
-  __pyx_k_7 = H5_ITER_NATIVE;
-
-  /* "h5py/h5o.pyx":288
- * 
- * 
- * def visit(ObjectID loc not None, object func, *,             # <<<<<<<<<<<<<<
- *           int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
- *           char* obj_name=".", PropID lapl=None, bint info=0):
- */
-  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5o_13visit, NULL, __pyx_n_s_18); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__visit, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5o.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_5)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5o", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5o");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
-    PyObject *kwdict,
-    const char* function_name,
-    int kw_allowed)
-{
-    PyObject* key = 0;
-    Py_ssize_t pos = 0;
-#if CPYTHON_COMPILING_IN_PYPY
-    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
-        goto invalid_keyword;
-    return 1;
-#else
-    while (PyDict_Next(kwdict, &pos, &key, 0)) {
-        #if PY_MAJOR_VERSION < 3
-        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
-        #endif
-            if (unlikely(!PyUnicode_Check(key)))
-                goto invalid_keyword_type;
-    }
-    if ((!kw_allowed) && unlikely(key))
-        goto invalid_keyword;
-    return 1;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    return 0;
-#endif
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_traverse != current_tp_traverse)
-        type = type->tp_base;
-    while (type && type->tp_traverse == current_tp_traverse)
-        type = type->tp_base;
-    if (type && type->tp_traverse)
-        return type->tp_traverse(obj, v, a);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_clear != current_tp_clear)
-        type = type->tp_base;
-    while (type && type->tp_clear == current_tp_clear)
-        type = type->tp_base;
-    if (type && type->tp_clear)
-        type->tp_clear(obj);
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_haddr_t(haddr_t val) {
-    const haddr_t neg_one = (haddr_t)-1, const_zero = (haddr_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(haddr_t) == sizeof(char))  ||
-        (sizeof(haddr_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(haddr_t) == sizeof(int)) ||
-               (sizeof(haddr_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(haddr_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(haddr_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5o.pyx b/h5py/h5o.pyx
index 95aa2fe..f0e5289 100644
--- a/h5py/h5o.pyx
+++ b/h5py/h5o.pyx
@@ -11,6 +11,8 @@
     Module for HDF5 "H5O" functions.
 """
 
+include 'config.pxi'
+
 # Pyrex compile-time imports
 from _objects cimport ObjectID, pdefault
 from h5g cimport GroupID
@@ -18,6 +20,9 @@ from h5i cimport wrap_identifier
 from h5p cimport PropID
 from utils cimport emalloc, efree
 
+from ._objects import phil, with_phil
+
+
 # === Public constants ========================================================
 
 TYPE_GROUP = H5O_TYPE_GROUP
@@ -128,6 +133,7 @@ cdef class ObjInfo(_ObjInfo):
         return newcopy
 
 
+ at with_phil
 def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,
         char* obj_name='.', int index_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
         PropID lapl=None):
@@ -162,9 +168,20 @@ def get_info(ObjectID loc not None, char* name=NULL, int index=-1, *,
 
     return info
 
-# === General object operations ===============================================
 
+IF HDF5_VERSION >= (1, 8, 5):
+    @with_phil
+    def exists_by_name(ObjectID loc not None, char *name, PropID lapl=None):
+        """ (ObjectID loc, STRING name, PropID lapl=None) => BOOL exists
+
+        Determines whether a link resolves to an actual object.
+        """
+        return <bint>H5Oexists_by_name(loc.id, name, pdefault(lapl))
 
+
+# === General object operations ===============================================
+
+ at with_phil
 def open(ObjectID loc not None, char* name, PropID lapl=None):
     """(ObjectID loc, STRING name, PropID lapl=None) => ObjectID
 
@@ -173,6 +190,7 @@ def open(ObjectID loc not None, char* name, PropID lapl=None):
     return wrap_identifier(H5Oopen(loc.id, name, pdefault(lapl)))
 
 
+ at with_phil
 def link(ObjectID obj not None, GroupID loc not None, char* name,
     PropID lcpl=None, PropID lapl=None):
     """(ObjectID obj, GroupID loc, STRING name, PropID lcpl=None,
@@ -184,6 +202,7 @@ def link(ObjectID obj not None, GroupID loc not None, char* name,
     H5Olink(obj.id, loc.id, name, pdefault(lcpl), pdefault(lapl))
 
 
+ at with_phil
 def copy(ObjectID src_loc not None, char* src_name, GroupID dst_loc not None,
     char* dst_name, PropID copypl=None, PropID lcpl=None):
     """(ObjectID src_loc, STRING src_name, GroupID dst_loc, STRING dst_name,
@@ -199,6 +218,7 @@ def copy(ObjectID src_loc not None, char* src_name, GroupID dst_loc not None,
         pdefault(lcpl))
 
 
+ at with_phil
 def set_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",
     PropID lapl=None):
     """(ObjectID loc, STRING comment, **kwds)
@@ -214,7 +234,7 @@ def set_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",
     H5Oset_comment_by_name(loc.id, obj_name, comment, pdefault(lapl))
 
 
-
+ at with_phil
 def get_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",
     PropID lapl=None):
     """(ObjectID loc, STRING comment, **kwds)
@@ -240,6 +260,7 @@ def get_comment(ObjectID loc not None, char* comment, *, char* obj_name=".",
 
     return pstring
 
+
 # === Visit routines ==========================================================
 
 cdef class _ObjectVisitor:
@@ -285,6 +306,7 @@ cdef herr_t cb_obj_simple(hid_t obj, char* name, H5O_info_t *info, void* data) e
     return 0
 
 
+ at with_phil
 def visit(ObjectID loc not None, object func, *,
           int idx_type=H5_INDEX_NAME, int order=H5_ITER_NATIVE,
           char* obj_name=".", PropID lapl=None, bint info=0):
diff --git a/h5py/h5p.c b/h5py/h5p.c
deleted file mode 100644
index 1f31a3a..0000000
--- a/h5py/h5p.c
+++ /dev/null
@@ -1,13550 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5p
-#define __PYX_HAVE_API__h5py__h5p
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5p.pyx",
-  "h5p.pxd",
-  "numpy.pxd",
-  "h5t.pxd",
-  "h5ac.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5p_PropID;
-struct __pyx_obj_4h5py_3h5p_PropInstanceID;
-struct __pyx_obj_4h5py_3h5p_PropFAID;
-struct __pyx_obj_4h5py_4h5ac_CacheConfig;
-struct __pyx_obj_4h5py_3h5t_TypeID;
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID;
-struct __pyx_obj_4h5py_3h5p_PropCreateID;
-struct __pyx_obj_4h5py_3h5p_PropFCID;
-struct __pyx_obj_4h5py_3h5p_PropClassID;
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID;
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID;
-struct __pyx_obj_4h5py_3h5t_TypeVlenID;
-struct __pyx_obj_4h5py_3h5p_PropOCID;
-struct __pyx_obj_4h5py_3h5p_PropLCID;
-struct __pyx_obj_4h5py_3h5p_PropGCID;
-struct __pyx_obj_4h5py_3h5p_PropDCID;
-struct __pyx_obj_4h5py_3h5t_TypeTimeID;
-struct __pyx_obj_4h5py_3h5t_TypeArrayID;
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID;
-struct __pyx_obj_4h5py_3h5t_TypeFloatID;
-struct __pyx_obj_4h5py_3h5p_PropDAID;
-struct __pyx_obj_4h5py_3h5t_TypeStringID;
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID;
-struct __pyx_obj_4h5py_3h5t_TypeEnumID;
-struct __pyx_obj_4h5py_3h5p_PropCopyID;
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID;
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID;
-struct __pyx_obj_4h5py_3h5p_PropDXID;
-struct __pyx_obj_4h5py_3h5p_PropLAID;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-struct __pyx_opt_args_4h5py_3h5t_py_create;
-
-/* "h5t.pxd":69
- * 
- * cpdef TypeID typewrap(hid_t id_)
- * cpdef TypeID py_create(object dtype, bint logical=*)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-struct __pyx_opt_args_4h5py_3h5t_py_create {
-  int __pyx_n;
-  int logical;
-};
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5py/h5p.pxd":16
- * # --- Base classes ---
- * 
- * cdef class PropID(ObjectID):             # <<<<<<<<<<<<<<
- *     """ Base class for all property lists """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":26
- *     pass
- * 
- * cdef class PropInstanceID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an instance of a property list class (i.e. an actual list
- *         which can be passed on to other API functions).
- */
-struct __pyx_obj_4h5py_3h5p_PropInstanceID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":59
- * # --- Object access ---
- * 
- * cdef class PropFAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ File access property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5ac.pxd":12
- * from defs cimport *
- * 
- * cdef class CacheConfig:             # <<<<<<<<<<<<<<
- *     cdef H5AC_cache_config_t cache_config
- */
-struct __pyx_obj_4h5py_4h5ac_CacheConfig {
-  PyObject_HEAD
-  H5AC_cache_config_t cache_config;
-};
-
-
-/* "h5t.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self)
- */
-struct __pyx_obj_4h5py_3h5t_TypeID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
-};
-
-
-/* "h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":32
- *     pass
- * 
- * cdef class PropCreateID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Base class for all object creation lists.
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCreateID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":52
- *     pass
- * 
- * cdef class PropFCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ File creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropFCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":20
- *     pass
- * 
- * cdef class PropClassID(PropID):             # <<<<<<<<<<<<<<
- *     """ Represents an HDF5 property list class.  These can be either (locked)
- *         library-defined classes or user-created classes.
- */
-struct __pyx_obj_4h5py_3h5p_PropClassID {
-  struct __pyx_obj_4h5py_3h5p_PropID __pyx_base;
-};
-
-
-/* "h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeVlenID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":44
- * # --- Object creation ---
- * 
- * cdef class PropOCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Object creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropOCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":70
- * # --- New in 1.8 ---
- * 
- * cdef class PropLCID(PropCreateID):             # <<<<<<<<<<<<<<
- *     """ Link creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropLCID {
-  struct __pyx_obj_4h5py_3h5p_PropCreateID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":78
- *     cdef char* _buf
- * 
- * cdef class PropGCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Group creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropGCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":48
- *     pass
- * 
- * cdef class PropDCID(PropOCID):             # <<<<<<<<<<<<<<
- *     """ Dataset creation property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDCID {
-  struct __pyx_obj_4h5py_3h5p_PropOCID __pyx_base;
-};
-
-
-/* "h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeTimeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeArrayID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeFloatID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5py/h5p.pyx":1165
- * 
- * # Dataset access
- * cdef class PropDAID(PropInstanceID):             # <<<<<<<<<<<<<<
- * 
- *     """ Dataset access property list """
- */
-struct __pyx_obj_4h5py_3h5p_PropDAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeStringID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-struct __pyx_obj_4h5py_3h5t_TypeEnumID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":39
- *     pass
- * 
- * cdef class PropCopyID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Property list for copying objects (as in h5o.copy) """
- * 
- */
-struct __pyx_obj_4h5py_3h5p_PropCopyID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":63
- *     pass
- * 
- * cdef class PropDXID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Dataset transfer property list """
- *     pass
- */
-struct __pyx_obj_4h5py_3h5p_PropDXID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-};
-
-
-/* "h5py/h5p.pxd":74
- *     pass
- * 
- * cdef class PropLAID(PropInstanceID):             # <<<<<<<<<<<<<<
- *     """ Link access property list """
- *     cdef char* _buf
- */
-struct __pyx_obj_4h5py_3h5p_PropLAID {
-  struct __pyx_obj_4h5py_3h5p_PropInstanceID __pyx_base;
-  char *_buf;
-};
-
-
-
-/* "h5t.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self)
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
-  PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;
-
-
-/* "h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
-
-
-/* "h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
-
-
-/* "h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
-
-
-/* "h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
-
-
-/* "h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
-
-
-/* "h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
-
-
-/* "h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
-
-
-/* "h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;
-
-
-/* "h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
-
-
-/* "h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
-
-
-/* "h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
-
-
-/* "h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
-
-
-/* "h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-  int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-#define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_DelItemInt_Fast(o, i) : \
-                                                    __Pyx_DelItem_Generic(o, to_py_func(i)))
-static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) {
-    int r;
-    if (!j) return -1;
-    r = PyObject_DelItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_PYPY
-    if (PySequence_Check(o)) {
-        return PySequence_DelItem(o, i);
-    }
-#else
-    PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-    if (likely(m && m->sq_ass_item)) {
-        if (unlikely(i < 0) && likely(m->sq_length)) {
-            Py_ssize_t l = m->sq_length(o);
-            if (unlikely(l < 0)) return -1;
-            i += l;
-        }
-        return m->sq_ass_item(o, i, (PyObject *)NULL);
-    }
-#endif
-    return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
-    PyObject *r;
-    if (!j) return NULL;
-    r = PyObject_GetItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-#define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_List_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
-        PyObject *r = PyList_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Tuple_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
-        PyObject *r = PyTuple_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (PyList_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
-            PyObject *r = PyList_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    }
-    else if (PyTuple_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
-            PyObject *r = PyTuple_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    } else {  /* inlined PySequence_GetItem() */
-        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-        if (likely(m && m->sq_item)) {
-            if (unlikely(i < 0) && likely(m->sq_length)) {
-                Py_ssize_t l = m->sq_length(o);
-                if (unlikely(l < 0)) return NULL;
-                i += l;
-            }
-            return m->sq_item(o, i);
-        }
-    }
-#else
-    if (PySequence_Check(o)) {
-        return PySequence_GetItem(o, i);
-    }
-#endif
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *);
-
-static CYTHON_INLINE hbool_t __Pyx_PyInt_from_py_hbool_t(PyObject *);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hbool_t(hbool_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static void* __Pyx_GetVtable(PyObject *dict); /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static herr_t (*__pyx_f_4h5py_4defs_H5Fget_mdc_config)(hid_t, H5AC_cache_config_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Fset_mdc_config)(hid_t, H5AC_cache_config_t *); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Idec_ref)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Iget_ref)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Pcreate)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Pcopy)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Pget_class)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pclose)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Pequal)(hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pclose_class)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_version)(hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_userblock)(hid_t, hsize_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_userblock)(hid_t, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sizes)(hid_t, size_t, size_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sizes)(hid_t, size_t *, size_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fclose_degree)(hid_t, enum H5F_close_degree_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fclose_degree)(hid_t, enum H5F_close_degree_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_core)(hid_t, size_t, hbool_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_core)(hid_t, size_t *, hbool_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_family)(hid_t, hsize_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fapl_family)(hid_t, hsize_t *, hid_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_log)(hid_t, char *, unsigned int, size_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_cache)(hid_t, int, int, size_t, double); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_cache)(hid_t, int *, int *, size_t *, double *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_sec2)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fapl_stdio)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Pget_driver)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_layout)(hid_t, int); /*proto*/
-static H5D_layout_t (*__pyx_f_4h5py_4defs_H5Pget_layout)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk)(hid_t, int, hsize_t *); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Pget_chunk)(hid_t, int, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_deflate)(hid_t, int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_value)(hid_t, hid_t, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_value)(hid_t, hid_t, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pfill_value_defined)(hid_t, H5D_fill_value_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fill_time)(hid_t, H5D_fill_time_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_fill_time)(hid_t, H5D_fill_time_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_alloc_time)(hid_t, H5D_alloc_time_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_alloc_time)(hid_t, H5D_alloc_time_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_filter)(hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Pall_filters_avail)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Pget_nfilters)(hid_t); /*proto*/
-static H5Z_filter_t (*__pyx_f_4h5py_4defs_H5Pget_filter)(hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_filter_by_id)(hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Premove_filter)(hid_t, H5Z_filter_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_fletcher32)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_shuffle)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_szip)(hid_t, unsigned int, unsigned int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_scaleoffset)(hid_t, enum H5Z_SO_scale_type_t, int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_chunk_cache)(hid_t, size_t, size_t, double); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_chunk_cache)(hid_t, size_t *, size_t *, double *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size)(hid_t, size_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size)(hid_t, size_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_nlinks)(hid_t, size_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_nlinks)(hid_t, size_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_prefix)(hid_t, char *); /*proto*/
-static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Pget_elink_prefix)(hid_t, char *, size_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Pget_elink_fapl)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_elink_fapl)(hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group)(hid_t, unsigned int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group)(hid_t, unsigned int *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_copy_object)(hid_t, unsigned int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_copy_object)(hid_t, unsigned int *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_char_encoding)(hid_t, H5T_cset_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_char_encoding)(hid_t, H5T_cset_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_obj_track_times)(hid_t, hbool_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_obj_track_times)(hid_t, hbool_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_link_creation_order)(hid_t, unsigned int); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_link_creation_order)(hid_t, unsigned int *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pset_libver_bounds)(hid_t, H5F_libver_t, H5F_libver_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Pget_libver_bounds)(hid_t, H5F_libver_t *, H5F_libver_t *); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-static int (*__pyx_f_4h5py_5utils_check_numpy_read)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/
-static int (*__pyx_f_4h5py_5utils_check_numpy_write)(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/
-static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
-static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/
-static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/
-
-/* Module declarations from 'h5py.h5t' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
-static struct __pyx_obj_4h5py_3h5t_TypeID *(*__pyx_f_4h5py_3h5t_py_create)(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/
-
-/* Module declarations from 'h5py.h5ac' */
-static PyTypeObject *__pyx_ptype_4h5py_4h5ac_CacheConfig = 0;
-
-/* Module declarations from 'h5py.h5p' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropClassID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropInstanceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCreateID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropCopyID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropOCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropFAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDXID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropLAID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropGCID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5p_PropDAID = 0;
-static hid_t __pyx_f_4h5py_3h5p_pdefault(struct __pyx_obj_4h5py_3h5p_PropID *); /*proto*/
-static PyObject *__pyx_f_4h5py_3h5p_propwrap(hid_t); /*proto*/
-static PyObject *__pyx_f_4h5py_3h5p_lockcls(hid_t); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5p"
-int __pyx_module_is_main_h5py__h5p = 0;
-
-/* Implementation of 'h5py.h5p' */
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_builtin_NotImplemented;
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_RuntimeError;
-static PyObject *__pyx_pf_4h5py_3h5p_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_cls); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_6PropID_equal(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_plist); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */
-static Py_hash_t __pyx_pf_4h5py_3h5p_6PropID_4__hash__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */
-static Py_hash_t __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_copy(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_2_close(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_4get_class(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_get_version(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, hsize_t __pyx_v_size); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, size_t __pyx_v_addr, size_t __pyx_v_size); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_10set_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_12get_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_set_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_layout_code); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_chunksize); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_fill_time); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_alloc_time); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code, unsigned int __pyx_v_flags, PyObject *__pyx_v_values); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_idx); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_32get_filter_by_id(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_class); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_level); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_options, unsigned int __pyx_v_pixels_per_block); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_44set_scaleoffset(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, enum H5Z_SO_scale_type_t __pyx_v_scale_type, int __pyx_v_scale_factor); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_close_degree); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_block_size, hbool_t __pyx_v_backing_store); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hsize_t __pyx_v_memb_size, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, char *__pyx_v_logfile, unsigned int __pyx_v_flags, size_t __pyx_v_buf_size); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_18get_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_20set_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_mdc, int __pyx_v_rdcc, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_22get_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_24set_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_size); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_26get_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_28set_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_low, int __pyx_v_high); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_30get_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_32get_mdc_config(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_34set_mdc_config(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_encoding); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_create); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args); /* proto */
-static void __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, size_t __pyx_v_nlinks); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, char *__pyx_v_prefix); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_fapl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_set_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self, unsigned int __pyx_v_flags); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_2get_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_set_obj_track_times(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, PyObject *__pyx_v_track_times); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_2get_obj_track_times(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_set_chunk_cache(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, size_t __pyx_v_rdcc_nslots, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_2get_chunk_cache(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self); /* proto */
-static char __pyx_k_1[] = "No class found for ID %d";
-static char __pyx_k_2[] = "Property lists are unhashable";
-static char __pyx_k_5[] = "Filter index must be a non-negative integer";
-static char __pyx_k_7[] = "Failed to get hit rate";
-static char __pyx_k_10[] = "\n    HDF5 property list interface.\n";
-static char __pyx_k_13[] = "/home/computer/h5py/h5py/h5p.pyx";
-static char __pyx_k_14[] = "h5py.h5p";
-static char __pyx_k__cls[] = "cls";
-static char __pyx_k__low[] = "low";
-static char __pyx_k__mdc[] = "mdc";
-static char __pyx_k__addr[] = "addr";
-static char __pyx_k__h5py[] = "h5py";
-static char __pyx_k__high[] = "high";
-static char __pyx_k__lock[] = "lock";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__rdcc[] = "rdcc";
-static char __pyx_k__size[] = "size";
-static char __pyx_k__dtype[] = "dtype";
-static char __pyx_k__equal[] = "equal";
-static char __pyx_k__flags[] = "flags";
-static char __pyx_k__level[] = "level";
-static char __pyx_k__newid[] = "newid";
-static char __pyx_k__valid[] = "valid";
-static char __pyx_k__create[] = "create";
-static char __pyx_k__values[] = "values";
-static char __pyx_k__DEFAULT[] = "DEFAULT";
-static char __pyx_k__logfile[] = "logfile";
-static char __pyx_k__options[] = "options";
-static char __pyx_k__rdcc_w0[] = "rdcc_w0";
-static char __pyx_k__NO_CLASS[] = "NO_CLASS";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k___objects[] = "_objects";
-static char __pyx_k__buf_size[] = "buf_size";
-static char __pyx_k__registry[] = "registry";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__chunksize[] = "chunksize";
-static char __pyx_k__memb_fapl[] = "memb_fapl";
-static char __pyx_k__memb_size[] = "memb_size";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__block_size[] = "block_size";
-static char __pyx_k__get_filter[] = "get_filter";
-static char __pyx_k__scale_type[] = "scale_type";
-static char __pyx_k__FILE_ACCESS[] = "FILE_ACCESS";
-static char __pyx_k__FILE_CREATE[] = "FILE_CREATE";
-static char __pyx_k__LINK_ACCESS[] = "LINK_ACCESS";
-static char __pyx_k__LINK_CREATE[] = "LINK_CREATE";
-static char __pyx_k__OBJECT_COPY[] = "OBJECT_COPY";
-static char __pyx_k____richcmp__[] = "__richcmp__";
-static char __pyx_k___has_filter[] = "_has_filter";
-static char __pyx_k__filter_code[] = "filter_code";
-static char __pyx_k__rdcc_nbytes[] = "rdcc_nbytes";
-static char __pyx_k__rdcc_nslots[] = "rdcc_nslots";
-static char __pyx_k__DATASET_XFER[] = "DATASET_XFER";
-static char __pyx_k__GROUP_CREATE[] = "GROUP_CREATE";
-static char __pyx_k__RuntimeError[] = "RuntimeError";
-static char __pyx_k__get_nfilters[] = "get_nfilters";
-static char __pyx_k__scale_factor[] = "scale_factor";
-static char __pyx_k__OBJECT_CREATE[] = "OBJECT_CREATE";
-static char __pyx_k__backing_store[] = "backing_store";
-static char __pyx_k__DATASET_ACCESS[] = "DATASET_ACCESS";
-static char __pyx_k__DATASET_CREATE[] = "DATASET_CREATE";
-static char __pyx_k__NotImplemented[] = "NotImplemented";
-static char __pyx_k__pixels_per_block[] = "pixels_per_block";
-static char __pyx_k__CRT_ORDER_INDEXED[] = "CRT_ORDER_INDEXED";
-static char __pyx_k__CRT_ORDER_TRACKED[] = "CRT_ORDER_TRACKED";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_13;
-static PyObject *__pyx_n_s_14;
-static PyObject *__pyx_kp_s_2;
-static PyObject *__pyx_kp_s_5;
-static PyObject *__pyx_kp_s_7;
-static PyObject *__pyx_n_s__CRT_ORDER_INDEXED;
-static PyObject *__pyx_n_s__CRT_ORDER_TRACKED;
-static PyObject *__pyx_n_s__DATASET_ACCESS;
-static PyObject *__pyx_n_s__DATASET_CREATE;
-static PyObject *__pyx_n_s__DATASET_XFER;
-static PyObject *__pyx_n_s__DEFAULT;
-static PyObject *__pyx_n_s__FILE_ACCESS;
-static PyObject *__pyx_n_s__FILE_CREATE;
-static PyObject *__pyx_n_s__GROUP_CREATE;
-static PyObject *__pyx_n_s__LINK_ACCESS;
-static PyObject *__pyx_n_s__LINK_CREATE;
-static PyObject *__pyx_n_s__NO_CLASS;
-static PyObject *__pyx_n_s__NotImplemented;
-static PyObject *__pyx_n_s__OBJECT_COPY;
-static PyObject *__pyx_n_s__OBJECT_CREATE;
-static PyObject *__pyx_n_s__RuntimeError;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____richcmp__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___has_filter;
-static PyObject *__pyx_n_s___objects;
-static PyObject *__pyx_n_s__addr;
-static PyObject *__pyx_n_s__backing_store;
-static PyObject *__pyx_n_s__block_size;
-static PyObject *__pyx_n_s__buf_size;
-static PyObject *__pyx_n_s__cls;
-static PyObject *__pyx_n_s__create;
-static PyObject *__pyx_n_s__dtype;
-static PyObject *__pyx_n_s__equal;
-static PyObject *__pyx_n_s__filter_code;
-static PyObject *__pyx_n_s__flags;
-static PyObject *__pyx_n_s__get_filter;
-static PyObject *__pyx_n_s__get_nfilters;
-static PyObject *__pyx_n_s__h5py;
-static PyObject *__pyx_n_s__high;
-static PyObject *__pyx_n_s__level;
-static PyObject *__pyx_n_s__lock;
-static PyObject *__pyx_n_s__logfile;
-static PyObject *__pyx_n_s__low;
-static PyObject *__pyx_n_s__mdc;
-static PyObject *__pyx_n_s__memb_fapl;
-static PyObject *__pyx_n_s__memb_size;
-static PyObject *__pyx_n_s__newid;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__options;
-static PyObject *__pyx_n_s__pixels_per_block;
-static PyObject *__pyx_n_s__rdcc;
-static PyObject *__pyx_n_s__rdcc_nbytes;
-static PyObject *__pyx_n_s__rdcc_nslots;
-static PyObject *__pyx_n_s__rdcc_w0;
-static PyObject *__pyx_n_s__registry;
-static PyObject *__pyx_n_s__scale_factor;
-static PyObject *__pyx_n_s__scale_type;
-static PyObject *__pyx_n_s__size;
-static PyObject *__pyx_n_s__valid;
-static PyObject *__pyx_n_s__values;
-static PyObject *__pyx_k_tuple_3;
-static PyObject *__pyx_k_tuple_4;
-static PyObject *__pyx_k_tuple_6;
-static PyObject *__pyx_k_tuple_8;
-static PyObject *__pyx_k_tuple_9;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_codeobj_12;
-
-/* "h5py/h5p.pyx":30
- * # === C API ===================================================================
- * 
- * cdef hid_t pdefault(PropID pid):             # <<<<<<<<<<<<<<
- * 
- *     if pid is None:
- */
-
-static hid_t __pyx_f_4h5py_3h5p_pdefault(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_pid) {
-  hid_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  __Pyx_RefNannySetupContext("pdefault", 0);
-
-  /* "h5py/h5p.pyx":32
- * cdef hid_t pdefault(PropID pid):
- * 
- *     if pid is None:             # <<<<<<<<<<<<<<
- *         return <hid_t>H5P_DEFAULT
- *     return pid.id
- */
-  __pyx_t_1 = (((PyObject *)__pyx_v_pid) == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5p.pyx":33
- * 
- *     if pid is None:
- *         return <hid_t>H5P_DEFAULT             # <<<<<<<<<<<<<<
- *     return pid.id
- * 
- */
-    __pyx_r = ((hid_t)H5P_DEFAULT);
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5p.pyx":34
- *     if pid is None:
- *         return <hid_t>H5P_DEFAULT
- *     return pid.id             # <<<<<<<<<<<<<<
- * 
- * cdef object propwrap(hid_t id_in):
- */
-  __pyx_r = __pyx_v_pid->__pyx_base.id;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":36
- *     return pid.id
- * 
- * cdef object propwrap(hid_t id_in):             # <<<<<<<<<<<<<<
- * 
- *     clsid = H5Pget_class(id_in)
- */
-
-static PyObject *__pyx_f_4h5py_3h5p_propwrap(hid_t __pyx_v_id_in) {
-  int __pyx_v_clsid;
-  PyObject *__pyx_v_pcls = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  htri_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  herr_t __pyx_t_6;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("propwrap", 0);
-
-  /* "h5py/h5p.pyx":38
- * cdef object propwrap(hid_t id_in):
- * 
- *     clsid = H5Pget_class(id_in)             # <<<<<<<<<<<<<<
- *     try:
- *         if H5Pequal(clsid, H5P_FILE_CREATE):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_class(__pyx_v_id_in); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_clsid = __pyx_t_1;
-
-  /* "h5py/h5p.pyx":39
- * 
- *     clsid = H5Pget_class(id_in)
- *     try:             # <<<<<<<<<<<<<<
- *         if H5Pequal(clsid, H5P_FILE_CREATE):
- *             pcls = PropFCID
- */
-  /*try:*/ {
-
-    /* "h5py/h5p.pyx":40
- *     clsid = H5Pget_class(id_in)
- *     try:
- *         if H5Pequal(clsid, H5P_FILE_CREATE):             # <<<<<<<<<<<<<<
- *             pcls = PropFCID
- *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_FILE_CREATE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":41
- *     try:
- *         if H5Pequal(clsid, H5P_FILE_CREATE):
- *             pcls = PropFCID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
- *             pcls = PropFAID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropFCID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropFCID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":42
- *         if H5Pequal(clsid, H5P_FILE_CREATE):
- *             pcls = PropFCID
- *         elif H5Pequal(clsid, H5P_FILE_ACCESS):             # <<<<<<<<<<<<<<
- *             pcls = PropFAID
- *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_FILE_ACCESS); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":43
- *             pcls = PropFCID
- *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
- *             pcls = PropFAID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
- *             pcls = PropDCID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropFAID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropFAID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":44
- *         elif H5Pequal(clsid, H5P_FILE_ACCESS):
- *             pcls = PropFAID
- *         elif H5Pequal(clsid, H5P_DATASET_CREATE):             # <<<<<<<<<<<<<<
- *             pcls = PropDCID
- *         elif H5Pequal(clsid, H5P_DATASET_XFER):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_DATASET_CREATE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":45
- *             pcls = PropFAID
- *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
- *             pcls = PropDCID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_DATASET_XFER):
- *             pcls = PropDXID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropDCID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropDCID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":46
- *         elif H5Pequal(clsid, H5P_DATASET_CREATE):
- *             pcls = PropDCID
- *         elif H5Pequal(clsid, H5P_DATASET_XFER):             # <<<<<<<<<<<<<<
- *             pcls = PropDXID
- *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_DATASET_XFER); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":47
- *             pcls = PropDCID
- *         elif H5Pequal(clsid, H5P_DATASET_XFER):
- *             pcls = PropDXID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
- *             pcls = PropCopyID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropDXID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropDXID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":48
- *         elif H5Pequal(clsid, H5P_DATASET_XFER):
- *             pcls = PropDXID
- *         elif H5Pequal(clsid, H5P_OBJECT_COPY):             # <<<<<<<<<<<<<<
- *             pcls = PropCopyID
- *         elif H5Pequal(clsid, H5P_LINK_CREATE):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_OBJECT_COPY); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":49
- *             pcls = PropDXID
- *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
- *             pcls = PropCopyID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_LINK_CREATE):
- *             pcls = PropLCID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropCopyID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropCopyID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":50
- *         elif H5Pequal(clsid, H5P_OBJECT_COPY):
- *             pcls = PropCopyID
- *         elif H5Pequal(clsid, H5P_LINK_CREATE):             # <<<<<<<<<<<<<<
- *             pcls = PropLCID
- *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_LINK_CREATE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":51
- *             pcls = PropCopyID
- *         elif H5Pequal(clsid, H5P_LINK_CREATE):
- *             pcls = PropLCID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
- *             pcls = PropLAID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropLCID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropLCID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":52
- *         elif H5Pequal(clsid, H5P_LINK_CREATE):
- *             pcls = PropLCID
- *         elif H5Pequal(clsid, H5P_LINK_ACCESS):             # <<<<<<<<<<<<<<
- *             pcls = PropLAID
- *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_LINK_ACCESS); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":53
- *             pcls = PropLCID
- *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
- *             pcls = PropLAID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
- *             pcls = PropGCID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropLAID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropLAID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":54
- *         elif H5Pequal(clsid, H5P_LINK_ACCESS):
- *             pcls = PropLAID
- *         elif H5Pequal(clsid, H5P_GROUP_CREATE):             # <<<<<<<<<<<<<<
- *             pcls = PropGCID
- *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_GROUP_CREATE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":55
- *             pcls = PropLAID
- *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
- *             pcls = PropGCID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
- *             pcls = PropDAID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropGCID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropGCID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":56
- *         elif H5Pequal(clsid, H5P_GROUP_CREATE):
- *             pcls = PropGCID
- *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):             # <<<<<<<<<<<<<<
- *             pcls = PropDAID
- *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_DATASET_ACCESS); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":57
- *             pcls = PropGCID
- *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
- *             pcls = PropDAID             # <<<<<<<<<<<<<<
- *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):
- *             pcls = PropOCID
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropDAID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropDAID);
-      goto __pyx_L6;
-    }
-
-    /* "h5py/h5p.pyx":58
- *         elif H5Pequal(clsid, H5P_DATASET_ACCESS):
- *             pcls = PropDAID
- *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):             # <<<<<<<<<<<<<<
- *             pcls = PropOCID
- * 
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_clsid, H5P_OBJECT_CREATE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    if (__pyx_t_2) {
-
-      /* "h5py/h5p.pyx":59
- *             pcls = PropDAID
- *         elif H5Pequal(clsid, H5P_OBJECT_CREATE):
- *             pcls = PropOCID             # <<<<<<<<<<<<<<
- * 
- *         else:
- */
-      __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropOCID)));
-      __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5p_PropOCID);
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/h5p.pyx":62
- * 
- *         else:
- *             raise ValueError("No class found for ID %d" % id_in)             # <<<<<<<<<<<<<<
- * 
- *         return pcls.open(id_in)
- */
-      __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_in); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_3);
-      PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-      __pyx_t_4 = 0;
-      __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5p.pyx":64
- *             raise ValueError("No class found for ID %d" % id_in)
- * 
- *         return pcls.open(id_in)             # <<<<<<<<<<<<<<
- *     finally:
- *         H5Pclose_class(clsid)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_pcls), __pyx_n_s__open); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_in); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3);
-    __Pyx_GIVEREF(__pyx_t_3);
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    __pyx_r = __pyx_t_3;
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5p.pyx":66
- *         return pcls.open(id_in)
- *     finally:
- *         H5Pclose_class(clsid)             # <<<<<<<<<<<<<<
- * 
- * cdef object lockcls(hid_t id_in):
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_t_6 = __pyx_f_4h5py_4defs_H5Pclose_class(__pyx_v_clsid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-    goto __pyx_L8;
-    __pyx_L7_error:;
-    if (__pyx_why == 4) {
-      Py_XDECREF(__pyx_exc_type);
-      Py_XDECREF(__pyx_exc_value);
-      Py_XDECREF(__pyx_exc_tb);
-    }
-    goto __pyx_L1_error;
-    __pyx_L8:;
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5p.propwrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_pcls);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":68
- *         H5Pclose_class(clsid)
- * 
- * cdef object lockcls(hid_t id_in):             # <<<<<<<<<<<<<<
- *     cdef PropClassID pid
- *     pid = PropClassID.open(id_in)
- */
-
-static PyObject *__pyx_f_4h5py_3h5p_lockcls(hid_t __pyx_v_id_in) {
-  struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_pid = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("lockcls", 0);
-
-  /* "h5py/h5p.pyx":70
- * cdef object lockcls(hid_t id_in):
- *     cdef PropClassID pid
- *     pid = PropClassID.open(id_in)             # <<<<<<<<<<<<<<
- *     pid.locked = 1
- *     return pid
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropClassID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_in); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5p_PropClassID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_pid = ((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5p.pyx":71
- *     cdef PropClassID pid
- *     pid = PropClassID.open(id_in)
- *     pid.locked = 1             # <<<<<<<<<<<<<<
- *     return pid
- * 
- */
-  __pyx_v_pid->__pyx_base.__pyx_base.locked = 1;
-
-  /* "h5py/h5p.pyx":72
- *     pid = PropClassID.open(id_in)
- *     pid.locked = 1
- *     return pid             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_pid));
-  __pyx_r = ((PyObject *)__pyx_v_pid);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5p.lockcls", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_pid);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_1create(PyObject *__pyx_self, PyObject *__pyx_v_cls); /*proto*/
-static char __pyx_doc_4h5py_3h5p_create[] = "(PropClassID cls) => PropID\n\n    Create a new property list as an instance of a class; classes are:\n\n    - FILE_CREATE\n    - FILE_ACCESS\n    - DATASET_CREATE\n    - DATASET_XFER\n    - DATASET_ACCESS\n    - LINK_CREATE\n    - LINK_ACCESS\n    - GROUP_CREATE\n    - OBJECT_COPY\n    - OBJECT_CREATE\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5p_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5p_1create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_create)};
-static PyObject *__pyx_pw_4h5py_3h5p_1create(PyObject *__pyx_self, PyObject *__pyx_v_cls) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_cls), __pyx_ptype_4h5py_3h5p_PropClassID, 0, "cls", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5p_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_cls));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":106
- * # === Property list functional API ============================================
- * 
- * def create(PropClassID cls not None):             # <<<<<<<<<<<<<<
- *     """(PropClassID cls) => PropID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_cls) {
-  hid_t __pyx_v_newid;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create", 0);
-
-  /* "h5py/h5p.pyx":123
- *     """
- *     cdef hid_t newid
- *     newid = H5Pcreate(cls.id)             # <<<<<<<<<<<<<<
- *     return propwrap(newid)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pcreate(__pyx_v_cls->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_newid = __pyx_t_1;
-
-  /* "h5py/h5p.pyx":124
- *     cdef hid_t newid
- *     newid = H5Pcreate(cls.id)
- *     return propwrap(newid)             # <<<<<<<<<<<<<<
- * 
- * # === Class API ===============================================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __pyx_f_4h5py_3h5p_propwrap(__pyx_v_newid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_6PropID_1equal(PyObject *__pyx_v_self, PyObject *__pyx_v_plist); /*proto*/
-static char __pyx_doc_4h5py_3h5p_6PropID_equal[] = "(PropID plist) => BOOL\n\n        Compare this property list (or class) to another for equality.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_6PropID_1equal(PyObject *__pyx_v_self, PyObject *__pyx_v_plist) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("equal (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_plist), __pyx_ptype_4h5py_3h5p_PropID, 0, "plist", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_equal(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_plist));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":135
- * 
- * 
- *     def equal(self, PropID plist not None):             # <<<<<<<<<<<<<<
- *         """(PropID plist) => BOOL
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_6PropID_equal(struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_plist) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("equal", 0);
-
-  /* "h5py/h5p.pyx":140
- *         Compare this property list (or class) to another for equality.
- *         """
- *         return <bint>(H5Pequal(self.id, plist.id))             # <<<<<<<<<<<<<<
- * 
- *     def __richcmp__(self, object other, int how):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pequal(__pyx_v_self->__pyx_base.id, __pyx_v_plist->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropID.equal", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_6PropID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5p_6PropID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":142
- *         return <bint>(H5Pequal(self.id, plist.id))
- * 
- *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
- *         cdef bint truthval = 0
- *         if how != 2 and how != 3:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_6PropID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  int __pyx_v_truthval;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__richcmp__", 0);
-
-  /* "h5py/h5p.pyx":143
- * 
- *     def __richcmp__(self, object other, int how):
- *         cdef bint truthval = 0             # <<<<<<<<<<<<<<
- *         if how != 2 and how != 3:
- *             return NotImplemented
- */
-  __pyx_v_truthval = 0;
-
-  /* "h5py/h5p.pyx":144
- *     def __richcmp__(self, object other, int how):
- *         cdef bint truthval = 0
- *         if how != 2 and how != 3:             # <<<<<<<<<<<<<<
- *             return NotImplemented
- *         if type(self) == type(other):
- */
-  switch (__pyx_v_how) {
-    case 2:
-    case 3:
-    __pyx_t_1 = 0;
-    break;
-    default:
-    __pyx_t_1 = 1;
-    break;
-  }
-  if (__pyx_t_1) {
-
-    /* "h5py/h5p.pyx":145
- *         cdef bint truthval = 0
- *         if how != 2 and how != 3:
- *             return NotImplemented             # <<<<<<<<<<<<<<
- *         if type(self) == type(other):
- *             truthval = self.equal(other)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(__pyx_builtin_NotImplemented);
-    __pyx_r = __pyx_builtin_NotImplemented;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5p.pyx":146
- *         if how != 2 and how != 3:
- *             return NotImplemented
- *         if type(self) == type(other):             # <<<<<<<<<<<<<<
- *             truthval = self.equal(other)
- * 
- */
-  __pyx_t_2 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_self)), ((PyObject *)Py_TYPE(__pyx_v_other)), Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  if (__pyx_t_1) {
-
-    /* "h5py/h5p.pyx":147
- *             return NotImplemented
- *         if type(self) == type(other):
- *             truthval = self.equal(other)             # <<<<<<<<<<<<<<
- * 
- *         if how == 2:
- */
-    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__equal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_INCREF(__pyx_v_other);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_other);
-    __Pyx_GIVEREF(__pyx_v_other);
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_v_truthval = __pyx_t_1;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5p.pyx":149
- *             truthval = self.equal(other)
- * 
- *         if how == 2:             # <<<<<<<<<<<<<<
- *             return truthval
- *         return not truthval
- */
-  __pyx_t_1 = (__pyx_v_how == 2);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5p.pyx":150
- * 
- *         if how == 2:
- *             return truthval             # <<<<<<<<<<<<<<
- *         return not truthval
- * 
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_truthval); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_r = __pyx_t_4;
-    __pyx_t_4 = 0;
-    goto __pyx_L0;
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  /* "h5py/h5p.pyx":151
- *         if how == 2:
- *             return truthval
- *         return not truthval             # <<<<<<<<<<<<<<
- * 
- *     def __hash__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_4 = __Pyx_PyBool_FromLong((!__pyx_v_truthval)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_r = __pyx_t_4;
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static Py_hash_t __pyx_pw_4h5py_3h5p_6PropID_5__hash__(PyObject *__pyx_v_self); /*proto*/
-static Py_hash_t __pyx_pw_4h5py_3h5p_6PropID_5__hash__(PyObject *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_6PropID_4__hash__(((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":153
- *         return not truthval
- * 
- *     def __hash__(self):             # <<<<<<<<<<<<<<
- *         raise TypeError("Property lists are unhashable")
- * 
- */
-
-static Py_hash_t __pyx_pf_4h5py_3h5p_6PropID_4__hash__(CYTHON_UNUSED struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__hash__", 0);
-
-  /* "h5py/h5p.pyx":154
- * 
- *     def __hash__(self):
- *         raise TypeError("Property lists are unhashable")             # <<<<<<<<<<<<<<
- * 
- * cdef class PropClassID(PropID):
- */
-  __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5p.PropID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":165
- *     """
- * 
- *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
- *         return PropID.__richcmp__(self, other, how)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_11PropClassID___richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__richcmp__", 0);
-
-  /* "h5py/h5p.pyx":166
- * 
- *     def __richcmp__(self, object other, int how):
- *         return PropID.__richcmp__(self, other, how)             # <<<<<<<<<<<<<<
- * 
- *     def __hash__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropID)), __pyx_n_s____richcmp__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyInt_FromLong(__pyx_v_how); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_INCREF(__pyx_v_self);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_self);
-  __Pyx_GIVEREF(__pyx_v_self);
-  __Pyx_INCREF(__pyx_v_other);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_other);
-  __Pyx_GIVEREF(__pyx_v_other);
-  PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5p.PropClassID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static Py_hash_t __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__(PyObject *__pyx_v_self); /*proto*/
-static char __pyx_doc_4h5py_3h5p_11PropClassID_2__hash__[] = " Since classes are library-created and immutable, they are uniquely\n            identified by their HDF5 identifiers.\n        ";
-#if CYTHON_COMPILING_IN_CPYTHON
-struct wrapperbase __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__;
-#endif
-static Py_hash_t __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__(PyObject *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(((struct __pyx_obj_4h5py_3h5p_PropClassID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":168
- *         return PropID.__richcmp__(self, other, how)
- * 
- *     def __hash__(self):             # <<<<<<<<<<<<<<
- *         """ Since classes are library-created and immutable, they are uniquely
- *             identified by their HDF5 identifiers.
- */
-
-static Py_hash_t __pyx_pf_4h5py_3h5p_11PropClassID_2__hash__(struct __pyx_obj_4h5py_3h5p_PropClassID *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  Py_hash_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__hash__", 0);
-
-  /* "h5py/h5p.pyx":172
- *             identified by their HDF5 identifiers.
- *         """
- *         return hash(self.id)             # <<<<<<<<<<<<<<
- * 
- * cdef class PropInstanceID(PropID):
- */
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Hash(__pyx_t_1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_r = __pyx_t_2;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5p.PropClassID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_14PropInstanceID_copy[] = "() => PropList newid\n\n         Create a new copy of an existing property list object.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_copy(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":185
- * 
- * 
- *     def copy(self):             # <<<<<<<<<<<<<<
- *         """() => PropList newid
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_copy(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("copy", 0);
-
-  /* "h5py/h5p.pyx":190
- *          Create a new copy of an existing property list object.
- *         """
- *         return type(self)(H5Pcopy(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pcopy(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5p.PropInstanceID.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_3_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_14PropInstanceID_2_close[] = "()\n\n        Terminate access through this identifier.  You shouldn't have to\n        do this manually, as propery lists are automatically deleted when\n        their Python wrappers are freed.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_3_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_close (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_2_close(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":193
- * 
- * 
- *     def _close(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_2_close(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_close", 0);
-
-  /* "h5py/h5p.pyx":200
- *         their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Pclose(self.id)
- *             if not self.valid:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/h5p.pyx":201
- *         """
- *         with _objects.registry.lock:
- *             H5Pclose(self.id)             # <<<<<<<<<<<<<<
- *             if not self.valid:
- *                 del _objects.registry[self.id]
- */
-          __pyx_t_8 = __pyx_f_4h5py_4defs_H5Pclose(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-
-          /* "h5py/h5p.pyx":202
- *         with _objects.registry.lock:
- *             H5Pclose(self.id)
- *             if not self.valid:             # <<<<<<<<<<<<<<
- *                 del _objects.registry[self.id]
- * 
- */
-          __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __pyx_t_10 = (!__pyx_t_9);
-          if (__pyx_t_10) {
-
-            /* "h5py/h5p.pyx":203
- *             H5Pclose(self.id)
- *             if not self.valid:
- *                 del _objects.registry[self.id]             # <<<<<<<<<<<<<<
- * 
- * 
- */
-            __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_1);
-            __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_4);
-            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-            if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-        /* "h5py/h5p.pyx":200
- *         their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Pclose(self.id)
- *             if not self.valid:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.h5p.PropInstanceID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_2);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_2);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2);
-          __Pyx_GIVEREF(__pyx_t_2);
-          __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_9 = (!__pyx_t_10);
-          if (__pyx_t_9) {
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_2);
-            __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2);
-            __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; 
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L18;
-          }
-          __pyx_L18:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      if (__pyx_t_3) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_4, NULL);
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-    }
-    goto __pyx_L19;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L1_error;
-    __pyx_L19:;
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.h5p.PropInstanceID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_5get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_14PropInstanceID_4get_class[] = "() => PropClassID\n\n        Determine the class of a property list object.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_14PropInstanceID_5get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_class (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_14PropInstanceID_4get_class(((struct __pyx_obj_4h5py_3h5p_PropInstanceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":206
- * 
- * 
- *     def get_class(self):             # <<<<<<<<<<<<<<
- *         """() => PropClassID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_14PropInstanceID_4get_class(struct __pyx_obj_4h5py_3h5p_PropInstanceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_class", 0);
-
-  /* "h5py/h5p.pyx":211
- *         Determine the class of a property list object.
- *         """
- *         return PropClassID.open(H5Pget_class(self.id))             # <<<<<<<<<<<<<<
- * 
- * cdef class PropCreateID(PropInstanceID):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropClassID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pget_class(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = PyInt_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropInstanceID.get_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
-static char __pyx_doc_4h5py_3h5p_10PropCopyID_set_copy_object[] = "(UINT flags)\n\n        Set flags for object copying process.  Legal flags are\n        from the h5o.COPY* family:\n\n        h5o.COPY_SHALLOW_HIERARCHY_FLAG\n            Copy only immediate members of a group.\n\n        h5o.COPY_EXPAND_SOFT_LINK_FLAG\n            Expand soft links into new objects.\n\n        h5o.COPY_EXPAND_EXT_LINK_FLAG\n            Expand external link into new objects.\n\n        h5o.COPY_EXPAND_REF [...]
-static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
-  unsigned int __pyx_v_flags;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_copy_object (wrapper)", 0);
-  assert(__pyx_arg_flags); {
-    __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropCopyID.set_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self), ((unsigned int)__pyx_v_flags));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":227
- * 
- * 
- *     def set_copy_object(self, unsigned int flags):             # <<<<<<<<<<<<<<
- *         """(UINT flags)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_set_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self, unsigned int __pyx_v_flags) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_copy_object", 0);
-
-  /* "h5py/h5p.pyx":248
- *             Copy object without copying attributes.
- *         """
- *         H5Pset_copy_object(self.id, flags)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_copy_object(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropCopyID.set_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_10PropCopyID_2get_copy_object[] = "() => UINT flags\n\n        Get copy process flags. Legal flags are h5o.COPY*.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_copy_object (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(((struct __pyx_obj_4h5py_3h5p_PropCopyID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":251
- * 
- * 
- *     def get_copy_object(self):             # <<<<<<<<<<<<<<
- *         """() => UINT flags
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_10PropCopyID_2get_copy_object(struct __pyx_obj_4h5py_3h5p_PropCopyID *__pyx_v_self) {
-  unsigned int __pyx_v_flags;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_copy_object", 0);
-
-  /* "h5py/h5p.pyx":257
- *         """
- *         cdef unsigned int flags
- *         H5Pget_copy_object(self.id, &flags)             # <<<<<<<<<<<<<<
- *         return flags
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_copy_object(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":258
- *         cdef unsigned int flags
- *         H5Pget_copy_object(self.id, &flags)
- *         return flags             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_flags); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropCopyID.get_copy_object", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_1get_version(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFCID_get_version[] = "() => TUPLE version_info\n\n        Determine version information of various file attributes.\n        Elements are:\n\n        0.  UINT Super block version number\n        1.  UINT Freelist version number\n        2.  UINT Symbol table version number\n        3.  UINT Shared object header version number\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_1get_version(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_version (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_get_version(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":272
- * 
- * 
- *     def get_version(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE version_info
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_get_version(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
-  unsigned int __pyx_v_super_;
-  unsigned int __pyx_v_freelist;
-  unsigned int __pyx_v_stab;
-  unsigned int __pyx_v_shhdr;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_version", 0);
-
-  /* "h5py/h5p.pyx":289
- *         cdef unsigned int shhdr
- * 
- *         H5Pget_version(self.id, &super_, &freelist, &stab, &shhdr)             # <<<<<<<<<<<<<<
- * 
- *         return (super_, freelist, stab, shhdr)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_version(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_super_), (&__pyx_v_freelist), (&__pyx_v_stab), (&__pyx_v_shhdr)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":291
- *         H5Pget_version(self.id, &super_, &freelist, &stab, &shhdr)
- * 
- *         return (super_, freelist, stab, shhdr)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_super_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyLong_FromUnsignedLong(__pyx_v_freelist); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyLong_FromUnsignedLong(__pyx_v_stab); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyLong_FromUnsignedLong(__pyx_v_shhdr); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_t_5 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_6);
-  __pyx_t_6 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_version", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFCID_2set_userblock[] = "(INT/LONG size)\n\n        Set the file user block size, in bytes.\n        Must be a power of 2, and at least 512.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
-  hsize_t __pyx_v_size;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_userblock (wrapper)", 0);
-  assert(__pyx_arg_size); {
-    __pyx_v_size = __Pyx_PyInt_from_py_hsize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 294; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), ((hsize_t)__pyx_v_size));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":294
- * 
- * 
- *     def set_userblock(self, hsize_t size):             # <<<<<<<<<<<<<<
- *         """(INT/LONG size)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_2set_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, hsize_t __pyx_v_size) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_userblock", 0);
-
-  /* "h5py/h5p.pyx":300
- *         Must be a power of 2, and at least 512.
- *         """
- *         H5Pset_userblock(self.id, size)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_userblock(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 300; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFCID_4get_userblock[] = "() => LONG size\n\n        Determine the user block size, in bytes.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_userblock (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":303
- * 
- * 
- *     def get_userblock(self):             # <<<<<<<<<<<<<<
- *         """() => LONG size
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_4get_userblock(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
-  hsize_t __pyx_v_size;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_userblock", 0);
-
-  /* "h5py/h5p.pyx":309
- *         """
- *         cdef hsize_t size
- *         H5Pget_userblock(self.id, &size)             # <<<<<<<<<<<<<<
- *         return size
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_userblock(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 309; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":310
- *         cdef hsize_t size
- *         H5Pget_userblock(self.id, &size)
- *         return size             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_userblock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFCID_6set_sizes[] = "(UINT addr, UINT size)\n\n        Set the addressing offsets and lengths for objects\n        in an HDF5 file, in bytes.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  size_t __pyx_v_addr;
-  size_t __pyx_v_size;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_sizes (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__addr,&__pyx_n_s__size,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__addr)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_sizes", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_sizes") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_addr = __Pyx_PyInt_AsSize_t(values[0]); if (unlikely((__pyx_v_addr == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_size = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_sizes", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 313; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), __pyx_v_addr, __pyx_v_size);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":313
- * 
- * 
- *     def set_sizes(self, size_t addr, size_t size):             # <<<<<<<<<<<<<<
- *         """(UINT addr, UINT size)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_6set_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, size_t __pyx_v_addr, size_t __pyx_v_size) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_sizes", 0);
-
-  /* "h5py/h5p.pyx":319
- *         in an HDF5 file, in bytes.
- *         """
- *         H5Pset_sizes(self.id, addr, size)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_sizes(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_addr, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFCID_8get_sizes[] = "() => TUPLE sizes\n\n        Determine addressing offsets and lengths for objects in an\n        HDF5 file, in bytes.  Return value is a 2-tuple with values:\n\n        0.  UINT Address offsets\n        1.  UINT Lengths\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_sizes (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":322
- * 
- * 
- *     def get_sizes(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE sizes
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_8get_sizes(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
-  size_t __pyx_v_addr;
-  size_t __pyx_v_size;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_sizes", 0);
-
-  /* "h5py/h5p.pyx":333
- *         cdef size_t addr
- *         cdef size_t size
- *         H5Pget_sizes(self.id, &addr, &size)             # <<<<<<<<<<<<<<
- *         return (addr, size)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_sizes(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_addr), (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 333; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":334
- *         cdef size_t size
- *         H5Pget_sizes(self.id, &addr, &size)
- *         return (addr, size)             # <<<<<<<<<<<<<<
- * 
- *     def set_link_creation_order(self, unsigned int flags):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_addr); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_4);
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_sizes", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_11set_link_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFCID_10set_link_creation_order[] = " (UINT flags)\n\n        Set tracking and indexing of creation order for links added to this group\n\n        flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_11set_link_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
-  unsigned int __pyx_v_flags;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_link_creation_order (wrapper)", 0);
-  assert(__pyx_arg_flags); {
-    __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 336; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_10set_link_creation_order(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self), ((unsigned int)__pyx_v_flags));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":336
- *         return (addr, size)
- * 
- *     def set_link_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
- *         """ (UINT flags)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_10set_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self, unsigned int __pyx_v_flags) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_link_creation_order", 0);
-
-  /* "h5py/h5p.pyx":343
- *         flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED
- *         """
- *         H5Pset_link_creation_order(self.id, flags)             # <<<<<<<<<<<<<<
- * 
- *     def get_link_creation_order(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_link_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 343; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.set_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_13get_link_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFCID_12get_link_creation_order[] = " () -> UINT flags\n\n        Get tracking and indexing of creation order for links added to this group\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFCID_13get_link_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_link_creation_order (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFCID_12get_link_creation_order(((struct __pyx_obj_4h5py_3h5p_PropFCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":345
- *         H5Pset_link_creation_order(self.id, flags)
- * 
- *     def get_link_creation_order(self):             # <<<<<<<<<<<<<<
- *         """ () -> UINT flags
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFCID_12get_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropFCID *__pyx_v_self) {
-  unsigned int __pyx_v_flags;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_link_creation_order", 0);
-
-  /* "h5py/h5p.pyx":351
- *         """
- *         cdef unsigned int flags
- *         H5Pget_link_creation_order(self.id, &flags)             # <<<<<<<<<<<<<<
- *         return flags
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_link_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":352
- *         cdef unsigned int flags
- *         H5Pget_link_creation_order(self.id, &flags)
- *         return flags             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_flags); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropFCID.get_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout(PyObject *__pyx_v_self, PyObject *__pyx_arg_layout_code); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_set_layout[] = "(INT layout_code)\n\n        Set dataset storage strategy; legal values are:\n\n        - h5d.COMPACT\n        - h5d.CONTIGUOUS\n        - h5d.CHUNKED\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout(PyObject *__pyx_v_self, PyObject *__pyx_arg_layout_code) {
-  int __pyx_v_layout_code;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_layout (wrapper)", 0);
-  assert(__pyx_arg_layout_code); {
-    __pyx_v_layout_code = __Pyx_PyInt_AsInt(__pyx_arg_layout_code); if (unlikely((__pyx_v_layout_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 363; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_set_layout(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_layout_code));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":363
- * 
- * 
- *     def set_layout(self, int layout_code):             # <<<<<<<<<<<<<<
- *         """(INT layout_code)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_set_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_layout_code) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_layout", 0);
-
-  /* "h5py/h5p.pyx":372
- *         - h5d.CHUNKED
- *         """
- *         H5Pset_layout(self.id, layout_code)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_layout(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_layout_code); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_2get_layout[] = "() => INT layout_code\n\n        Determine the storage strategy of a dataset; legal values are:\n\n        - h5d.COMPACT\n        - h5d.CONTIGUOUS\n        - h5d.CHUNKED\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_layout (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":375
- * 
- * 
- *     def get_layout(self):             # <<<<<<<<<<<<<<
- *         """() => INT layout_code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_2get_layout(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5D_layout_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_layout", 0);
-
-  /* "h5py/h5p.pyx":384
- *         - h5d.CHUNKED
- *         """
- *         return <int>H5Pget_layout(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_layout(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 384; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_layout", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunksize); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_4set_chunk[] = "(TUPLE chunksize)\n\n        Set the dataset chunk size.  It's up to you to provide\n        values which are compatible with your dataset.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk(PyObject *__pyx_v_self, PyObject *__pyx_v_chunksize) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_chunk (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyObject *)__pyx_v_chunksize));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":387
- * 
- * 
- *     def set_chunk(self, object chunksize):             # <<<<<<<<<<<<<<
- *         """(TUPLE chunksize)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_4set_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyObject *__pyx_v_chunksize) {
-  int __pyx_v_rank;
-  hsize_t *__pyx_v_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  Py_ssize_t __pyx_t_2;
-  void *__pyx_t_3;
-  herr_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_chunk", 0);
-
-  /* "h5py/h5p.pyx":395
- *         cdef int rank
- *         cdef hsize_t* dims
- *         dims = NULL             # <<<<<<<<<<<<<<
- * 
- *         require_tuple(chunksize, 0, -1, "chunksize")
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5p.pyx":397
- *         dims = NULL
- * 
- *         require_tuple(chunksize, 0, -1, "chunksize")             # <<<<<<<<<<<<<<
- *         rank = len(chunksize)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_chunksize, 0, -1, __pyx_k__chunksize); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":398
- * 
- *         require_tuple(chunksize, 0, -1, "chunksize")
- *         rank = len(chunksize)             # <<<<<<<<<<<<<<
- * 
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-  __pyx_t_2 = PyObject_Length(__pyx_v_chunksize); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_2;
-
-  /* "h5py/h5p.pyx":400
- *         rank = len(chunksize)
- * 
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *         try:
- *             convert_tuple(chunksize, dims, rank)
- */
-  __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 400; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_dims = ((hsize_t *)__pyx_t_3);
-
-  /* "h5py/h5p.pyx":401
- * 
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         try:             # <<<<<<<<<<<<<<
- *             convert_tuple(chunksize, dims, rank)
- *             H5Pset_chunk(self.id, rank, dims)
- */
-  /*try:*/ {
-
-    /* "h5py/h5p.pyx":402
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         try:
- *             convert_tuple(chunksize, dims, rank)             # <<<<<<<<<<<<<<
- *             H5Pset_chunk(self.id, rank, dims)
- *         finally:
- */
-    __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_chunksize, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 402; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5p.pyx":403
- *         try:
- *             convert_tuple(chunksize, dims, rank)
- *             H5Pset_chunk(self.id, rank, dims)             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(dims)
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Pset_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rank, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 403; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5p.pyx":405
- *             H5Pset_chunk(self.id, rank, dims)
- *         finally:
- *             efree(dims)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_6get_chunk[] = "() => TUPLE chunk_dimensions\n\n        Obtain the dataset chunk size, as a tuple.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_chunk (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":408
- * 
- * 
- *     def get_chunk(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE chunk_dimensions
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_6get_chunk(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  int __pyx_v_rank;
-  hsize_t *__pyx_v_dims;
-  PyObject *__pyx_v_tpl = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_chunk", 0);
-
-  /* "h5py/h5p.pyx":416
- *         cdef hsize_t *dims
- * 
- *         rank = H5Pget_chunk(self.id, 0, NULL)             # <<<<<<<<<<<<<<
- *         assert rank >= 0
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, 0, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_1;
-
-  /* "h5py/h5p.pyx":417
- * 
- *         rank = H5Pget_chunk(self.id, 0, NULL)
- *         assert rank >= 0             # <<<<<<<<<<<<<<
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- * 
- */
-  #ifndef CYTHON_WITHOUT_ASSERTIONS
-  if (unlikely(!(__pyx_v_rank >= 0))) {
-    PyErr_SetNone(PyExc_AssertionError);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 417; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  #endif
-
-  /* "h5py/h5p.pyx":418
- *         rank = H5Pget_chunk(self.id, 0, NULL)
- *         assert rank >= 0
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_dims = ((hsize_t *)__pyx_t_2);
-
-  /* "h5py/h5p.pyx":420
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             H5Pget_chunk(self.id, rank, dims)
- *             tpl = convert_dims(dims, rank)
- */
-  /*try:*/ {
-
-    /* "h5py/h5p.pyx":421
- * 
- *         try:
- *             H5Pget_chunk(self.id, rank, dims)             # <<<<<<<<<<<<<<
- *             tpl = convert_dims(dims, rank)
- *             return tpl
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rank, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 421; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5p.pyx":422
- *         try:
- *             H5Pget_chunk(self.id, rank, dims)
- *             tpl = convert_dims(dims, rank)             # <<<<<<<<<<<<<<
- *             return tpl
- *         finally:
- */
-    __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_v_tpl = __pyx_t_3;
-    __pyx_t_3 = 0;
-
-    /* "h5py/h5p.pyx":423
- *             H5Pget_chunk(self.id, rank, dims)
- *             tpl = convert_dims(dims, rank)
- *             return tpl             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(dims)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(__pyx_v_tpl);
-    __pyx_r = __pyx_v_tpl;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5p.pyx":425
- *             return tpl
- *         finally:
- *             efree(dims)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_chunk", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_tpl);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_8set_fill_value[] = "(NDARRAY value)\n\n        Set the dataset fill value.  The object provided should be an\n        0-dimensional NumPy array; otherwise, the value will be read from\n        the first element.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fill_value (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4h5py_5numpy_ndarray, 0, "value", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 428; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_value));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":428
- * 
- * 
- *     def set_fill_value(self, ndarray value not None):             # <<<<<<<<<<<<<<
- *         """(NDARRAY value)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_8set_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  herr_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fill_value", 0);
-
-  /* "h5py/h5p.pyx":437
- *         cdef TypeID tid
- * 
- *         check_numpy_read(value, -1)             # <<<<<<<<<<<<<<
- *         tid = py_create(value.dtype)
- *         H5Pset_fill_value(self.id, tid.id, value.data)
- */
-  __pyx_t_2.__pyx_n = 1;
-  __pyx_t_2.space_id = -1;
-  __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_read(__pyx_v_value, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 437; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":438
- * 
- *         check_numpy_read(value, -1)
- *         tid = py_create(value.dtype)             # <<<<<<<<<<<<<<
- *         H5Pset_fill_value(self.id, tid.id, value.data)
- * 
- */
-  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_value), __pyx_n_s__dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_3, 0, NULL)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 438; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5p.pyx":439
- *         check_numpy_read(value, -1)
- *         tid = py_create(value.dtype)
- *         H5Pset_fill_value(self.id, tid.id, value.data)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Pset_fill_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_tid->__pyx_base.id, __pyx_v_value->data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 439; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_tid);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_10get_fill_value[] = "(NDARRAY value)\n\n        Read the dataset fill value into a NumPy array.  It will be\n        converted to match the array dtype.  If the array has nonzero\n        rank, only the first element will contain the value.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value(PyObject *__pyx_v_self, PyObject *__pyx_v_value) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_fill_value (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_value), __pyx_ptype_4h5py_5numpy_ndarray, 0, "value", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 442; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((PyArrayObject *)__pyx_v_value));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":442
- * 
- * 
- *     def get_fill_value(self, ndarray value not None):             # <<<<<<<<<<<<<<
- *         """(NDARRAY value)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_10get_fill_value(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, PyArrayObject *__pyx_v_value) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  herr_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_fill_value", 0);
-
-  /* "h5py/h5p.pyx":451
- *         cdef TypeID tid
- * 
- *         check_numpy_write(value, -1)             # <<<<<<<<<<<<<<
- *         tid = py_create(value.dtype)
- *         H5Pget_fill_value(self.id, tid.id, value.data)
- */
-  __pyx_t_2.__pyx_n = 1;
-  __pyx_t_2.space_id = -1;
-  __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_write(__pyx_v_value, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":452
- * 
- *         check_numpy_write(value, -1)
- *         tid = py_create(value.dtype)             # <<<<<<<<<<<<<<
- *         H5Pget_fill_value(self.id, tid.id, value.data)
- * 
- */
-  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_value), __pyx_n_s__dtype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_t_3, 0, NULL)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 452; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5p.pyx":453
- *         check_numpy_write(value, -1)
- *         tid = py_create(value.dtype)
- *         H5Pget_fill_value(self.id, tid.id, value.data)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Pget_fill_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_tid->__pyx_base.id, __pyx_v_value->data); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_fill_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_tid);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_12fill_value_defined[] = "() => INT fill_status\n\n        Determine the status of the dataset fill value.  Return values are:\n\n        - h5d.FILL_VALUE_UNDEFINED\n        - h5d.FILL_VALUE_DEFAULT\n        - h5d.FILL_VALUE_USER_DEFINED\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("fill_value_defined (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":456
- * 
- * 
- *     def fill_value_defined(self):             # <<<<<<<<<<<<<<
- *         """() => INT fill_status
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_12fill_value_defined(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  H5D_fill_value_t __pyx_v_val;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("fill_value_defined", 0);
-
-  /* "h5py/h5p.pyx":466
- *         """
- *         cdef H5D_fill_value_t val
- *         H5Pfill_value_defined(self.id, &val)             # <<<<<<<<<<<<<<
- *         return <int>val
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pfill_value_defined(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":467
- *         cdef H5D_fill_value_t val
- *         H5Pfill_value_defined(self.id, &val)
- *         return <int>val             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_v_val)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.fill_value_defined", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_fill_time); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_14set_fill_time[] = "(INT fill_time)\n\n        Define when fill values are written to the dataset.  Legal\n        values (defined in module h5d) are:\n\n        - h5d.FILL_TIME_ALLOC\n        - h5d.FILL_TIME_NEVER\n        - h5d.FILL_TIME_IFSET\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_fill_time) {
-  int __pyx_v_fill_time;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fill_time (wrapper)", 0);
-  assert(__pyx_arg_fill_time); {
-    __pyx_v_fill_time = __Pyx_PyInt_AsInt(__pyx_arg_fill_time); if (unlikely((__pyx_v_fill_time == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 470; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_fill_time));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":470
- * 
- * 
- *     def set_fill_time(self, int fill_time):             # <<<<<<<<<<<<<<
- *         """(INT fill_time)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_14set_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_fill_time) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fill_time", 0);
-
-  /* "h5py/h5p.pyx":480
- *         - h5d.FILL_TIME_IFSET
- *         """
- *         H5Pset_fill_time(self.id, <H5D_fill_time_t>fill_time)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fill_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_fill_time_t)__pyx_v_fill_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_16get_fill_time[] = " () => INT\n\n        Determine when fill values are written to the dataset.  Legal\n        values (defined in module h5d) are:\n\n        - h5d.FILL_TIME_ALLOC\n        - h5d.FILL_TIME_NEVER\n        - h5d.FILL_TIME_IFSET\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_fill_time (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":483
- * 
- * 
- *     def get_fill_time(self):             # <<<<<<<<<<<<<<
- *         """ () => INT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_16get_fill_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  H5D_fill_time_t __pyx_v_fill_time;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_fill_time", 0);
-
-  /* "h5py/h5p.pyx":494
- *         """
- *         cdef H5D_fill_time_t fill_time
- *         H5Pget_fill_time(self.id, &fill_time)             # <<<<<<<<<<<<<<
- *         return <int>fill_time
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fill_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_fill_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 494; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":495
- *         cdef H5D_fill_time_t fill_time
- *         H5Pget_fill_time(self.id, &fill_time)
- *         return <int>fill_time             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_v_fill_time)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_fill_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_alloc_time); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_18set_alloc_time[] = "(INT alloc_time)\n\n        Set the storage space allocation time.  One of h5d.ALLOC_TIME*.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time(PyObject *__pyx_v_self, PyObject *__pyx_arg_alloc_time) {
-  int __pyx_v_alloc_time;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_alloc_time (wrapper)", 0);
-  assert(__pyx_arg_alloc_time); {
-    __pyx_v_alloc_time = __Pyx_PyInt_AsInt(__pyx_arg_alloc_time); if (unlikely((__pyx_v_alloc_time == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 498; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_alloc_time));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":498
- * 
- * 
- *     def set_alloc_time(self, int alloc_time):             # <<<<<<<<<<<<<<
- *         """(INT alloc_time)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_18set_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_alloc_time) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_alloc_time", 0);
-
-  /* "h5py/h5p.pyx":503
- *         Set the storage space allocation time.  One of h5d.ALLOC_TIME*.
- *         """
- *         H5Pset_alloc_time(self.id, <H5D_alloc_time_t>alloc_time)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_alloc_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5D_alloc_time_t)__pyx_v_alloc_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_20get_alloc_time[] = "() => INT alloc_time\n\n        Get the storage space allocation time.  One of h5d.ALLOC_TIME*.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_alloc_time (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":506
- * 
- * 
- *     def get_alloc_time(self):             # <<<<<<<<<<<<<<
- *         """() => INT alloc_time
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_20get_alloc_time(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  H5D_alloc_time_t __pyx_v_alloc_time;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_alloc_time", 0);
-
-  /* "h5py/h5p.pyx":512
- *         """
- *         cdef H5D_alloc_time_t alloc_time
- *         H5Pget_alloc_time(self.id, &alloc_time)             # <<<<<<<<<<<<<<
- *         return <int>alloc_time
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_alloc_time(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_alloc_time)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":513
- *         cdef H5D_alloc_time_t alloc_time
- *         H5Pget_alloc_time(self.id, &alloc_time)
- *         return <int>alloc_time             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_v_alloc_time)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_alloc_time", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_22set_filter[] = "(INT filter_code, UINT flags=0, TUPLE values=None)\n\n        Set a filter in the pipeline.  Params are:\n\n        filter_code\n            One of the following:\n\n            - h5z.FILTER_DEFLATE\n            - h5z.FILTER_SHUFFLE\n            - h5z.FILTER_FLETCHER32\n            - h5z.FILTER_SZIP\n\n        flags\n            Bit flags (h5z.FLAG*) setting filter properties\n\n        values\n            TUPLE of UINTs giving [...]
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_v_filter_code;
-  unsigned int __pyx_v_flags;
-  PyObject *__pyx_v_values = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_filter (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__filter_code,&__pyx_n_s__flags,&__pyx_n_s__values,0};
-    PyObject* values[3] = {0,0,0};
-
-    /* "h5py/h5p.pyx":519
- * 
- * 
- *     def set_filter(self, int filter_code, unsigned int flags=0, object values=None):             # <<<<<<<<<<<<<<
- *         """(INT filter_code, UINT flags=0, TUPLE values=None)
- * 
- */
-    values[2] = ((PyObject *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__filter_code)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags);
-          if (value) { values[1] = value; kw_args--; }
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__values);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_filter") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_filter_code = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    if (values[1]) {
-      __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_flags = ((unsigned int)0);
-    }
-    __pyx_v_values = values[2];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_filter", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 519; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_filter_code, __pyx_v_flags, __pyx_v_values);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_22set_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code, unsigned int __pyx_v_flags, PyObject *__pyx_v_values) {
-  size_t __pyx_v_nelements;
-  unsigned int *__pyx_v_cd_values;
-  int __pyx_v_i;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  Py_ssize_t __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_t_5;
-  void *__pyx_t_6;
-  size_t __pyx_t_7;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  unsigned int __pyx_t_10;
-  herr_t __pyx_t_11;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_filter", 0);
-
-  /* "h5py/h5p.pyx":541
- *         cdef unsigned int *cd_values
- *         cdef int i
- *         cd_values = NULL             # <<<<<<<<<<<<<<
- * 
- *         require_tuple(values, 1, -1, "values")
- */
-  __pyx_v_cd_values = NULL;
-
-  /* "h5py/h5p.pyx":543
- *         cd_values = NULL
- * 
- *         require_tuple(values, 1, -1, "values")             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_values, 1, -1, __pyx_k__values); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":545
- *         require_tuple(values, 1, -1, "values")
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             if values is None or len(values) == 0:
- *                 nelements = 0
- */
-  /*try:*/ {
-
-    /* "h5py/h5p.pyx":546
- * 
- *         try:
- *             if values is None or len(values) == 0:             # <<<<<<<<<<<<<<
- *                 nelements = 0
- *                 cd_values = NULL
- */
-    __pyx_t_2 = (__pyx_v_values == Py_None);
-    if (!__pyx_t_2) {
-      __pyx_t_3 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_t_4 = (__pyx_t_3 == 0);
-      __pyx_t_5 = __pyx_t_4;
-    } else {
-      __pyx_t_5 = __pyx_t_2;
-    }
-    if (__pyx_t_5) {
-
-      /* "h5py/h5p.pyx":547
- *         try:
- *             if values is None or len(values) == 0:
- *                 nelements = 0             # <<<<<<<<<<<<<<
- *                 cd_values = NULL
- *             else:
- */
-      __pyx_v_nelements = 0;
-
-      /* "h5py/h5p.pyx":548
- *             if values is None or len(values) == 0:
- *                 nelements = 0
- *                 cd_values = NULL             # <<<<<<<<<<<<<<
- *             else:
- *                 nelements = len(values)
- */
-      __pyx_v_cd_values = NULL;
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/h5p.pyx":550
- *                 cd_values = NULL
- *             else:
- *                 nelements = len(values)             # <<<<<<<<<<<<<<
- *                 cd_values = <unsigned int*>emalloc(sizeof(unsigned int)*nelements)
- * 
- */
-      __pyx_t_3 = PyObject_Length(__pyx_v_values); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 550; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_nelements = __pyx_t_3;
-
-      /* "h5py/h5p.pyx":551
- *             else:
- *                 nelements = len(values)
- *                 cd_values = <unsigned int*>emalloc(sizeof(unsigned int)*nelements)             # <<<<<<<<<<<<<<
- * 
- *                 for i from 0<=i<nelements:
- */
-      __pyx_t_6 = __pyx_f_4h5py_5utils_emalloc(((sizeof(unsigned int)) * __pyx_v_nelements)); if (unlikely(__pyx_t_6 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_cd_values = ((unsigned int *)__pyx_t_6);
-
-      /* "h5py/h5p.pyx":553
- *                 cd_values = <unsigned int*>emalloc(sizeof(unsigned int)*nelements)
- * 
- *                 for i from 0<=i<nelements:             # <<<<<<<<<<<<<<
- *                     cd_values[i] = int(values[i])
- * 
- */
-      __pyx_t_7 = __pyx_v_nelements;
-      for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_7; __pyx_v_i++) {
-
-        /* "h5py/h5p.pyx":554
- * 
- *                 for i from 0<=i<nelements:
- *                     cd_values[i] = int(values[i])             # <<<<<<<<<<<<<<
- * 
- *             H5Pset_filter(self.id, <H5Z_filter_t>filter_code, flags, nelements, cd_values)
- */
-        __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_values, __pyx_v_i, sizeof(int), PyInt_FromLong); if (!__pyx_t_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __Pyx_GOTREF(__pyx_t_8);
-        __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __Pyx_GOTREF(__pyx_t_9);
-        PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8);
-        __Pyx_GIVEREF(__pyx_t_8);
-        __pyx_t_8 = 0;
-        __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __Pyx_GOTREF(__pyx_t_8);
-        __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0;
-        __pyx_t_10 = __Pyx_PyInt_AsUnsignedInt(__pyx_t_8); if (unlikely((__pyx_t_10 == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 554; __pyx_clineno = __LINE__; goto __pyx_L4;}
-        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-        (__pyx_v_cd_values[__pyx_v_i]) = __pyx_t_10;
-      }
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5p.pyx":556
- *                     cd_values[i] = int(values[i])
- * 
- *             H5Pset_filter(self.id, <H5Z_filter_t>filter_code, flags, nelements, cd_values)             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(cd_values)
- */
-    __pyx_t_11 = __pyx_f_4h5py_4defs_H5Pset_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_code), __pyx_v_flags, __pyx_v_nelements, __pyx_v_cd_values); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 556; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5p.pyx":558
- *             H5Pset_filter(self.id, <H5Z_filter_t>filter_code, flags, nelements, cd_values)
- *         finally:
- *             efree(cd_values)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_cd_values);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_24all_filters_avail[] = "() => BOOL\n\n        Determine if all the filters in the pipelist are available to\n        the library.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("all_filters_avail (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":561
- * 
- * 
- *     def all_filters_avail(self):             # <<<<<<<<<<<<<<
- *         """() => BOOL
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_24all_filters_avail(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("all_filters_avail", 0);
-
-  /* "h5py/h5p.pyx":567
- *         the library.
- *         """
- *         return <bint>(H5Pall_filters_avail(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pall_filters_avail(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 567; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.all_filters_avail", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_26get_nfilters[] = "() => INT\n\n        Determine the number of filters in the pipeline.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_nfilters (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":570
- * 
- * 
- *     def get_nfilters(self):             # <<<<<<<<<<<<<<
- *         """() => INT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_26get_nfilters(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_nfilters", 0);
-
-  /* "h5py/h5p.pyx":575
- *         Determine the number of filters in the pipeline.
- *         """
- *         return H5Pget_nfilters(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_nfilters(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 575; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_nfilters", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_idx); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_28get_filter[] = "(UINT filter_idx) => TUPLE filter_info\n\n        Get information about a filter, identified by its index.  Tuple\n        elements are:\n\n        0. INT filter code (h5z.FILTER*)\n        1. UINT flags (h5z.FLAG*)\n        2. TUPLE of UINT values; filter aux data (16 values max)\n        3. STRING name of filter (256 chars max)\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_idx) {
-  int __pyx_v_filter_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_filter (wrapper)", 0);
-  assert(__pyx_arg_filter_idx); {
-    __pyx_v_filter_idx = __Pyx_PyInt_AsInt(__pyx_arg_filter_idx); if (unlikely((__pyx_v_filter_idx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 578; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_idx));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":578
- * 
- * 
- *     def get_filter(self, int filter_idx):             # <<<<<<<<<<<<<<
- *         """(UINT filter_idx) => TUPLE filter_info
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_28get_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_idx) {
-  PyObject *__pyx_v_vlist = 0;
-  int __pyx_v_filter_code;
-  unsigned int __pyx_v_flags;
-  size_t __pyx_v_nelements;
-  unsigned int __pyx_v_cd_values[16];
-  char __pyx_v_name[257];
-  int __pyx_v_i;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  H5Z_filter_t __pyx_t_3;
-  size_t __pyx_t_4;
-  int __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_filter", 0);
-
-  /* "h5py/h5p.pyx":596
- *         cdef char name[257]
- *         cdef int i
- *         nelements = 16 # HDF5 library actually complains if this is too big.             # <<<<<<<<<<<<<<
- * 
- *         if filter_idx < 0:
- */
-  __pyx_v_nelements = 16;
-
-  /* "h5py/h5p.pyx":598
- *         nelements = 16 # HDF5 library actually complains if this is too big.
- * 
- *         if filter_idx < 0:             # <<<<<<<<<<<<<<
- *             raise ValueError("Filter index must be a non-negative integer")
- * 
- */
-  __pyx_t_1 = (__pyx_v_filter_idx < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5p.pyx":599
- * 
- *         if filter_idx < 0:
- *             raise ValueError("Filter index must be a non-negative integer")             # <<<<<<<<<<<<<<
- * 
- *         filter_code = <int>H5Pget_filter(self.id, filter_idx, &flags,
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_6), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5p.pyx":602
- * 
- *         filter_code = <int>H5Pget_filter(self.id, filter_idx, &flags,
- *                                          &nelements, cd_values, 256, name)             # <<<<<<<<<<<<<<
- *         name[256] = c'\0'  # in case it's > 256 chars
- * 
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Pget_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_filter_idx, (&__pyx_v_flags), (&__pyx_v_nelements), __pyx_v_cd_values, 256, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 601; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_filter_code = ((int)__pyx_t_3);
-
-  /* "h5py/h5p.pyx":603
- *         filter_code = <int>H5Pget_filter(self.id, filter_idx, &flags,
- *                                          &nelements, cd_values, 256, name)
- *         name[256] = c'\0'  # in case it's > 256 chars             # <<<<<<<<<<<<<<
- * 
- *         vlist = []
- */
-  (__pyx_v_name[256]) = '\x00';
-
-  /* "h5py/h5p.pyx":605
- *         name[256] = c'\0'  # in case it's > 256 chars
- * 
- *         vlist = []             # <<<<<<<<<<<<<<
- *         for i from 0<=i<nelements:
- *             vlist.append(cd_values[i])
- */
-  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_v_vlist = ((PyObject*)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5p.pyx":606
- * 
- *         vlist = []
- *         for i from 0<=i<nelements:             # <<<<<<<<<<<<<<
- *             vlist.append(cd_values[i])
- * 
- */
-  __pyx_t_4 = __pyx_v_nelements;
-  for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_4; __pyx_v_i++) {
-
-    /* "h5py/h5p.pyx":607
- *         vlist = []
- *         for i from 0<=i<nelements:
- *             vlist.append(cd_values[i])             # <<<<<<<<<<<<<<
- * 
- *         return (filter_code, flags, tuple(vlist), name)
- */
-    __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_cd_values[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_5 = PyList_Append(__pyx_v_vlist, __pyx_t_2); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 607; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  }
-
-  /* "h5py/h5p.pyx":609
- *             vlist.append(cd_values[i])
- * 
- *         return (filter_code, flags, tuple(vlist), name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(__pyx_v_filter_code); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_6 = PyLong_FromUnsignedLong(__pyx_v_flags); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __pyx_t_7 = ((PyObject *)PyList_AsTuple(__pyx_v_vlist)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_7));
-  __pyx_t_8 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_8));
-  __pyx_t_9 = PyTuple_New(4); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 609; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_6);
-  __Pyx_GIVEREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_9, 2, ((PyObject *)__pyx_t_7));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_7));
-  PyTuple_SET_ITEM(__pyx_t_9, 3, ((PyObject *)__pyx_t_8));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_8));
-  __pyx_t_2 = 0;
-  __pyx_t_6 = 0;
-  __pyx_t_7 = 0;
-  __pyx_t_8 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_9);
-  __pyx_t_9 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_vlist);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_30_has_filter[] = "(INT filter_code)\n\n        Slow & stupid method to determine if a filter is used in this\n        property list.  Used because the HDF5 function H5Pget_filter_by_id\n        is broken.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code) {
-  int __pyx_v_filter_code;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_has_filter (wrapper)", 0);
-  assert(__pyx_arg_filter_code); {
-    __pyx_v_filter_code = __Pyx_PyInt_AsInt(__pyx_arg_filter_code); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID._has_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_code));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":612
- * 
- * 
- *     def _has_filter(self, int filter_code):             # <<<<<<<<<<<<<<
- *         """(INT filter_code)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_30_has_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code) {
-  int __pyx_v_nfilters;
-  long __pyx_v_i;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_has_filter", 0);
-
-  /* "h5py/h5p.pyx":620
- *         """
- *         cdef int nfilters
- *         nfilters = self.get_nfilters()             # <<<<<<<<<<<<<<
- *         for i from 0<=i<nfilters:
- *             if self.get_filter(i)[0] == filter_code:
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_nfilters); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_v_nfilters = __pyx_t_3;
-
-  /* "h5py/h5p.pyx":621
- *         cdef int nfilters
- *         nfilters = self.get_nfilters()
- *         for i from 0<=i<nfilters:             # <<<<<<<<<<<<<<
- *             if self.get_filter(i)[0] == filter_code:
- *                 return True
- */
-  __pyx_t_3 = __pyx_v_nfilters;
-  for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) {
-
-    /* "h5py/h5p.pyx":622
- *         nfilters = self.get_nfilters()
- *         for i from 0<=i<nfilters:
- *             if self.get_filter(i)[0] == filter_code:             # <<<<<<<<<<<<<<
- *                 return True
- *         return False
- */
-    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_filter); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_1 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
-    __Pyx_GIVEREF(__pyx_t_1);
-    __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_1, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyInt_FromLong(__pyx_v_filter_code); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_RichCompare(__pyx_t_4, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    if (__pyx_t_5) {
-
-      /* "h5py/h5p.pyx":623
- *         for i from 0<=i<nfilters:
- *             if self.get_filter(i)[0] == filter_code:
- *                 return True             # <<<<<<<<<<<<<<
- *         return False
- * 
- */
-      __Pyx_XDECREF(__pyx_r);
-      __pyx_t_2 = __Pyx_PyBool_FromLong(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 623; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __pyx_r = __pyx_t_2;
-      __pyx_t_2 = 0;
-      goto __pyx_L0;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-  }
-
-  /* "h5py/h5p.pyx":624
- *             if self.get_filter(i)[0] == filter_code:
- *                 return True
- *         return False             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyBool_FromLong(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 624; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID._has_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_33get_filter_by_id(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_32get_filter_by_id[] = "(INT filter_code) => TUPLE filter_info or None\n\n        Get information about a filter, identified by its code (one\n        of h5z.FILTER*).  If the filter doesn't exist, returns None.\n        Tuple elements are:\n\n        0. UINT flags (h5z.FLAG*)\n        1. TUPLE of UINT values; filter aux data (16 values max)\n        2. STRING name of filter (256 chars max)\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_33get_filter_by_id(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_code) {
-  int __pyx_v_filter_code;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_filter_by_id (wrapper)", 0);
-  assert(__pyx_arg_filter_code); {
-    __pyx_v_filter_code = __Pyx_PyInt_AsInt(__pyx_arg_filter_code); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 627; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_32get_filter_by_id(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_code));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":627
- * 
- * 
- *     def get_filter_by_id(self, int filter_code):             # <<<<<<<<<<<<<<
- *         """(INT filter_code) => TUPLE filter_info or None
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_32get_filter_by_id(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_code) {
-  PyObject *__pyx_v_vlist = 0;
-  unsigned int __pyx_v_flags;
-  size_t __pyx_v_nelements;
-  unsigned int __pyx_v_cd_values[16];
-  char __pyx_v_name[257];
-  CYTHON_UNUSED herr_t __pyx_v_retval;
-  int __pyx_v_i;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_t_4;
-  int __pyx_t_5;
-  herr_t __pyx_t_6;
-  size_t __pyx_t_7;
-  int __pyx_t_8;
-  PyObject *__pyx_t_9 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_filter_by_id", 0);
-
-  /* "h5py/h5p.pyx":645
- *         cdef herr_t retval
- *         cdef int i
- *         nelements = 16 # HDF5 library actually complains if this is too big.             # <<<<<<<<<<<<<<
- * 
- *         if not self._has_filter(filter_code):
- */
-  __pyx_v_nelements = 16;
-
-  /* "h5py/h5p.pyx":647
- *         nelements = 16 # HDF5 library actually complains if this is too big.
- * 
- *         if not self._has_filter(filter_code):             # <<<<<<<<<<<<<<
- *             # Avoid library segfault
- *             return None
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s___has_filter); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyInt_FromLong(__pyx_v_filter_code); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_5 = (!__pyx_t_4);
-  if (__pyx_t_5) {
-
-    /* "h5py/h5p.pyx":649
- *         if not self._has_filter(filter_code):
- *             # Avoid library segfault
- *             return None             # <<<<<<<<<<<<<<
- * 
- *         retval = H5Pget_filter_by_id(self.id, <H5Z_filter_t>filter_code,
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(Py_None);
-    __pyx_r = Py_None;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5p.pyx":652
- * 
- *         retval = H5Pget_filter_by_id(self.id, <H5Z_filter_t>filter_code,
- *                                      &flags, &nelements, cd_values, 256, name)             # <<<<<<<<<<<<<<
- *         assert nelements <= 16
- * 
- */
-  __pyx_t_6 = __pyx_f_4h5py_4defs_H5Pget_filter_by_id(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_code), (&__pyx_v_flags), (&__pyx_v_nelements), __pyx_v_cd_values, 256, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_retval = __pyx_t_6;
-
-  /* "h5py/h5p.pyx":653
- *         retval = H5Pget_filter_by_id(self.id, <H5Z_filter_t>filter_code,
- *                                      &flags, &nelements, cd_values, 256, name)
- *         assert nelements <= 16             # <<<<<<<<<<<<<<
- * 
- *         name[256] = c'\0'  # In case HDF5 doesn't terminate it properly
- */
-  #ifndef CYTHON_WITHOUT_ASSERTIONS
-  if (unlikely(!(__pyx_v_nelements <= 16))) {
-    PyErr_SetNone(PyExc_AssertionError);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  #endif
-
-  /* "h5py/h5p.pyx":655
- *         assert nelements <= 16
- * 
- *         name[256] = c'\0'  # In case HDF5 doesn't terminate it properly             # <<<<<<<<<<<<<<
- * 
- *         vlist = []
- */
-  (__pyx_v_name[256]) = '\x00';
-
-  /* "h5py/h5p.pyx":657
- *         name[256] = c'\0'  # In case HDF5 doesn't terminate it properly
- * 
- *         vlist = []             # <<<<<<<<<<<<<<
- *         for i from 0<=i<nelements:
- *             vlist.append(cd_values[i])
- */
-  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_v_vlist = ((PyObject*)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5p.pyx":658
- * 
- *         vlist = []
- *         for i from 0<=i<nelements:             # <<<<<<<<<<<<<<
- *             vlist.append(cd_values[i])
- * 
- */
-  __pyx_t_7 = __pyx_v_nelements;
-  for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_7; __pyx_v_i++) {
-
-    /* "h5py/h5p.pyx":659
- *         vlist = []
- *         for i from 0<=i<nelements:
- *             vlist.append(cd_values[i])             # <<<<<<<<<<<<<<
- * 
- *         return (flags, tuple(vlist), name)
- */
-    __pyx_t_2 = PyLong_FromUnsignedLong((__pyx_v_cd_values[__pyx_v_i])); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_8 = PyList_Append(__pyx_v_vlist, __pyx_t_2); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  }
-
-  /* "h5py/h5p.pyx":661
- *             vlist.append(cd_values[i])
- * 
- *         return (flags, tuple(vlist), name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_flags); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = ((PyObject *)PyList_AsTuple(__pyx_v_vlist)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  __pyx_t_1 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_9, 1, ((PyObject *)__pyx_t_3));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-  PyTuple_SET_ITEM(__pyx_t_9, 2, ((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_1 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_9);
-  __pyx_t_9 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.get_filter_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_vlist);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_class); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_34remove_filter[] = "(INT filter_class)\n\n        Remove a filter from the pipeline.  The class code is one of\n        h5z.FILTER*.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter(PyObject *__pyx_v_self, PyObject *__pyx_arg_filter_class) {
-  int __pyx_v_filter_class;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("remove_filter (wrapper)", 0);
-  assert(__pyx_arg_filter_class); {
-    __pyx_v_filter_class = __Pyx_PyInt_AsInt(__pyx_arg_filter_class); if (unlikely((__pyx_v_filter_class == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.remove_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), ((int)__pyx_v_filter_class));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":664
- * 
- * 
- *     def remove_filter(self, int filter_class):             # <<<<<<<<<<<<<<
- *         """(INT filter_class)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_34remove_filter(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, int __pyx_v_filter_class) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("remove_filter", 0);
-
-  /* "h5py/h5p.pyx":670
- *         h5z.FILTER*.
- *         """
- *         H5Premove_filter(self.id, <H5Z_filter_t>filter_class)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Premove_filter(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5Z_filter_t)__pyx_v_filter_class)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.remove_filter", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_36set_deflate[] = "(UINT level=5)\n\n        Enable deflate (gzip) compression, at the given level.\n        Valid levels are 0-9, default is 5.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  unsigned int __pyx_v_level;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_deflate (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__level,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__level);
-          if (value) { values[0] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_deflate") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    if (values[0]) {
-      __pyx_v_level = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_level == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_level = ((unsigned int)5);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_deflate", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_deflate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_level);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":673
- * 
- * 
- *     def set_deflate(self, unsigned int level=5):             # <<<<<<<<<<<<<<
- *         """(UINT level=5)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_36set_deflate(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_level) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_deflate", 0);
-
-  /* "h5py/h5p.pyx":679
- *         Valid levels are 0-9, default is 5.
- *         """
- *         H5Pset_deflate(self.id, level)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_deflate(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_level); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 679; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_deflate", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_38set_fletcher32[] = "()\n\n        Enable Fletcher32 error correction on this list.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fletcher32 (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":682
- * 
- * 
- *     def set_fletcher32(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_38set_fletcher32(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fletcher32", 0);
-
-  /* "h5py/h5p.pyx":687
- *         Enable Fletcher32 error correction on this list.
- *         """
- *         H5Pset_fletcher32(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fletcher32(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 687; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_fletcher32", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_40set_shuffle[] = "()\n\n        Enable to use of the shuffle filter.  Use this immediately before\n        the deflate filter to increase the compression ratio.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_shuffle (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":690
- * 
- * 
- *     def set_shuffle(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_40set_shuffle(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_shuffle", 0);
-
-  /* "h5py/h5p.pyx":696
- *         the deflate filter to increase the compression ratio.
- *         """
- *         H5Pset_shuffle(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_shuffle(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 696; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_shuffle", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_42set_szip[] = "(UINT options, UINT pixels_per_block)\n\n        Enable SZIP compression.  See the HDF5 docs for argument meanings,\n        and general restrictions on use of the SZIP format.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  unsigned int __pyx_v_options;
-  unsigned int __pyx_v_pixels_per_block;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_szip (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__options,&__pyx_n_s__pixels_per_block,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__options)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__pixels_per_block)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_szip", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_szip") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_options = __Pyx_PyInt_AsUnsignedInt(values[0]); if (unlikely((__pyx_v_options == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_pixels_per_block = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_pixels_per_block == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_szip", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 699; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_szip", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_options, __pyx_v_pixels_per_block);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":699
- * 
- * 
- *     def set_szip(self, unsigned int options, unsigned int pixels_per_block):             # <<<<<<<<<<<<<<
- *         """(UINT options, UINT pixels_per_block)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_42set_szip(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, unsigned int __pyx_v_options, unsigned int __pyx_v_pixels_per_block) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_szip", 0);
-
-  /* "h5py/h5p.pyx":705
- *         and general restrictions on use of the SZIP format.
- *         """
- *         H5Pset_szip(self.id, options, pixels_per_block)             # <<<<<<<<<<<<<<
- * 
- *     def set_scaleoffset(self, H5Z_SO_scale_type_t scale_type, int scale_factor):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_szip(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_options, __pyx_v_pixels_per_block); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_szip", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_45set_scaleoffset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDCID_44set_scaleoffset[] = "(H5Z_SO_scale_type_t scale_type, INT scale_factor)\n\n        Enable scale/offset (usually lossy) compression; lossless (e.g. gzip)\n        compression and other filters may be applied on top of this.\n\n        Note that error detection (i.e. fletcher32) cannot precede this in\n        the filter chain, or else all reads on lossily-compressed data will\n        fail.";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDCID_45set_scaleoffset(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  enum H5Z_SO_scale_type_t __pyx_v_scale_type;
-  int __pyx_v_scale_factor;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_scaleoffset (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__scale_type,&__pyx_n_s__scale_factor,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__scale_type)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__scale_factor)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_scaleoffset", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_scaleoffset") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_scale_type = ((enum H5Z_SO_scale_type_t)PyInt_AsLong(values[0])); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_scale_factor = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_scale_factor == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_scaleoffset", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_scaleoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDCID_44set_scaleoffset(((struct __pyx_obj_4h5py_3h5p_PropDCID *)__pyx_v_self), __pyx_v_scale_type, __pyx_v_scale_factor);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":707
- *         H5Pset_szip(self.id, options, pixels_per_block)
- * 
- *     def set_scaleoffset(self, H5Z_SO_scale_type_t scale_type, int scale_factor):             # <<<<<<<<<<<<<<
- *         '''(H5Z_SO_scale_type_t scale_type, INT scale_factor)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDCID_44set_scaleoffset(struct __pyx_obj_4h5py_3h5p_PropDCID *__pyx_v_self, enum H5Z_SO_scale_type_t __pyx_v_scale_type, int __pyx_v_scale_factor) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_scaleoffset", 0);
-
-  /* "h5py/h5p.pyx":716
- *         the filter chain, or else all reads on lossily-compressed data will
- *         fail.'''
- *         H5Pset_scaleoffset(self.id, scale_type, scale_factor)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_scaleoffset(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_scale_type, __pyx_v_scale_factor); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 716; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDCID.set_scaleoffset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree(PyObject *__pyx_v_self, PyObject *__pyx_arg_close_degree); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_set_fclose_degree[] = "(INT close_degree)\n\n        Set the file-close degree, which determines library behavior when\n        a file is closed when objects are still open.  Legal values:\n\n        * h5f.CLOSE_WEAK\n        * h5f.CLOSE_SEMI\n        * h5f.CLOSE_STRONG\n        * h5f.CLOSE_DEFAULT\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree(PyObject *__pyx_v_self, PyObject *__pyx_arg_close_degree) {
-  int __pyx_v_close_degree;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fclose_degree (wrapper)", 0);
-  assert(__pyx_arg_close_degree); {
-    __pyx_v_close_degree = __Pyx_PyInt_AsInt(__pyx_arg_close_degree); if (unlikely((__pyx_v_close_degree == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((int)__pyx_v_close_degree));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":727
- * 
- * 
- *     def set_fclose_degree(self, int close_degree):             # <<<<<<<<<<<<<<
- *         """(INT close_degree)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_set_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_close_degree) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fclose_degree", 0);
-
-  /* "h5py/h5p.pyx":738
- *         * h5f.CLOSE_DEFAULT
- *         """
- *         H5Pset_fclose_degree(self.id, <H5F_close_degree_t>close_degree)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fclose_degree(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((enum H5F_close_degree_t)__pyx_v_close_degree)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 738; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_2get_fclose_degree[] = "() => INT close_degree\n        - h5fd.\n        Get the file-close degree, which determines library behavior when\n        a file is closed when objects are still open.  Legal values:\n\n        * h5f.CLOSE_WEAK\n        * h5f.CLOSE_SEMI\n        * h5f.CLOSE_STRONG\n        * h5f.CLOSE_DEFAULT\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_fclose_degree (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":741
- * 
- * 
- *     def get_fclose_degree(self):             # <<<<<<<<<<<<<<
- *         """() => INT close_degree
- *         - h5fd.
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_2get_fclose_degree(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  enum H5F_close_degree_t __pyx_v_deg;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_fclose_degree", 0);
-
-  /* "h5py/h5p.pyx":753
- *         """
- *         cdef H5F_close_degree_t deg
- *         H5Pget_fclose_degree(self.id, &deg)             # <<<<<<<<<<<<<<
- *         return deg
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fclose_degree(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_deg)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 753; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":754
- *         cdef H5F_close_degree_t deg
- *         H5Pget_fclose_degree(self.id, &deg)
- *         return deg             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(__pyx_v_deg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fclose_degree", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_4set_fapl_core[] = "(UINT increment=64k, BOOL backing_store=True)\n\n        Use the h5fd.CORE (memory-resident) file driver.\n\n        increment\n            Chunk size for new memory requests (default 1 meg)\n\n        backing_store\n            If True (default), memory contents are associated with an\n            on-disk file, which is updated when the file is closed.\n            Set to False for a purely in-memory file.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  size_t __pyx_v_block_size;
-  hbool_t __pyx_v_backing_store;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fapl_core (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__block_size,&__pyx_n_s__backing_store,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__block_size);
-          if (value) { values[0] = value; kw_args--; }
-        }
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__backing_store);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_core") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    if (values[0]) {
-      __pyx_v_block_size = __Pyx_PyInt_AsSize_t(values[0]); if (unlikely((__pyx_v_block_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_block_size = ((size_t)65536);
-    }
-    if (values[1]) {
-      __pyx_v_backing_store = __Pyx_PyInt_from_py_hbool_t(values[1]); if (unlikely((__pyx_v_backing_store == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_backing_store = ((hbool_t)1);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_fapl_core", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_block_size, __pyx_v_backing_store);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":757
- * 
- * 
- *     def set_fapl_core(self, size_t block_size=64*1024, hbool_t backing_store=1):             # <<<<<<<<<<<<<<
- *         """(UINT increment=64k, BOOL backing_store=True)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_4set_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_block_size, hbool_t __pyx_v_backing_store) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fapl_core", 0);
-
-  /* "h5py/h5p.pyx":770
- *             Set to False for a purely in-memory file.
- *         """
- *         H5Pset_fapl_core(self.id, block_size, backing_store)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_core(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_block_size, __pyx_v_backing_store); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 770; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_6get_fapl_core[] = "() => TUPLE core_settings\n\n        Determine settings for the h5fd.CORE (memory-resident) file driver.\n        Tuple elements are:\n\n        0. UINT \"increment\": Chunk size for new memory requests\n        1. BOOL \"backing_store\": If True, write the memory contents to\n           disk when the file is closed.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_fapl_core (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":773
- * 
- * 
- *     def get_fapl_core(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE core_settings
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_6get_fapl_core(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  size_t __pyx_v_increment;
-  hbool_t __pyx_v_backing_store;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_fapl_core", 0);
-
-  /* "h5py/h5p.pyx":785
- *         cdef size_t increment
- *         cdef hbool_t backing_store
- *         H5Pget_fapl_core(self.id, &increment, &backing_store)             # <<<<<<<<<<<<<<
- *         return (increment, <bint>(backing_store))
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fapl_core(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_increment), (&__pyx_v_backing_store)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":786
- *         cdef hbool_t backing_store
- *         H5Pget_fapl_core(self.id, &increment, &backing_store)
- *         return (increment, <bint>(backing_store))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_increment); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __Pyx_PyBool_FromLong(((int)__pyx_v_backing_store)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_4);
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fapl_core", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_8set_fapl_family[] = "(UINT memb_size=2**31-1, PropFAID memb_fapl=None)\n\n        Set up the family driver.\n\n        memb_size\n            Member file size\n\n        memb_fapl\n            File access property list for each member access\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  hsize_t __pyx_v_memb_size;
-  struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fapl_family (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__memb_size,&__pyx_n_s__memb_fapl,0};
-    PyObject* values[2] = {0,0};
-
-    /* "h5py/h5p.pyx":789
- * 
- * 
- *     def set_fapl_family(self, hsize_t memb_size=2147483647, PropID memb_fapl=None):             # <<<<<<<<<<<<<<
- *         """(UINT memb_size=2**31-1, PropFAID memb_fapl=None)
- * 
- */
-    values[1] = (PyObject *)((struct __pyx_obj_4h5py_3h5p_PropID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__memb_size);
-          if (value) { values[0] = value; kw_args--; }
-        }
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__memb_fapl);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_family") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    if (values[0]) {
-      __pyx_v_memb_size = __Pyx_PyInt_from_py_hsize_t(values[0]); if (unlikely((__pyx_v_memb_size == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_memb_size = ((hsize_t)2147483647);
-    }
-    __pyx_v_memb_fapl = ((struct __pyx_obj_4h5py_3h5p_PropID *)values[1]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_fapl_family", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_memb_fapl), __pyx_ptype_4h5py_3h5p_PropID, 1, "memb_fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_memb_size, __pyx_v_memb_fapl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_8set_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, hsize_t __pyx_v_memb_size, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_memb_fapl) {
-  hid_t __pyx_v_plist_id;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fapl_family", 0);
-
-  /* "h5py/h5p.pyx":801
- *         """
- *         cdef hid_t plist_id
- *         plist_id = pdefault(memb_fapl)             # <<<<<<<<<<<<<<
- *         H5Pset_fapl_family(self.id, memb_size, plist_id)
- * 
- */
-  __pyx_v_plist_id = __pyx_f_4h5py_3h5p_pdefault(__pyx_v_memb_fapl);
-
-  /* "h5py/h5p.pyx":802
- *         cdef hid_t plist_id
- *         plist_id = pdefault(memb_fapl)
- *         H5Pset_fapl_family(self.id, memb_size, plist_id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_family(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_memb_size, __pyx_v_plist_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_10get_fapl_family[] = "() => TUPLE info\n\n        Determine family driver settings. Tuple values are:\n\n        0. UINT memb_size\n        1. PropFAID memb_fapl or None\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_fapl_family (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":805
- * 
- * 
- *     def get_fapl_family(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE info
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_10get_fapl_family(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  hid_t __pyx_v_mfapl_id;
-  hsize_t __pyx_v_msize;
-  struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_plist = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_fapl_family", 0);
-
-  /* "h5py/h5p.pyx":816
- *         cdef hsize_t msize
- *         cdef PropFAID plist
- *         plist = None             # <<<<<<<<<<<<<<
- * 
- *         H5Pget_fapl_family(self.id, &msize, &mfapl_id)
- */
-  __Pyx_INCREF(Py_None);
-  __pyx_v_plist = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)Py_None);
-
-  /* "h5py/h5p.pyx":818
- *         plist = None
- * 
- *         H5Pget_fapl_family(self.id, &msize, &mfapl_id)             # <<<<<<<<<<<<<<
- * 
- *         if mfapl_id > 0:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_fapl_family(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_msize), (&__pyx_v_mfapl_id)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":820
- *         H5Pget_fapl_family(self.id, &msize, &mfapl_id)
- * 
- *         if mfapl_id > 0:             # <<<<<<<<<<<<<<
- *             plist = PropFAID.open(mfapl_id)
- * 
- */
-  __pyx_t_2 = (__pyx_v_mfapl_id > 0);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5p.pyx":821
- * 
- *         if mfapl_id > 0:
- *             plist = PropFAID.open(mfapl_id)             # <<<<<<<<<<<<<<
- * 
- *         return (msize, plist)
- */
-    __pyx_t_3 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5p_PropFAID)), __pyx_n_s__open); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = __Pyx_PyInt_to_py_hid_t(__pyx_v_mfapl_id); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
-    __Pyx_GIVEREF(__pyx_t_4);
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    if (!(likely(((__pyx_t_4) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_4, __pyx_ptype_4h5py_3h5p_PropFAID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(((PyObject *)__pyx_v_plist));
-    __pyx_v_plist = ((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_t_4);
-    __pyx_t_4 = 0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5p.pyx":823
- *             plist = PropFAID.open(mfapl_id)
- * 
- *         return (msize, plist)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_4 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_msize); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __Pyx_INCREF(((PyObject *)__pyx_v_plist));
-  PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_v_plist));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_plist));
-  __pyx_t_4 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_5);
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_fapl_family", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_plist);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_12set_fapl_log[] = "(STRING logfile, UINT flags, UINT buf_size)\n\n        Enable the use of the logging driver.  See the HDF5 documentation\n        for details.  Flag constants are stored in module h5fd.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_logfile;
-  unsigned int __pyx_v_flags;
-  size_t __pyx_v_buf_size;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fapl_log (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__logfile,&__pyx_n_s__flags,&__pyx_n_s__buf_size,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__logfile)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__flags)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buf_size)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fapl_log") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_logfile = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_logfile) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(values[1]); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_buf_size = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_buf_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_fapl_log", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_log", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_logfile, __pyx_v_flags, __pyx_v_buf_size);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":826
- * 
- * 
- *     def set_fapl_log(self, char* logfile, unsigned int flags, size_t buf_size):             # <<<<<<<<<<<<<<
- *         """(STRING logfile, UINT flags, UINT buf_size)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_12set_fapl_log(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, char *__pyx_v_logfile, unsigned int __pyx_v_flags, size_t __pyx_v_buf_size) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fapl_log", 0);
-
-  /* "h5py/h5p.pyx":832
- *         for details.  Flag constants are stored in module h5fd.
- *         """
- *         H5Pset_fapl_log(self.id, logfile, flags, buf_size)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_log(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_logfile, __pyx_v_flags, __pyx_v_buf_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_log", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_14set_fapl_sec2[] = "()\n\n        Select the \"section-2\" driver (h5fd.SEC2).\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fapl_sec2 (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":835
- * 
- * 
- *     def set_fapl_sec2(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_14set_fapl_sec2(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fapl_sec2", 0);
-
-  /* "h5py/h5p.pyx":840
- *         Select the "section-2" driver (h5fd.SEC2).
- *         """
- *         H5Pset_fapl_sec2(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_sec2(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_sec2", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_16set_fapl_stdio[] = "()\n\n        Select the \"stdio\" driver (h5fd.STDIO)\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fapl_stdio (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":843
- * 
- * 
- *     def set_fapl_stdio(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_16set_fapl_stdio(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fapl_stdio", 0);
-
-  /* "h5py/h5p.pyx":848
- *         Select the "stdio" driver (h5fd.STDIO)
- *         """
- *         H5Pset_fapl_stdio(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_fapl_stdio(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_fapl_stdio", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_19get_driver(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_18get_driver[] = "() => INT driver code\n\n        Return an integer identifier for the driver used by this list.\n        Although HDF5 implements these as full-fledged objects, they are\n        treated as integers by Python.  Built-in drivers identifiers are\n        listed in module h5fd; they are:\n\n        - h5fd.CORE\n        - h5fd.FAMILY\n        - h5fd.LOG\n        - h5fd.MPIO\n        - h5fd.MULTI\n        - h5fd.SEC2\n        - h5fd [...]
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_19get_driver(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_driver (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_18get_driver(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":851
- * 
- * 
- *     def get_driver(self):             # <<<<<<<<<<<<<<
- *         """() => INT driver code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_18get_driver(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_driver", 0);
-
-  /* "h5py/h5p.pyx":867
- *         - h5fd.STDIO
- *         """
- *         return H5Pget_driver(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_driver(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_driver", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_21set_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_20set_cache[] = "(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)\n\n        Set the metadata (mdc) and raw data chunk (rdcc) cache properties.\n        See the HDF5 docs for a full explanation.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_21set_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_v_mdc;
-  int __pyx_v_rdcc;
-  size_t __pyx_v_rdcc_nbytes;
-  double __pyx_v_rdcc_w0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_cache (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__mdc,&__pyx_n_s__rdcc,&__pyx_n_s__rdcc_nbytes,&__pyx_n_s__rdcc_w0,0};
-    PyObject* values[4] = {0,0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mdc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_nbytes)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_w0)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_cache") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-    }
-    __pyx_v_mdc = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_mdc == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_rdcc = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_rdcc == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_rdcc_nbytes = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_rdcc_nbytes == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_rdcc_w0 = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_rdcc_w0 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_cache", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_20set_cache(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_mdc, __pyx_v_rdcc, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":870
- * 
- * 
- *     def set_cache(self, int mdc, int rdcc, size_t rdcc_nbytes, double rdcc_w0):             # <<<<<<<<<<<<<<
- *         """(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_20set_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_mdc, int __pyx_v_rdcc, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_cache", 0);
-
-  /* "h5py/h5p.pyx":876
- *         See the HDF5 docs for a full explanation.
- *         """
- *         H5Pset_cache(self.id, mdc, rdcc, rdcc_nbytes, rdcc_w0)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_mdc, __pyx_v_rdcc, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 876; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_23get_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_22get_cache[] = "() => TUPLE cache info\n\n        Get the metadata and raw data chunk cache settings.  See the HDF5\n        docs for element definitions.  Return is a 4-tuple with entries:\n\n        1. INT mdc:              Number of metadata objects\n        2. INT rdcc:             Number of raw data chunks\n        3. UINT rdcc_nbytes:     Size of raw data cache\n        4. DOUBLE rdcc_w0:       Preemption policy for data cache.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_23get_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_cache (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_22get_cache(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":879
- * 
- * 
- *     def get_cache(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE cache info
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_22get_cache(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  int __pyx_v_mdc;
-  int __pyx_v_rdcc;
-  size_t __pyx_v_rdcc_nbytes;
-  double __pyx_v_w0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_cache", 0);
-
-  /* "h5py/h5p.pyx":894
- *         cdef double w0
- * 
- *         H5Pget_cache(self.id, &mdc, &rdcc, &rdcc_nbytes, &w0)             # <<<<<<<<<<<<<<
- *         return (mdc, rdcc, rdcc_nbytes, w0)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_mdc), (&__pyx_v_rdcc), (&__pyx_v_rdcc_nbytes), (&__pyx_v_w0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":895
- * 
- *         H5Pget_cache(self.id, &mdc, &rdcc, &rdcc_nbytes, &w0)
- *         return (mdc, rdcc, rdcc_nbytes, w0)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(__pyx_v_mdc); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(__pyx_v_rdcc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_rdcc_nbytes); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyFloat_FromDouble(__pyx_v_w0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_6 = PyTuple_New(4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 895; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_t_5 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_6);
-  __pyx_t_6 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_25set_sieve_buf_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_24set_sieve_buf_size[] = " (UINT size)\n\n        Set the maximum size of the data sieve buffer (in bytes).  This\n        buffer can improve I/O performance for hyperslab I/O, by combining\n        reads and writes into blocks of the given size.  The default is 64k.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_25set_sieve_buf_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
-  size_t __pyx_v_size;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_sieve_buf_size (wrapper)", 0);
-  assert(__pyx_arg_size); {
-    __pyx_v_size = __Pyx_PyInt_AsSize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_24set_sieve_buf_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((size_t)__pyx_v_size));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":898
- * 
- * 
- *     def set_sieve_buf_size(self, size_t size):             # <<<<<<<<<<<<<<
- *         """ (UINT size)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_24set_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, size_t __pyx_v_size) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_sieve_buf_size", 0);
-
-  /* "h5py/h5p.pyx":905
- *         reads and writes into blocks of the given size.  The default is 64k.
- *         """
- *         H5Pset_sieve_buf_size(self.id, size)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_sieve_buf_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 905; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_27get_sieve_buf_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_26get_sieve_buf_size[] = " () => UINT size\n\n        Get the current maximum size of the data sieve buffer (in bytes).\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_27get_sieve_buf_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_sieve_buf_size (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_26get_sieve_buf_size(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":908
- * 
- * 
- *     def get_sieve_buf_size(self):             # <<<<<<<<<<<<<<
- *         """ () => UINT size
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_26get_sieve_buf_size(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  size_t __pyx_v_size;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_sieve_buf_size", 0);
-
-  /* "h5py/h5p.pyx":914
- *         """
- *         cdef size_t size
- *         H5Pget_sieve_buf_size(self.id, &size)             # <<<<<<<<<<<<<<
- *         return size
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_sieve_buf_size(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_size)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":915
- *         cdef size_t size
- *         H5Pget_sieve_buf_size(self.id, &size)
- *         return size             # <<<<<<<<<<<<<<
- * 
- *     def set_libver_bounds(self, int low, int high):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_sieve_buf_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_29set_libver_bounds(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_28set_libver_bounds[] = " (INT low, INT high)\n\n        Set the compatibility level for file format.  Legal values are:\n\n        - h5f.LIBVER_EARLIEST\n        - h5f.LIBVER_LATEST\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_29set_libver_bounds(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_v_low;
-  int __pyx_v_high;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_libver_bounds (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__low,&__pyx_n_s__high,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__low)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__high)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_libver_bounds", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_libver_bounds") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_low = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_low == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_high = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_high == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_libver_bounds", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_28set_libver_bounds(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), __pyx_v_low, __pyx_v_high);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":917
- *         return size
- * 
- *     def set_libver_bounds(self, int low, int high):             # <<<<<<<<<<<<<<
- *         """ (INT low, INT high)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_28set_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, int __pyx_v_low, int __pyx_v_high) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_libver_bounds", 0);
-
-  /* "h5py/h5p.pyx":925
- *         - h5f.LIBVER_LATEST
- *         """
- *         H5Pset_libver_bounds(self.id, <H5F_libver_t>low, <H5F_libver_t>high)             # <<<<<<<<<<<<<<
- * 
- *     def get_libver_bounds(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_libver_bounds(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5F_libver_t)__pyx_v_low), ((H5F_libver_t)__pyx_v_high)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 925; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_31get_libver_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_30get_libver_bounds[] = " () => (INT low, INT high)\n\n        Get the compatibility level for file format. Returned values are from:\n\n        - h5f.LIBVER_EARLIEST\n        - h5f.LIBVER_LATEST\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_31get_libver_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_libver_bounds (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_30get_libver_bounds(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":927
- *         H5Pset_libver_bounds(self.id, <H5F_libver_t>low, <H5F_libver_t>high)
- * 
- *     def get_libver_bounds(self):             # <<<<<<<<<<<<<<
- *         """ () => (INT low, INT high)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_30get_libver_bounds(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  H5F_libver_t __pyx_v_low;
-  H5F_libver_t __pyx_v_high;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_libver_bounds", 0);
-
-  /* "h5py/h5p.pyx":937
- *         cdef H5F_libver_t low
- *         cdef H5F_libver_t high
- *         H5Pget_libver_bounds(self.id, &low, &high)             # <<<<<<<<<<<<<<
- * 
- *         return (<int>low, <int>high)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_libver_bounds(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_low), (&__pyx_v_high)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":939
- *         H5Pget_libver_bounds(self.id, &low, &high)
- * 
- *         return (<int>low, <int>high)             # <<<<<<<<<<<<<<
- * 
- *     IF MPI:
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_v_low)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(((int)__pyx_v_high)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 939; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_4);
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_libver_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_33get_mdc_config(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_32get_mdc_config[] = "() => CacheConfig\n        Returns an object that stores all the information about the meta-data cache\n        configuration\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_33get_mdc_config(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_mdc_config (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_32get_mdc_config(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":963
- *             H5Pset_fapl_mpiposix(self.id, comm.ob_mpi, use_gpfs_hints)
- * 
- *     def get_mdc_config(self):             # <<<<<<<<<<<<<<
- *         """() => CacheConfig
- *         Returns an object that stores all the information about the meta-data cache
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_32get_mdc_config(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config = 0;
-  herr_t __pyx_v_err;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  herr_t __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_mdc_config", 0);
-
-  /* "h5py/h5p.pyx":969
- *         """
- * 
- *         cdef CacheConfig config = CacheConfig()             # <<<<<<<<<<<<<<
- * 
- *         cdef herr_t  err
- */
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_4h5ac_CacheConfig)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 969; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_config = ((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5p.pyx":972
- * 
- *         cdef herr_t  err
- *         err = H5Fget_mdc_config(self.id, &config.cache_config)             # <<<<<<<<<<<<<<
- *         if err < 0:
- *             raise RuntimeError("Failed to get hit rate")
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Fget_mdc_config(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_config->cache_config)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 972; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_err = __pyx_t_2;
-
-  /* "h5py/h5p.pyx":973
- *         cdef herr_t  err
- *         err = H5Fget_mdc_config(self.id, &config.cache_config)
- *         if err < 0:             # <<<<<<<<<<<<<<
- *             raise RuntimeError("Failed to get hit rate")
- * 
- */
-  __pyx_t_3 = (__pyx_v_err < 0);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5p.pyx":974
- *         err = H5Fget_mdc_config(self.id, &config.cache_config)
- *         if err < 0:
- *             raise RuntimeError("Failed to get hit rate")             # <<<<<<<<<<<<<<
- * 
- *         return config
- */
-    __pyx_t_1 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_8), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5p.pyx":976
- *             raise RuntimeError("Failed to get hit rate")
- * 
- *         return config             # <<<<<<<<<<<<<<
- * 
- *     def set_mdc_config(self, CacheConfig config not None):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_config));
-  __pyx_r = ((PyObject *)__pyx_v_config);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.get_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_config);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_35set_mdc_config(PyObject *__pyx_v_self, PyObject *__pyx_v_config); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropFAID_34set_mdc_config[] = "(CacheConfig) => None\n        Returns an object that stores all the information about the meta-data cache\n        configuration\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropFAID_35set_mdc_config(PyObject *__pyx_v_self, PyObject *__pyx_v_config) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_mdc_config (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_config), __pyx_ptype_4h5py_4h5ac_CacheConfig, 0, "config", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropFAID_34set_mdc_config(((struct __pyx_obj_4h5py_3h5p_PropFAID *)__pyx_v_self), ((struct __pyx_obj_4h5py_4h5ac_CacheConfig *)__pyx_v_config));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":978
- *         return config
- * 
- *     def set_mdc_config(self, CacheConfig config not None):             # <<<<<<<<<<<<<<
- *         """(CacheConfig) => None
- *         Returns an object that stores all the information about the meta-data cache
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropFAID_34set_mdc_config(struct __pyx_obj_4h5py_3h5p_PropFAID *__pyx_v_self, struct __pyx_obj_4h5py_4h5ac_CacheConfig *__pyx_v_config) {
-  herr_t __pyx_v_err;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_mdc_config", 0);
-
-  /* "h5py/h5p.pyx":985
- *         # I feel this should have some sanity checking to make sure that
- *         cdef herr_t  err
- *         err = H5Fset_mdc_config(self.id, &config.cache_config)             # <<<<<<<<<<<<<<
- *         if err < 0:
- *             raise RuntimeError("Failed to get hit rate")
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Fset_mdc_config(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_config->cache_config)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 985; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_err = __pyx_t_1;
-
-  /* "h5py/h5p.pyx":986
- *         cdef herr_t  err
- *         err = H5Fset_mdc_config(self.id, &config.cache_config)
- *         if err < 0:             # <<<<<<<<<<<<<<
- *             raise RuntimeError("Failed to get hit rate")
- * 
- */
-  __pyx_t_2 = (__pyx_v_err < 0);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5p.pyx":987
- *         err = H5Fset_mdc_config(self.id, &config.cache_config)
- *         if err < 0:
- *             raise RuntimeError("Failed to get hit rate")             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5p.PropFAID.set_mdc_config", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding(PyObject *__pyx_v_self, PyObject *__pyx_arg_encoding); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLCID_set_char_encoding[] = " (INT encoding)\n\n        Set the character encoding for link names.  Legal values are:\n\n        - h5t.CSET_ASCII\n        - h5t.CSET_UTF8\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding(PyObject *__pyx_v_self, PyObject *__pyx_arg_encoding) {
-  int __pyx_v_encoding;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_char_encoding (wrapper)", 0);
-  assert(__pyx_arg_encoding); {
-    __pyx_v_encoding = __Pyx_PyInt_AsInt(__pyx_arg_encoding); if (unlikely((__pyx_v_encoding == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 995; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLCID.set_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self), ((int)__pyx_v_encoding));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":995
- *     """ Link creation property list """
- * 
- *     def set_char_encoding(self, int encoding):             # <<<<<<<<<<<<<<
- *         """ (INT encoding)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_set_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_encoding) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_char_encoding", 0);
-
-  /* "h5py/h5p.pyx":1003
- *         - h5t.CSET_UTF8
- *         """
- *         H5Pset_char_encoding(self.id, <H5T_cset_t>encoding)             # <<<<<<<<<<<<<<
- * 
- *     def get_char_encoding(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_char_encoding(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, ((H5T_cset_t)__pyx_v_encoding)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1003; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLCID.set_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLCID_2get_char_encoding[] = " () => INT encoding\n\n        Get the character encoding for link names.  Legal values are:\n\n        - h5t.CSET_ASCII\n        - h5t.CSET_UTF8\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_char_encoding (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1005
- *         H5Pset_char_encoding(self.id, <H5T_cset_t>encoding)
- * 
- *     def get_char_encoding(self):             # <<<<<<<<<<<<<<
- *         """ () => INT encoding
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_2get_char_encoding(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self) {
-  H5T_cset_t __pyx_v_encoding;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_char_encoding", 0);
-
-  /* "h5py/h5p.pyx":1014
- *         """
- *         cdef H5T_cset_t encoding
- *         H5Pget_char_encoding(self.id, &encoding)             # <<<<<<<<<<<<<<
- *         return <int>encoding
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_char_encoding(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_encoding)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1014; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":1015
- *         cdef H5T_cset_t encoding
- *         H5Pget_char_encoding(self.id, &encoding)
- *         return <int>encoding             # <<<<<<<<<<<<<<
- * 
- *     def set_create_intermediate_group(self, bint create):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_v_encoding)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1015; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropLCID.get_char_encoding", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group(PyObject *__pyx_v_self, PyObject *__pyx_arg_create); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLCID_4set_create_intermediate_group[] = "(BOOL create)\n\n        Set whether missing intermediate groups are automatically created.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group(PyObject *__pyx_v_self, PyObject *__pyx_arg_create) {
-  int __pyx_v_create;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_create_intermediate_group (wrapper)", 0);
-  assert(__pyx_arg_create); {
-    __pyx_v_create = __Pyx_PyObject_IsTrue(__pyx_arg_create); if (unlikely((__pyx_v_create == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLCID.set_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self), ((int)__pyx_v_create));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1017
- *         return <int>encoding
- * 
- *     def set_create_intermediate_group(self, bint create):             # <<<<<<<<<<<<<<
- *         """(BOOL create)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_4set_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self, int __pyx_v_create) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_create_intermediate_group", 0);
-
-  /* "h5py/h5p.pyx":1022
- *         Set whether missing intermediate groups are automatically created.
- *         """
- *         H5Pset_create_intermediate_group(self.id, create)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_create_intermediate_group(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_create); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLCID.set_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLCID_6get_create_intermediate_group[] = "() => BOOL\n\n        Determine if missing intermediate groups are automatically created.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_create_intermediate_group (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(((struct __pyx_obj_4h5py_3h5p_PropLCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1025
- * 
- * 
- *     def get_create_intermediate_group(self):             # <<<<<<<<<<<<<<
- *         """() => BOOL
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLCID_6get_create_intermediate_group(struct __pyx_obj_4h5py_3h5p_PropLCID *__pyx_v_self) {
-  unsigned int __pyx_v_create;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_create_intermediate_group", 0);
-
-  /* "h5py/h5p.pyx":1031
- *         """
- *         cdef unsigned int create
- *         H5Pget_create_intermediate_group(self.id, &create)             # <<<<<<<<<<<<<<
- *         return <bint>create
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_create_intermediate_group(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_create)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":1032
- *         cdef unsigned int create
- *         H5Pget_create_intermediate_group(self.id, &create)
- *         return <bint>create             # <<<<<<<<<<<<<<
- * 
- * # Link access
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_v_create)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropLCID.get_create_intermediate_group", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  if (unlikely(__pyx_kwds) && unlikely(PyDict_Size(__pyx_kwds) > 0) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 0))) return -1;
-  __Pyx_INCREF(__pyx_args);
-  __pyx_v_args = __pyx_args;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), __pyx_v_args);
-  __Pyx_XDECREF(__pyx_v_args);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1039
- *     """ Link access property list """
- * 
- *     def __cinit__(self, *args):             # <<<<<<<<<<<<<<
- *         self._buf = NULL
- * 
- */
-
-static int __pyx_pf_4h5py_3h5p_8PropLAID___cinit__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "h5py/h5p.pyx":1040
- * 
- *     def __cinit__(self, *args):
- *         self._buf = NULL             # <<<<<<<<<<<<<<
- * 
- *     def __dealloc__(self):
- */
-  __pyx_v_self->_buf = NULL;
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static void __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
-static void __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(PyObject *__pyx_v_self) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
-  __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-}
-
-/* "h5py/h5p.pyx":1042
- *         self._buf = NULL
- * 
- *     def __dealloc__(self):             # <<<<<<<<<<<<<<
- *         efree(self._buf)
- * 
- */
-
-static void __pyx_pf_4h5py_3h5p_8PropLAID_2__dealloc__(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__dealloc__", 0);
-
-  /* "h5py/h5p.pyx":1043
- * 
- *     def __dealloc__(self):
- *         efree(self._buf)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_f_4h5py_5utils_efree(__pyx_v_self->_buf);
-
-  __Pyx_RefNannyFinishContext();
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks(PyObject *__pyx_v_self, PyObject *__pyx_arg_nlinks); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLAID_4set_nlinks[] = "(UINT nlinks)\n\n        Set the maximum traversal depth for soft links\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks(PyObject *__pyx_v_self, PyObject *__pyx_arg_nlinks) {
-  size_t __pyx_v_nlinks;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_nlinks (wrapper)", 0);
-  assert(__pyx_arg_nlinks); {
-    __pyx_v_nlinks = __Pyx_PyInt_AsSize_t(__pyx_arg_nlinks); if (unlikely((__pyx_v_nlinks == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1046; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((size_t)__pyx_v_nlinks));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1046
- * 
- * 
- *     def set_nlinks(self, size_t nlinks):             # <<<<<<<<<<<<<<
- *         """(UINT nlinks)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_4set_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, size_t __pyx_v_nlinks) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_nlinks", 0);
-
-  /* "h5py/h5p.pyx":1051
- *         Set the maximum traversal depth for soft links
- *         """
- *         H5Pset_nlinks(self.id, nlinks)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_nlinks(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_nlinks); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1051; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLAID_6get_nlinks[] = "() => UINT\n\n        Get the maximum traversal depth for soft links\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_nlinks (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1054
- * 
- * 
- *     def get_nlinks(self):             # <<<<<<<<<<<<<<
- *         """() => UINT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_6get_nlinks(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
-  size_t __pyx_v_nlinks;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_nlinks", 0);
-
-  /* "h5py/h5p.pyx":1060
- *         """
- *         cdef size_t nlinks
- *         H5Pget_nlinks(self.id, &nlinks)             # <<<<<<<<<<<<<<
- *         return nlinks
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_nlinks(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_nlinks)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1060; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":1061
- *         cdef size_t nlinks
- *         H5Pget_nlinks(self.id, &nlinks)
- *         return nlinks             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_nlinks); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1061; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropLAID.get_nlinks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLAID_8set_elink_prefix[] = "(STRING prefix)\n\n        Set the external link prefix.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix(PyObject *__pyx_v_self, PyObject *__pyx_arg_prefix) {
-  char *__pyx_v_prefix;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_elink_prefix (wrapper)", 0);
-  assert(__pyx_arg_prefix); {
-    __pyx_v_prefix = PyBytes_AsString(__pyx_arg_prefix); if (unlikely((!__pyx_v_prefix) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((char *)__pyx_v_prefix));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1064
- * 
- * 
- *     def set_elink_prefix(self, char* prefix):             # <<<<<<<<<<<<<<
- *         """(STRING prefix)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_8set_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, char *__pyx_v_prefix) {
-  size_t __pyx_v_size;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  void *__pyx_t_1;
-  herr_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_elink_prefix", 0);
-
-  /* "h5py/h5p.pyx":1072
- * 
- *         # HDF5 requires that we hang on to this buffer
- *         efree(self._buf)             # <<<<<<<<<<<<<<
- *         size = strlen(prefix)
- *         self._buf = <char*>emalloc(size+1)
- */
-  __pyx_f_4h5py_5utils_efree(__pyx_v_self->_buf);
-
-  /* "h5py/h5p.pyx":1073
- *         # HDF5 requires that we hang on to this buffer
- *         efree(self._buf)
- *         size = strlen(prefix)             # <<<<<<<<<<<<<<
- *         self._buf = <char*>emalloc(size+1)
- *         strcpy(self._buf, prefix)
- */
-  __pyx_v_size = strlen(__pyx_v_prefix);
-
-  /* "h5py/h5p.pyx":1074
- *         efree(self._buf)
- *         size = strlen(prefix)
- *         self._buf = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
- *         strcpy(self._buf, prefix)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_1 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1074; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_self->_buf = ((char *)__pyx_t_1);
-
-  /* "h5py/h5p.pyx":1075
- *         size = strlen(prefix)
- *         self._buf = <char*>emalloc(size+1)
- *         strcpy(self._buf, prefix)             # <<<<<<<<<<<<<<
- * 
- *         H5Pset_elink_prefix(self.id, self._buf)
- */
-  strcpy(__pyx_v_self->_buf, __pyx_v_prefix);
-
-  /* "h5py/h5p.pyx":1077
- *         strcpy(self._buf, prefix)
- * 
- *         H5Pset_elink_prefix(self.id, self._buf)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pset_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_self->_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLAID_10get_elink_prefix[] = "() => STRING prefix\n\n        Get the external link prefix\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_elink_prefix (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1080
- * 
- * 
- *     def get_elink_prefix(self):             # <<<<<<<<<<<<<<
- *         """() => STRING prefix
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_10get_elink_prefix(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
-  char *__pyx_v_buf;
-  Py_ssize_t __pyx_v_size;
-  char *__pyx_v_pstr;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_elink_prefix", 0);
-
-  /* "h5py/h5p.pyx":1085
- *         Get the external link prefix
- *         """
- *         cdef char* buf = NULL             # <<<<<<<<<<<<<<
- *         cdef ssize_t size
- * 
- */
-  __pyx_v_buf = NULL;
-
-  /* "h5py/h5p.pyx":1088
- *         cdef ssize_t size
- * 
- *         size = H5Pget_elink_prefix(self.id, NULL, 0)             # <<<<<<<<<<<<<<
- *         buf = <char*>emalloc(size+1)
- *         try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1088; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_size = __pyx_t_1;
-
-  /* "h5py/h5p.pyx":1089
- * 
- *         size = H5Pget_elink_prefix(self.id, NULL, 0)
- *         buf = <char*>emalloc(size+1)             # <<<<<<<<<<<<<<
- *         try:
- *             H5Pget_elink_prefix(self.id, buf, size+1)
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc((__pyx_v_size + 1)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = ((char *)__pyx_t_2);
-
-  /* "h5py/h5p.pyx":1090
- *         size = H5Pget_elink_prefix(self.id, NULL, 0)
- *         buf = <char*>emalloc(size+1)
- *         try:             # <<<<<<<<<<<<<<
- *             H5Pget_elink_prefix(self.id, buf, size+1)
- *             pstr = buf
- */
-  /*try:*/ {
-
-    /* "h5py/h5p.pyx":1091
- *         buf = <char*>emalloc(size+1)
- *         try:
- *             H5Pget_elink_prefix(self.id, buf, size+1)             # <<<<<<<<<<<<<<
- *             pstr = buf
- *         finally:
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_prefix(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_buf, (__pyx_v_size + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1091; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5p.pyx":1092
- *         try:
- *             H5Pget_elink_prefix(self.id, buf, size+1)
- *             pstr = buf             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(buf)
- */
-    __pyx_v_pstr = __pyx_v_buf;
-  }
-
-  /* "h5py/h5p.pyx":1094
- *             pstr = buf
- *         finally:
- *             efree(buf)             # <<<<<<<<<<<<<<
- * 
- *         return pstr
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/h5p.pyx":1096
- *             efree(buf)
- * 
- *         return pstr             # <<<<<<<<<<<<<<
- * 
- *     def set_elink_fapl(self, PropID fapl not None):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = PyBytes_FromString(__pyx_v_pstr); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1096; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  __pyx_r = ((PyObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5p.PropLAID.get_elink_prefix", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl(PyObject *__pyx_v_self, PyObject *__pyx_v_fapl); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLAID_12set_elink_fapl[] = " (PropFAID fapl)\n\n        Set the file access property list used when opening external files.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl(PyObject *__pyx_v_self, PyObject *__pyx_v_fapl) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_elink_fapl (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_fapl), __pyx_ptype_4h5py_3h5p_PropID, 0, "fapl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1098; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5p_PropID *)__pyx_v_fapl));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1098
- *         return pstr
- * 
- *     def set_elink_fapl(self, PropID fapl not None):             # <<<<<<<<<<<<<<
- *         """ (PropFAID fapl)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_12set_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self, struct __pyx_obj_4h5py_3h5p_PropID *__pyx_v_fapl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_elink_fapl", 0);
-
-  /* "h5py/h5p.pyx":1103
- *         Set the file access property list used when opening external files.
- *         """
- *         H5Pset_elink_fapl(self.id, fapl.id)             # <<<<<<<<<<<<<<
- * 
- *     def get_elink_fapl(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_elink_fapl(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_fapl->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropLAID.set_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropLAID_14get_elink_fapl[] = " () => PropFAID fapl\n\n        Get the file access property list used when opening external files.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_elink_fapl (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(((struct __pyx_obj_4h5py_3h5p_PropLAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1105
- *         H5Pset_elink_fapl(self.id, fapl.id)
- * 
- *     def get_elink_fapl(self):             # <<<<<<<<<<<<<<
- *         """ () => PropFAID fapl
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropLAID_14get_elink_fapl(struct __pyx_obj_4h5py_3h5p_PropLAID *__pyx_v_self) {
-  hid_t __pyx_v_fid;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_elink_fapl", 0);
-
-  /* "h5py/h5p.pyx":1111
- *         """
- *         cdef hid_t fid
- *         fid = H5Pget_elink_fapl(self.id)             # <<<<<<<<<<<<<<
- *         if H5Iget_ref(fid) > 1:
- *             H5Idec_ref(fid)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_elink_fapl(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_fid = __pyx_t_1;
-
-  /* "h5py/h5p.pyx":1112
- *         cdef hid_t fid
- *         fid = H5Pget_elink_fapl(self.id)
- *         if H5Iget_ref(fid) > 1:             # <<<<<<<<<<<<<<
- *             H5Idec_ref(fid)
- *         return propwrap(fid)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Iget_ref(__pyx_v_fid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = (__pyx_t_2 > 1);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5p.pyx":1113
- *         fid = H5Pget_elink_fapl(self.id)
- *         if H5Iget_ref(fid) > 1:
- *             H5Idec_ref(fid)             # <<<<<<<<<<<<<<
- *         return propwrap(fid)
- * 
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Idec_ref(__pyx_v_fid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5p.pyx":1114
- *         if H5Iget_ref(fid) > 1:
- *             H5Idec_ref(fid)
- *         return propwrap(fid)             # <<<<<<<<<<<<<<
- * 
- * # Group creation
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_4 = __pyx_f_4h5py_3h5p_propwrap(__pyx_v_fid); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_r = __pyx_t_4;
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5p.PropLAID.get_elink_fapl", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_1set_link_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropGCID_set_link_creation_order[] = " (UINT flags)\n\n        Set tracking and indexing of creation order for links added to this group\n\n        flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_1set_link_creation_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_flags) {
-  unsigned int __pyx_v_flags;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_link_creation_order (wrapper)", 0);
-  assert(__pyx_arg_flags); {
-    __pyx_v_flags = __Pyx_PyInt_AsUnsignedInt(__pyx_arg_flags); if (unlikely((__pyx_v_flags == (unsigned int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropGCID.set_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropGCID_set_link_creation_order(((struct __pyx_obj_4h5py_3h5p_PropGCID *)__pyx_v_self), ((unsigned int)__pyx_v_flags));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1120
- *     """ Group creation property list """
- * 
- *     def set_link_creation_order(self, unsigned int flags):             # <<<<<<<<<<<<<<
- *         """ (UINT flags)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_set_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self, unsigned int __pyx_v_flags) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_link_creation_order", 0);
-
-  /* "h5py/h5p.pyx":1127
- *         flags -- h5p.CRT_ORDER_TRACKED, h5p.CRT_ORDER_INDEXED
- *         """
- *         H5Pset_link_creation_order(self.id, flags)             # <<<<<<<<<<<<<<
- * 
- *     def get_link_creation_order(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_link_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_flags); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropGCID.set_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_3get_link_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropGCID_2get_link_creation_order[] = " () -> UINT flags\n\n        Get tracking and indexing of creation order for links added to this group\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropGCID_3get_link_creation_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_link_creation_order (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropGCID_2get_link_creation_order(((struct __pyx_obj_4h5py_3h5p_PropGCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1129
- *         H5Pset_link_creation_order(self.id, flags)
- * 
- *     def get_link_creation_order(self):             # <<<<<<<<<<<<<<
- *         """ () -> UINT flags
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropGCID_2get_link_creation_order(struct __pyx_obj_4h5py_3h5p_PropGCID *__pyx_v_self) {
-  unsigned int __pyx_v_flags;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_link_creation_order", 0);
-
-  /* "h5py/h5p.pyx":1135
- *         """
- *         cdef unsigned int flags
- *         H5Pget_link_creation_order(self.id, &flags)             # <<<<<<<<<<<<<<
- *         return flags
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_link_creation_order(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_flags)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":1136
- *         cdef unsigned int flags
- *         H5Pget_link_creation_order(self.id, &flags)
- *         return flags             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_flags); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropGCID.get_link_creation_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_1set_obj_track_times(PyObject *__pyx_v_self, PyObject *__pyx_v_track_times); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropOCID_set_obj_track_times[] = "Sets the recording of times associated with an object.";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_1set_obj_track_times(PyObject *__pyx_v_self, PyObject *__pyx_v_track_times) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_obj_track_times (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_set_obj_track_times(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self), ((PyObject *)__pyx_v_track_times));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1148
- *     The documentation is somewhat hazy
- *     """
- *     def set_obj_track_times(self,track_times):             # <<<<<<<<<<<<<<
- *         """Sets the recording of times associated with an object."""
- *         H5Pset_obj_track_times(self.id,track_times)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_set_obj_track_times(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self, PyObject *__pyx_v_track_times) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hbool_t __pyx_t_1;
-  herr_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_obj_track_times", 0);
-
-  /* "h5py/h5p.pyx":1150
- *     def set_obj_track_times(self,track_times):
- *         """Sets the recording of times associated with an object."""
- *         H5Pset_obj_track_times(self.id,track_times)             # <<<<<<<<<<<<<<
- * 
- *     def get_obj_track_times(self):
- */
-  __pyx_t_1 = __Pyx_PyInt_from_py_hbool_t(__pyx_v_track_times); if (unlikely((__pyx_t_1 == (hbool_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Pset_obj_track_times(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, __pyx_t_1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropOCID.set_obj_track_times", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_3get_obj_track_times(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropOCID_2get_obj_track_times[] = "\n        Determines whether times associated with an object are being recorded.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropOCID_3get_obj_track_times(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_obj_track_times (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropOCID_2get_obj_track_times(((struct __pyx_obj_4h5py_3h5p_PropOCID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1152
- *         H5Pset_obj_track_times(self.id,track_times)
- * 
- *     def get_obj_track_times(self):             # <<<<<<<<<<<<<<
- *         """
- *         Determines whether times associated with an object are being recorded.
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropOCID_2get_obj_track_times(struct __pyx_obj_4h5py_3h5p_PropOCID *__pyx_v_self) {
-  hbool_t __pyx_v_track_times;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_obj_track_times", 0);
-
-  /* "h5py/h5p.pyx":1159
- *         cdef hbool_t track_times
- * 
- *         H5Pget_obj_track_times(self.id,&track_times)             # <<<<<<<<<<<<<<
- * 
- *         return track_times
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_obj_track_times(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_track_times)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":1161
- *         H5Pget_obj_track_times(self.id,&track_times)
- * 
- *         return track_times             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_to_py_hbool_t(__pyx_v_track_times); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5p.PropOCID.get_obj_track_times", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_1set_chunk_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDAID_set_chunk_cache[] = "(size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0)\n\n        Sets the raw data chunk cache parameters.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_1set_chunk_cache(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  size_t __pyx_v_rdcc_nslots;
-  size_t __pyx_v_rdcc_nbytes;
-  double __pyx_v_rdcc_w0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_chunk_cache (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__rdcc_nslots,&__pyx_n_s__rdcc_nbytes,&__pyx_n_s__rdcc_w0,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_nslots)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_nbytes)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_chunk_cache", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__rdcc_w0)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_chunk_cache", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_chunk_cache") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_rdcc_nslots = __Pyx_PyInt_AsSize_t(values[0]); if (unlikely((__pyx_v_rdcc_nslots == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_rdcc_nbytes = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_rdcc_nbytes == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_rdcc_w0 = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_rdcc_w0 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_chunk_cache", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_set_chunk_cache(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self), __pyx_v_rdcc_nslots, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1169
- *     """ Dataset access property list """
- * 
- *     def set_chunk_cache(self, size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0):             # <<<<<<<<<<<<<<
- *         """(size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_set_chunk_cache(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self, size_t __pyx_v_rdcc_nslots, size_t __pyx_v_rdcc_nbytes, double __pyx_v_rdcc_w0) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_chunk_cache", 0);
-
-  /* "h5py/h5p.pyx":1174
- *         Sets the raw data chunk cache parameters.
- *         """
- *         H5Pset_chunk_cache(self.id,rdcc_nslots,rdcc_nbytes,rdcc_w0)             # <<<<<<<<<<<<<<
- * 
- *     def get_chunk_cache(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pset_chunk_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_rdcc_nslots, __pyx_v_rdcc_nbytes, __pyx_v_rdcc_w0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5p.PropDAID.set_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_3get_chunk_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5p_8PropDAID_2get_chunk_cache[] = "() => TUPLE chunk cache info\n\n        Get the metadata and raw data chunk cache settings.  See the HDF5\n        docs for element definitions.  Return is a 3-tuple with entries:\n\n        0. size_t rdcc_nslots: Number of chunk slots in the raw data chunk cache hash table.\n        1. size_t rdcc_nbytes: Total size of the raw data chunk cache, in bytes.\n        2. DOUBLE rdcc_w0:     Preemption policy.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5p_8PropDAID_3get_chunk_cache(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_chunk_cache (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5p_8PropDAID_2get_chunk_cache(((struct __pyx_obj_4h5py_3h5p_PropDAID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5p.pyx":1176
- *         H5Pset_chunk_cache(self.id,rdcc_nslots,rdcc_nbytes,rdcc_w0)
- * 
- *     def get_chunk_cache(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE chunk cache info
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5p_8PropDAID_2get_chunk_cache(struct __pyx_obj_4h5py_3h5p_PropDAID *__pyx_v_self) {
-  size_t __pyx_v_rdcc_nslots;
-  size_t __pyx_v_rdcc_nbytes;
-  double __pyx_v_rdcc_w0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_chunk_cache", 0);
-
-  /* "h5py/h5p.pyx":1190
- *         cdef double rdcc_w0
- * 
- *         H5Pget_chunk_cache(self.id, &rdcc_nslots, &rdcc_nbytes, &rdcc_w0 )             # <<<<<<<<<<<<<<
- *         return (rdcc_nslots,rdcc_nbytes,rdcc_w0)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Pget_chunk_cache(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_rdcc_nslots), (&__pyx_v_rdcc_nbytes), (&__pyx_v_rdcc_w0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":1191
- * 
- *         H5Pget_chunk_cache(self.id, &rdcc_nslots, &rdcc_nbytes, &rdcc_w0 )
- *         return (rdcc_nslots,rdcc_nbytes,rdcc_w0)             # <<<<<<<<<<<<<<
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_rdcc_nslots); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_rdcc_nbytes); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyFloat_FromDouble(__pyx_v_rdcc_w0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_5);
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5p.PropDAID.get_chunk_cache", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_ptype_4h5py_8_objects_ObjectID->tp_new(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5p_PropID(PyObject *o) {
-  PyObject_GC_UnTrack(o);
-  PyObject_GC_Track(o);
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5p_PropID);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5p_PropID(PyObject *o, visitproc v, void *a) {
-  int e;
-  e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5p_PropID)); if (e) return e;
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5p_PropID(PyObject *o) {
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5p_PropID);
-  return 0;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropID[] = {
-  {__Pyx_NAMESTR("equal"), (PyCFunction)__pyx_pw_4h5py_3h5p_6PropID_1equal, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_6PropID_equal)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropID, /*tp_as_mapping*/
-  __pyx_pw_4h5py_3h5p_6PropID_5__hash__, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Base class for all property lists and classes\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  __pyx_pw_4h5py_3h5p_6PropID_3__richcmp__, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropClassID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropClassID[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropClassID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropClassID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropClassID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropClassID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropClassID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropClassID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropClassID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropClassID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropClassID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropClassID, /*tp_as_mapping*/
-  __pyx_pw_4h5py_3h5p_11PropClassID_3__hash__, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropClassID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        An HDF5 property list class.\n\n        * Hashable: Yes, by identifier\n        * Equality: Logical H5P comparison\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  __pyx_pw_4h5py_3h5p_11PropClassID_1__richcmp__, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropClassID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropClassID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropInstanceID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropInstanceID[] = {
-  {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_1copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_copy)},
-  {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_3_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_2_close)},
-  {__Pyx_NAMESTR("get_class"), (PyCFunction)__pyx_pw_4h5py_3h5p_14PropInstanceID_5get_class, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_14PropInstanceID_4get_class)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropInstanceID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropInstanceID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropInstanceID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropInstanceID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropInstanceID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropInstanceID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropInstanceID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropInstanceID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropInstanceID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropInstanceID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropInstanceID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Base class for property list instance objects.  Provides methods which\n        are common across all HDF5 property list classes.\n\n        * Hashable: No\n        * Equality: Logical H5P comparison\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropInstanceID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropInstanceID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropCreateID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropCreateID[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropCreateID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropCreateID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropCreateID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropCreateID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropCreateID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropCreateID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropCreateID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropCreateID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropCreateID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropCreateID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropCreateID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Generic object creation property list.\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropCreateID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropCreateID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropCopyID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropCopyID[] = {
-  {__Pyx_NAMESTR("set_copy_object"), (PyCFunction)__pyx_pw_4h5py_3h5p_10PropCopyID_1set_copy_object, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_10PropCopyID_set_copy_object)},
-  {__Pyx_NAMESTR("get_copy_object"), (PyCFunction)__pyx_pw_4h5py_3h5p_10PropCopyID_3get_copy_object, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_10PropCopyID_2get_copy_object)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropCopyID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropCopyID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropCopyID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropCopyID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropCopyID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropCopyID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropCopyID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropCopyID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropCopyID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropCopyID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropCopyID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Generic object copy property list\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropCopyID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropCopyID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropOCID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropOCID[] = {
-  {__Pyx_NAMESTR("set_obj_track_times"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_1set_obj_track_times, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropOCID_set_obj_track_times)},
-  {__Pyx_NAMESTR("get_obj_track_times"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropOCID_3get_obj_track_times, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropOCID_2get_obj_track_times)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropOCID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropOCID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropOCID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropOCID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropOCID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropOCID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropOCID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropOCID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropOCID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropOCID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropOCID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR(" Object creation property list\n\n    This seems to be a super class for dataset creation property list\n    and group creation property list.\n\n    The documentation is somewhat hazy\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropOCID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropOCID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropDCID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropDCID[] = {
-  {__Pyx_NAMESTR("set_layout"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_1set_layout, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_set_layout)},
-  {__Pyx_NAMESTR("get_layout"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_3get_layout, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_2get_layout)},
-  {__Pyx_NAMESTR("set_chunk"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_5set_chunk, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_4set_chunk)},
-  {__Pyx_NAMESTR("get_chunk"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_7get_chunk, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_6get_chunk)},
-  {__Pyx_NAMESTR("set_fill_value"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_9set_fill_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_8set_fill_value)},
-  {__Pyx_NAMESTR("get_fill_value"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_11get_fill_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_10get_fill_value)},
-  {__Pyx_NAMESTR("fill_value_defined"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_13fill_value_defined, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_12fill_value_defined)},
-  {__Pyx_NAMESTR("set_fill_time"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_15set_fill_time, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_14set_fill_time)},
-  {__Pyx_NAMESTR("get_fill_time"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_17get_fill_time, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_16get_fill_time)},
-  {__Pyx_NAMESTR("set_alloc_time"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_19set_alloc_time, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_18set_alloc_time)},
-  {__Pyx_NAMESTR("get_alloc_time"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_21get_alloc_time, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_20get_alloc_time)},
-  {__Pyx_NAMESTR("set_filter"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_23set_filter, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_22set_filter)},
-  {__Pyx_NAMESTR("all_filters_avail"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_25all_filters_avail, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_24all_filters_avail)},
-  {__Pyx_NAMESTR("get_nfilters"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_27get_nfilters, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_26get_nfilters)},
-  {__Pyx_NAMESTR("get_filter"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_29get_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_28get_filter)},
-  {__Pyx_NAMESTR("_has_filter"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_31_has_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_30_has_filter)},
-  {__Pyx_NAMESTR("get_filter_by_id"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_33get_filter_by_id, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_32get_filter_by_id)},
-  {__Pyx_NAMESTR("remove_filter"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_35remove_filter, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_34remove_filter)},
-  {__Pyx_NAMESTR("set_deflate"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_37set_deflate, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_36set_deflate)},
-  {__Pyx_NAMESTR("set_fletcher32"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_39set_fletcher32, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_38set_fletcher32)},
-  {__Pyx_NAMESTR("set_shuffle"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_41set_shuffle, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_40set_shuffle)},
-  {__Pyx_NAMESTR("set_szip"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_43set_szip, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_42set_szip)},
-  {__Pyx_NAMESTR("set_scaleoffset"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDCID_45set_scaleoffset, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDCID_44set_scaleoffset)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropDCID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropDCID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropDCID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropDCID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropDCID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropDCID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropDCID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropDCID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropDCID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropDCID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropDCID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Dataset creation property list.\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropDCID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropDCID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropFCID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropFCID[] = {
-  {__Pyx_NAMESTR("get_version"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_1get_version, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_get_version)},
-  {__Pyx_NAMESTR("set_userblock"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_3set_userblock, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_2set_userblock)},
-  {__Pyx_NAMESTR("get_userblock"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_5get_userblock, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_4get_userblock)},
-  {__Pyx_NAMESTR("set_sizes"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_7set_sizes, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_6set_sizes)},
-  {__Pyx_NAMESTR("get_sizes"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_9get_sizes, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_8get_sizes)},
-  {__Pyx_NAMESTR("set_link_creation_order"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_11set_link_creation_order, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_10set_link_creation_order)},
-  {__Pyx_NAMESTR("get_link_creation_order"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFCID_13get_link_creation_order, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFCID_12get_link_creation_order)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropFCID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropFCID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropFCID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropFCID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropFCID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropFCID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropFCID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropFCID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropFCID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropFCID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropFCID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        File creation property list.\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropFCID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropFCID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropFAID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropFAID[] = {
-  {__Pyx_NAMESTR("set_fclose_degree"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_1set_fclose_degree, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_set_fclose_degree)},
-  {__Pyx_NAMESTR("get_fclose_degree"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_3get_fclose_degree, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_2get_fclose_degree)},
-  {__Pyx_NAMESTR("set_fapl_core"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_5set_fapl_core, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_4set_fapl_core)},
-  {__Pyx_NAMESTR("get_fapl_core"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_7get_fapl_core, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_6get_fapl_core)},
-  {__Pyx_NAMESTR("set_fapl_family"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_9set_fapl_family, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_8set_fapl_family)},
-  {__Pyx_NAMESTR("get_fapl_family"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_11get_fapl_family, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_10get_fapl_family)},
-  {__Pyx_NAMESTR("set_fapl_log"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_13set_fapl_log, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_12set_fapl_log)},
-  {__Pyx_NAMESTR("set_fapl_sec2"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_15set_fapl_sec2, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_14set_fapl_sec2)},
-  {__Pyx_NAMESTR("set_fapl_stdio"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_17set_fapl_stdio, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_16set_fapl_stdio)},
-  {__Pyx_NAMESTR("get_driver"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_19get_driver, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_18get_driver)},
-  {__Pyx_NAMESTR("set_cache"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_21set_cache, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_20set_cache)},
-  {__Pyx_NAMESTR("get_cache"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_23get_cache, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_22get_cache)},
-  {__Pyx_NAMESTR("set_sieve_buf_size"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_25set_sieve_buf_size, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_24set_sieve_buf_size)},
-  {__Pyx_NAMESTR("get_sieve_buf_size"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_27get_sieve_buf_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_26get_sieve_buf_size)},
-  {__Pyx_NAMESTR("set_libver_bounds"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_29set_libver_bounds, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_28set_libver_bounds)},
-  {__Pyx_NAMESTR("get_libver_bounds"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_31get_libver_bounds, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_30get_libver_bounds)},
-  {__Pyx_NAMESTR("get_mdc_config"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_33get_mdc_config, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_32get_mdc_config)},
-  {__Pyx_NAMESTR("set_mdc_config"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropFAID_35set_mdc_config, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropFAID_34set_mdc_config)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropFAID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropFAID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropFAID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropFAID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropFAID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropFAID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropFAID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropFAID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropFAID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropFAID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropFAID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        File access property list\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropFAID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropFAID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropDXID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropDXID[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropDXID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropDXID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropDXID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropDXID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropDXID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropDXID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropDXID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropDXID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropDXID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropDXID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropDXID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR(" Dataset transfer property list "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropDXID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropDXID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropLCID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropLCID[] = {
-  {__Pyx_NAMESTR("set_char_encoding"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_1set_char_encoding, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_set_char_encoding)},
-  {__Pyx_NAMESTR("get_char_encoding"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_3get_char_encoding, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_2get_char_encoding)},
-  {__Pyx_NAMESTR("set_create_intermediate_group"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_5set_create_intermediate_group, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_4set_create_intermediate_group)},
-  {__Pyx_NAMESTR("get_create_intermediate_group"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLCID_7get_create_intermediate_group, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLCID_6get_create_intermediate_group)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropLCID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropLCID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropLCID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropLCID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropLCID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropLCID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropLCID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropLCID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropLCID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropLCID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropLCID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR(" Link creation property list "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropLCID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropLCID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropLAID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  if (__pyx_pw_4h5py_3h5p_8PropLAID_1__cinit__(o, a, k) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5p_PropLAID(PyObject *o) {
-  PyObject_GC_UnTrack(o);
-  {
-    PyObject *etype, *eval, *etb;
-    PyErr_Fetch(&etype, &eval, &etb);
-    ++Py_REFCNT(o);
-    __pyx_pw_4h5py_3h5p_8PropLAID_3__dealloc__(o);
-    if (PyErr_Occurred()) PyErr_WriteUnraisable(o);
-    --Py_REFCNT(o);
-    PyErr_Restore(etype, eval, etb);
-  }
-  PyObject_GC_Track(o);
-  __pyx_tp_dealloc_4h5py_3h5p_PropID(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropLAID[] = {
-  {__Pyx_NAMESTR("set_nlinks"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_5set_nlinks, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_4set_nlinks)},
-  {__Pyx_NAMESTR("get_nlinks"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_7get_nlinks, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_6get_nlinks)},
-  {__Pyx_NAMESTR("set_elink_prefix"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_9set_elink_prefix, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_8set_elink_prefix)},
-  {__Pyx_NAMESTR("get_elink_prefix"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_11get_elink_prefix, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_10get_elink_prefix)},
-  {__Pyx_NAMESTR("set_elink_fapl"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_13set_elink_fapl, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_12set_elink_fapl)},
-  {__Pyx_NAMESTR("get_elink_fapl"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropLAID_15get_elink_fapl, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropLAID_14get_elink_fapl)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropLAID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropLAID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropLAID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropLAID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropLAID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropLAID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropLAID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropLAID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropLAID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropLAID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropLAID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropLAID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR(" Link access property list "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropLAID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropLAID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropGCID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropGCID[] = {
-  {__Pyx_NAMESTR("set_link_creation_order"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropGCID_1set_link_creation_order, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropGCID_set_link_creation_order)},
-  {__Pyx_NAMESTR("get_link_creation_order"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropGCID_3get_link_creation_order, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropGCID_2get_link_creation_order)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropGCID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropGCID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropGCID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropGCID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropGCID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropGCID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropGCID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropGCID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropGCID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropGCID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropGCID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR(" Group creation property list "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropGCID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropGCID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5p_PropDAID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5p_PropID(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5p_PropDAID[] = {
-  {__Pyx_NAMESTR("set_chunk_cache"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_1set_chunk_cache, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDAID_set_chunk_cache)},
-  {__Pyx_NAMESTR("get_chunk_cache"), (PyCFunction)__pyx_pw_4h5py_3h5p_8PropDAID_3get_chunk_cache, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5p_8PropDAID_2get_chunk_cache)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_PropDAID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_PropDAID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_PropDAID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_PropDAID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5p_PropDAID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5p.PropDAID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5p_PropDAID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5p_PropID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_PropDAID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_PropDAID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_PropDAID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_PropDAID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR(" Dataset access property list "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5p_PropID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5p_PropID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5p_PropDAID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5p_PropDAID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5p"),
-    __Pyx_DOCSTR(__pyx_k_10), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0},
-  {&__pyx_n_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 1},
-  {&__pyx_kp_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 0},
-  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
-  {&__pyx_kp_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 0},
-  {&__pyx_n_s__CRT_ORDER_INDEXED, __pyx_k__CRT_ORDER_INDEXED, sizeof(__pyx_k__CRT_ORDER_INDEXED), 0, 0, 1, 1},
-  {&__pyx_n_s__CRT_ORDER_TRACKED, __pyx_k__CRT_ORDER_TRACKED, sizeof(__pyx_k__CRT_ORDER_TRACKED), 0, 0, 1, 1},
-  {&__pyx_n_s__DATASET_ACCESS, __pyx_k__DATASET_ACCESS, sizeof(__pyx_k__DATASET_ACCESS), 0, 0, 1, 1},
-  {&__pyx_n_s__DATASET_CREATE, __pyx_k__DATASET_CREATE, sizeof(__pyx_k__DATASET_CREATE), 0, 0, 1, 1},
-  {&__pyx_n_s__DATASET_XFER, __pyx_k__DATASET_XFER, sizeof(__pyx_k__DATASET_XFER), 0, 0, 1, 1},
-  {&__pyx_n_s__DEFAULT, __pyx_k__DEFAULT, sizeof(__pyx_k__DEFAULT), 0, 0, 1, 1},
-  {&__pyx_n_s__FILE_ACCESS, __pyx_k__FILE_ACCESS, sizeof(__pyx_k__FILE_ACCESS), 0, 0, 1, 1},
-  {&__pyx_n_s__FILE_CREATE, __pyx_k__FILE_CREATE, sizeof(__pyx_k__FILE_CREATE), 0, 0, 1, 1},
-  {&__pyx_n_s__GROUP_CREATE, __pyx_k__GROUP_CREATE, sizeof(__pyx_k__GROUP_CREATE), 0, 0, 1, 1},
-  {&__pyx_n_s__LINK_ACCESS, __pyx_k__LINK_ACCESS, sizeof(__pyx_k__LINK_ACCESS), 0, 0, 1, 1},
-  {&__pyx_n_s__LINK_CREATE, __pyx_k__LINK_CREATE, sizeof(__pyx_k__LINK_CREATE), 0, 0, 1, 1},
-  {&__pyx_n_s__NO_CLASS, __pyx_k__NO_CLASS, sizeof(__pyx_k__NO_CLASS), 0, 0, 1, 1},
-  {&__pyx_n_s__NotImplemented, __pyx_k__NotImplemented, sizeof(__pyx_k__NotImplemented), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJECT_COPY, __pyx_k__OBJECT_COPY, sizeof(__pyx_k__OBJECT_COPY), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJECT_CREATE, __pyx_k__OBJECT_CREATE, sizeof(__pyx_k__OBJECT_CREATE), 0, 0, 1, 1},
-  {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____richcmp__, __pyx_k____richcmp__, sizeof(__pyx_k____richcmp__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___has_filter, __pyx_k___has_filter, sizeof(__pyx_k___has_filter), 0, 0, 1, 1},
-  {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1},
-  {&__pyx_n_s__addr, __pyx_k__addr, sizeof(__pyx_k__addr), 0, 0, 1, 1},
-  {&__pyx_n_s__backing_store, __pyx_k__backing_store, sizeof(__pyx_k__backing_store), 0, 0, 1, 1},
-  {&__pyx_n_s__block_size, __pyx_k__block_size, sizeof(__pyx_k__block_size), 0, 0, 1, 1},
-  {&__pyx_n_s__buf_size, __pyx_k__buf_size, sizeof(__pyx_k__buf_size), 0, 0, 1, 1},
-  {&__pyx_n_s__cls, __pyx_k__cls, sizeof(__pyx_k__cls), 0, 0, 1, 1},
-  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
-  {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1},
-  {&__pyx_n_s__equal, __pyx_k__equal, sizeof(__pyx_k__equal), 0, 0, 1, 1},
-  {&__pyx_n_s__filter_code, __pyx_k__filter_code, sizeof(__pyx_k__filter_code), 0, 0, 1, 1},
-  {&__pyx_n_s__flags, __pyx_k__flags, sizeof(__pyx_k__flags), 0, 0, 1, 1},
-  {&__pyx_n_s__get_filter, __pyx_k__get_filter, sizeof(__pyx_k__get_filter), 0, 0, 1, 1},
-  {&__pyx_n_s__get_nfilters, __pyx_k__get_nfilters, sizeof(__pyx_k__get_nfilters), 0, 0, 1, 1},
-  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
-  {&__pyx_n_s__high, __pyx_k__high, sizeof(__pyx_k__high), 0, 0, 1, 1},
-  {&__pyx_n_s__level, __pyx_k__level, sizeof(__pyx_k__level), 0, 0, 1, 1},
-  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
-  {&__pyx_n_s__logfile, __pyx_k__logfile, sizeof(__pyx_k__logfile), 0, 0, 1, 1},
-  {&__pyx_n_s__low, __pyx_k__low, sizeof(__pyx_k__low), 0, 0, 1, 1},
-  {&__pyx_n_s__mdc, __pyx_k__mdc, sizeof(__pyx_k__mdc), 0, 0, 1, 1},
-  {&__pyx_n_s__memb_fapl, __pyx_k__memb_fapl, sizeof(__pyx_k__memb_fapl), 0, 0, 1, 1},
-  {&__pyx_n_s__memb_size, __pyx_k__memb_size, sizeof(__pyx_k__memb_size), 0, 0, 1, 1},
-  {&__pyx_n_s__newid, __pyx_k__newid, sizeof(__pyx_k__newid), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__options, __pyx_k__options, sizeof(__pyx_k__options), 0, 0, 1, 1},
-  {&__pyx_n_s__pixels_per_block, __pyx_k__pixels_per_block, sizeof(__pyx_k__pixels_per_block), 0, 0, 1, 1},
-  {&__pyx_n_s__rdcc, __pyx_k__rdcc, sizeof(__pyx_k__rdcc), 0, 0, 1, 1},
-  {&__pyx_n_s__rdcc_nbytes, __pyx_k__rdcc_nbytes, sizeof(__pyx_k__rdcc_nbytes), 0, 0, 1, 1},
-  {&__pyx_n_s__rdcc_nslots, __pyx_k__rdcc_nslots, sizeof(__pyx_k__rdcc_nslots), 0, 0, 1, 1},
-  {&__pyx_n_s__rdcc_w0, __pyx_k__rdcc_w0, sizeof(__pyx_k__rdcc_w0), 0, 0, 1, 1},
-  {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1},
-  {&__pyx_n_s__scale_factor, __pyx_k__scale_factor, sizeof(__pyx_k__scale_factor), 0, 0, 1, 1},
-  {&__pyx_n_s__scale_type, __pyx_k__scale_type, sizeof(__pyx_k__scale_type), 0, 0, 1, 1},
-  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
-  {&__pyx_n_s__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 0, 0, 1, 1},
-  {&__pyx_n_s__values, __pyx_k__values, sizeof(__pyx_k__values), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_NotImplemented = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5p.pyx":154
- * 
- *     def __hash__(self):
- *         raise TypeError("Property lists are unhashable")             # <<<<<<<<<<<<<<
- * 
- * cdef class PropClassID(PropID):
- */
-  __pyx_k_tuple_3 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_2)); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_3);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-
-  /* "h5py/h5p.pyx":200
- *         their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Pclose(self.id)
- *             if not self.valid:
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 200; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-
-  /* "h5py/h5p.pyx":599
- * 
- *         if filter_idx < 0:
- *             raise ValueError("Filter index must be a non-negative integer")             # <<<<<<<<<<<<<<
- * 
- *         filter_code = <int>H5Pget_filter(self.id, filter_idx, &flags,
- */
-  __pyx_k_tuple_6 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_5)); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 599; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_6);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
-
-  /* "h5py/h5p.pyx":974
- *         err = H5Fget_mdc_config(self.id, &config.cache_config)
- *         if err < 0:
- *             raise RuntimeError("Failed to get hit rate")             # <<<<<<<<<<<<<<
- * 
- *         return config
- */
-  __pyx_k_tuple_8 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_7)); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 974; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_8);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
-
-  /* "h5py/h5p.pyx":987
- *         err = H5Fset_mdc_config(self.id, &config.cache_config)
- *         if err < 0:
- *             raise RuntimeError("Failed to get hit rate")             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_k_tuple_9 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_7)); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 987; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_9);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));
-
-  /* "h5py/h5p.pyx":106
- * # === Property list functional API ============================================
- * 
- * def create(PropClassID cls not None):             # <<<<<<<<<<<<<<
- *     """(PropClassID cls) => PropID
- * 
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__cls), ((PyObject *)__pyx_n_s__newid)); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-  __pyx_k_codeobj_12 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__create, 106, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5p(void); /*proto*/
-PyMODINIT_FUNC inith5p(void)
-#else
-PyMODINIT_FUNC PyInit_h5p(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5p(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5p(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5p"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_10), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5p")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5p", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5p) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("pdefault", (void (*)(void))__pyx_f_4h5py_3h5p_pdefault, "hid_t (struct __pyx_obj_4h5py_3h5p_PropID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("propwrap", (void (*)(void))__pyx_f_4h5py_3h5p_propwrap, "PyObject *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_type_4h5py_3h5p_PropID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropID", (PyObject *)&__pyx_type_4h5py_3h5p_PropID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 128; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropID, __pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropID = &__pyx_type_4h5py_3h5p_PropID;
-  __pyx_type_4h5py_3h5p_PropClassID.tp_base = __pyx_ptype_4h5py_3h5p_PropID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropClassID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_CPYTHON
-  {
-    PyObject *wrapper = __Pyx_GetAttrString((PyObject *)&__pyx_type_4h5py_3h5p_PropClassID, "__hash__"); if (unlikely(!wrapper)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (Py_TYPE(wrapper) == &PyWrapperDescr_Type) {
-      __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__ = *((PyWrapperDescrObject *)wrapper)->d_base;
-      __pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__.doc = __pyx_doc_4h5py_3h5p_11PropClassID_2__hash__;
-      ((PyWrapperDescrObject *)wrapper)->d_base = &__pyx_wrapperbase_4h5py_3h5p_11PropClassID_2__hash__;
-    }
-  }
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "PropClassID", (PyObject *)&__pyx_type_4h5py_3h5p_PropClassID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropClassID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropClassID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropClassID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropClassID = &__pyx_type_4h5py_3h5p_PropClassID;
-  __pyx_type_4h5py_3h5p_PropInstanceID.tp_base = __pyx_ptype_4h5py_3h5p_PropID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropInstanceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropInstanceID", (PyObject *)&__pyx_type_4h5py_3h5p_PropInstanceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropInstanceID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropInstanceID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropInstanceID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropInstanceID = &__pyx_type_4h5py_3h5p_PropInstanceID;
-  __pyx_type_4h5py_3h5p_PropCreateID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropCreateID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropCreateID", (PyObject *)&__pyx_type_4h5py_3h5p_PropCreateID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropCreateID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropCreateID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropCreateID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropCreateID = &__pyx_type_4h5py_3h5p_PropCreateID;
-  __pyx_type_4h5py_3h5p_PropCopyID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropCopyID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropCopyID", (PyObject *)&__pyx_type_4h5py_3h5p_PropCopyID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 220; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropCopyID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropCopyID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropCopyID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropCopyID = &__pyx_type_4h5py_3h5p_PropCopyID;
-  __pyx_type_4h5py_3h5p_PropOCID.tp_base = __pyx_ptype_4h5py_3h5p_PropCreateID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropOCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropOCID", (PyObject *)&__pyx_type_4h5py_3h5p_PropOCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropOCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropOCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropOCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropOCID = &__pyx_type_4h5py_3h5p_PropOCID;
-  __pyx_type_4h5py_3h5p_PropDCID.tp_base = __pyx_ptype_4h5py_3h5p_PropOCID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropDCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropDCID", (PyObject *)&__pyx_type_4h5py_3h5p_PropDCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropDCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropDCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropDCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropDCID = &__pyx_type_4h5py_3h5p_PropDCID;
-  __pyx_type_4h5py_3h5p_PropFCID.tp_base = __pyx_ptype_4h5py_3h5p_PropCreateID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropFCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropFCID", (PyObject *)&__pyx_type_4h5py_3h5p_PropFCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropFCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropFCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropFCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropFCID = &__pyx_type_4h5py_3h5p_PropFCID;
-  __pyx_type_4h5py_3h5p_PropFAID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropFAID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropFAID", (PyObject *)&__pyx_type_4h5py_3h5p_PropFAID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 720; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropFAID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropFAID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropFAID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropFAID = &__pyx_type_4h5py_3h5p_PropFAID;
-  __pyx_type_4h5py_3h5p_PropDXID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropDXID) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropDXID", (PyObject *)&__pyx_type_4h5py_3h5p_PropDXID) < 0) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropDXID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropDXID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropDXID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropDXID = &__pyx_type_4h5py_3h5p_PropDXID;
-  __pyx_type_4h5py_3h5p_PropLCID.tp_base = __pyx_ptype_4h5py_3h5p_PropCreateID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropLCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropLCID", (PyObject *)&__pyx_type_4h5py_3h5p_PropLCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 991; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropLCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropLCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropLCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropLCID = &__pyx_type_4h5py_3h5p_PropLCID;
-  __pyx_type_4h5py_3h5p_PropLAID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropLAID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropLAID", (PyObject *)&__pyx_type_4h5py_3h5p_PropLAID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropLAID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropLAID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropLAID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropLAID = &__pyx_type_4h5py_3h5p_PropLAID;
-  __pyx_type_4h5py_3h5p_PropGCID.tp_base = __pyx_ptype_4h5py_3h5p_PropOCID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropGCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropGCID", (PyObject *)&__pyx_type_4h5py_3h5p_PropGCID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropGCID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropGCID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropGCID, __pyx_base.__pyx_base.__pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropGCID = &__pyx_type_4h5py_3h5p_PropGCID;
-  __pyx_type_4h5py_3h5p_PropDAID.tp_base = __pyx_ptype_4h5py_3h5p_PropInstanceID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5p_PropDAID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "PropDAID", (PyObject *)&__pyx_type_4h5py_3h5p_PropDAID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5p_PropDAID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5p_PropDAID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5p_PropDAID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5p_PropDAID = &__pyx_type_4h5py_3h5p_PropDAID;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeID = __Pyx_ImportType("h5py.h5t", "TypeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeArrayID = __Pyx_ImportType("h5py.h5t", "TypeArrayID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeArrayID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeArrayID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeArrayID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeOpaqueID = __Pyx_ImportType("h5py.h5t", "TypeOpaqueID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeOpaqueID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeStringID = __Pyx_ImportType("h5py.h5t", "TypeStringID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeStringID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeStringID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeStringID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeVlenID = __Pyx_ImportType("h5py.h5t", "TypeVlenID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeVlenID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeVlenID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeVlenID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeTimeID = __Pyx_ImportType("h5py.h5t", "TypeTimeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeTimeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeTimeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeTimeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeBitfieldID = __Pyx_ImportType("h5py.h5t", "TypeBitfieldID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeBitfieldID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeReferenceID = __Pyx_ImportType("h5py.h5t", "TypeReferenceID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeReferenceID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeReferenceID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeReferenceID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeAtomicID = __Pyx_ImportType("h5py.h5t", "TypeAtomicID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeAtomicID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeAtomicID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeAtomicID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeIntegerID = __Pyx_ImportType("h5py.h5t", "TypeIntegerID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeIntegerID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeIntegerID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeIntegerID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeFloatID = __Pyx_ImportType("h5py.h5t", "TypeFloatID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeFloatID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeFloatID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeFloatID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeCompositeID = __Pyx_ImportType("h5py.h5t", "TypeCompositeID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeCompositeID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompositeID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompositeID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeEnumID = __Pyx_ImportType("h5py.h5t", "TypeEnumID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeEnumID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeEnumID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeEnumID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 59; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5t_TypeCompoundID = __Pyx_ImportType("h5py.h5t", "TypeCompoundID", sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID), 1); if (unlikely(!__pyx_ptype_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = (struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID*)__Pyx_GetVtable(__pyx_ptype_4h5py_3h5t_TypeCompoundID->tp_dict); if (unlikely(!__pyx_vtabptr_4h5py_3h5t_TypeCompoundID)) {__pyx_filename = __pyx_f[3]; __pyx_lineno = 63; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_4h5ac_CacheConfig = __Pyx_ImportType("h5py.h5ac", "CacheConfig", sizeof(struct __pyx_obj_4h5py_4h5ac_CacheConfig), 1); if (unlikely(!__pyx_ptype_4h5py_4h5ac_CacheConfig)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fget_mdc_config", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fget_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Fset_mdc_config", (void (**)(void))&__pyx_f_4h5py_4defs_H5Fset_mdc_config, "herr_t (hid_t, H5AC_cache_config_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Idec_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Idec_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Iget_ref", (void (**)(void))&__pyx_f_4h5py_4defs_H5Iget_ref, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcreate, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_class, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pclose_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pclose_class, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_version", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_version, "herr_t (hid_t, unsigned int *, unsigned int *, unsigned int *, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_userblock, "herr_t (hid_t, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_userblock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_userblock, "herr_t (hid_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sizes, "herr_t (hid_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sizes", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sizes, "herr_t (hid_t, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fclose_degree", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fclose_degree, "herr_t (hid_t, enum H5F_close_degree_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_core, "herr_t (hid_t, size_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_core", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_core, "herr_t (hid_t, size_t *, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_family, "herr_t (hid_t, hsize_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fapl_family", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fapl_family, "herr_t (hid_t, hsize_t *, hid_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_log", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_log, "herr_t (hid_t, char *, unsigned int, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_cache, "herr_t (hid_t, int, int, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_cache, "herr_t (hid_t, int *, int *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_sec2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_sec2, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fapl_stdio", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fapl_stdio, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_driver", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_driver, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_layout, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_layout", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_layout, "H5D_layout_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk, "herr_t (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk, "int (hid_t, int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_deflate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_deflate, "herr_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_value, "herr_t (hid_t, hid_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pfill_value_defined", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pfill_value_defined, "herr_t (hid_t, H5D_fill_value_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fill_time, "herr_t (hid_t, H5D_fill_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_fill_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_fill_time, "herr_t (hid_t, H5D_fill_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_alloc_time, "herr_t (hid_t, H5D_alloc_time_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_alloc_time", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_alloc_time, "herr_t (hid_t, H5D_alloc_time_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_filter, "herr_t (hid_t, H5Z_filter_t, unsigned int, size_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pall_filters_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pall_filters_avail, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nfilters", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nfilters, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter, "H5Z_filter_t (hid_t, unsigned int, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_filter_by_id", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_filter_by_id, "herr_t (hid_t, H5Z_filter_t, unsigned int *, size_t *, unsigned int *, size_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Premove_filter", (void (**)(void))&__pyx_f_4h5py_4defs_H5Premove_filter, "herr_t (hid_t, H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_fletcher32", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_fletcher32, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_shuffle", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_shuffle, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_szip", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_szip, "herr_t (hid_t, unsigned int, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_scaleoffset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_scaleoffset, "herr_t (hid_t, enum H5Z_SO_scale_type_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_chunk_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_chunk_cache, "herr_t (hid_t, size_t, size_t, double)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_chunk_cache", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_chunk_cache, "herr_t (hid_t, size_t *, size_t *, double *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_sieve_buf_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_sieve_buf_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_sieve_buf_size, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_nlinks, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_nlinks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_nlinks, "herr_t (hid_t, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_prefix, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_prefix", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_prefix, "Py_ssize_t (hid_t, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_elink_fapl, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_elink_fapl", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_elink_fapl, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_create_intermediate_group, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_create_intermediate_group", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_create_intermediate_group, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_copy_object, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_copy_object", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_copy_object, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_char_encoding, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_char_encoding", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_char_encoding, "herr_t (hid_t, H5T_cset_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_obj_track_times", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_obj_track_times, "herr_t (hid_t, hbool_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_obj_track_times", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_obj_track_times, "herr_t (hid_t, hbool_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_link_creation_order, "herr_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_link_creation_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_link_creation_order, "herr_t (hid_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pset_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pset_libver_bounds, "herr_t (hid_t, H5F_libver_t, H5F_libver_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Pget_libver_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Pget_libver_bounds, "herr_t (hid_t, H5F_libver_t *, H5F_libver_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "check_numpy_read", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "check_numpy_write", (void (**)(void))&__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_ImportModule("h5py.h5t"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "py_create", (void (**)(void))&__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5p.pyx":23
- * from h5t cimport TypeID, py_create
- * from h5ac cimport CacheConfig
- * from h5py import _objects             # <<<<<<<<<<<<<<
- * 
- * # Initialization
- */
-  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s___objects));
-  PyList_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s___objects));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects));
-  __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_4), -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___objects);
-  if (__pyx_t_4 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects);
-    if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":26
- * 
- * # Initialization
- * import_array()             # <<<<<<<<<<<<<<
- * 
- * # === C API ===================================================================
- */
-  import_array();
-
-  /* "h5py/h5p.pyx":81
- * 
- * 
- * NO_CLASS       = lockcls(H5P_NO_CLASS)             # <<<<<<<<<<<<<<
- * FILE_CREATE    = lockcls(H5P_FILE_CREATE)
- * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_NO_CLASS); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NO_CLASS, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":82
- * 
- * NO_CLASS       = lockcls(H5P_NO_CLASS)
- * FILE_CREATE    = lockcls(H5P_FILE_CREATE)             # <<<<<<<<<<<<<<
- * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)
- * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_FILE_CREATE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILE_CREATE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":83
- * NO_CLASS       = lockcls(H5P_NO_CLASS)
- * FILE_CREATE    = lockcls(H5P_FILE_CREATE)
- * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)             # <<<<<<<<<<<<<<
- * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)
- * DATASET_XFER   = lockcls(H5P_DATASET_XFER)
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_FILE_ACCESS); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILE_ACCESS, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":84
- * FILE_CREATE    = lockcls(H5P_FILE_CREATE)
- * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)
- * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)             # <<<<<<<<<<<<<<
- * DATASET_XFER   = lockcls(H5P_DATASET_XFER)
- * DATASET_ACCESS = lockcls(H5P_DATASET_ACCESS)
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_DATASET_CREATE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATASET_CREATE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":85
- * FILE_ACCESS    = lockcls(H5P_FILE_ACCESS)
- * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)
- * DATASET_XFER   = lockcls(H5P_DATASET_XFER)             # <<<<<<<<<<<<<<
- * DATASET_ACCESS = lockcls(H5P_DATASET_ACCESS)
- * 
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_DATASET_XFER); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATASET_XFER, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":86
- * DATASET_CREATE = lockcls(H5P_DATASET_CREATE)
- * DATASET_XFER   = lockcls(H5P_DATASET_XFER)
- * DATASET_ACCESS = lockcls(H5P_DATASET_ACCESS)             # <<<<<<<<<<<<<<
- * 
- * OBJECT_COPY = lockcls(H5P_OBJECT_COPY)
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_DATASET_ACCESS); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATASET_ACCESS, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":88
- * DATASET_ACCESS = lockcls(H5P_DATASET_ACCESS)
- * 
- * OBJECT_COPY = lockcls(H5P_OBJECT_COPY)             # <<<<<<<<<<<<<<
- * 
- * LINK_CREATE = lockcls(H5P_LINK_CREATE)
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_OBJECT_COPY); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJECT_COPY, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":90
- * OBJECT_COPY = lockcls(H5P_OBJECT_COPY)
- * 
- * LINK_CREATE = lockcls(H5P_LINK_CREATE)             # <<<<<<<<<<<<<<
- * LINK_ACCESS = lockcls(H5P_LINK_ACCESS)
- * GROUP_CREATE = lockcls(H5P_GROUP_CREATE)
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_LINK_CREATE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK_CREATE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":91
- * 
- * LINK_CREATE = lockcls(H5P_LINK_CREATE)
- * LINK_ACCESS = lockcls(H5P_LINK_ACCESS)             # <<<<<<<<<<<<<<
- * GROUP_CREATE = lockcls(H5P_GROUP_CREATE)
- * OBJECT_CREATE = lockcls(H5P_OBJECT_CREATE)
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_LINK_ACCESS); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__LINK_ACCESS, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":92
- * LINK_CREATE = lockcls(H5P_LINK_CREATE)
- * LINK_ACCESS = lockcls(H5P_LINK_ACCESS)
- * GROUP_CREATE = lockcls(H5P_GROUP_CREATE)             # <<<<<<<<<<<<<<
- * OBJECT_CREATE = lockcls(H5P_OBJECT_CREATE)
- * 
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_GROUP_CREATE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__GROUP_CREATE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":93
- * LINK_ACCESS = lockcls(H5P_LINK_ACCESS)
- * GROUP_CREATE = lockcls(H5P_GROUP_CREATE)
- * OBJECT_CREATE = lockcls(H5P_OBJECT_CREATE)             # <<<<<<<<<<<<<<
- * 
- * CRT_ORDER_TRACKED = H5P_CRT_ORDER_TRACKED
- */
-  __pyx_t_5 = __pyx_f_4h5py_3h5p_lockcls(H5P_OBJECT_CREATE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJECT_CREATE, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":95
- * OBJECT_CREATE = lockcls(H5P_OBJECT_CREATE)
- * 
- * CRT_ORDER_TRACKED = H5P_CRT_ORDER_TRACKED             # <<<<<<<<<<<<<<
- * CRT_ORDER_INDEXED = H5P_CRT_ORDER_INDEXED
- * 
- */
-  __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(H5P_CRT_ORDER_TRACKED); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CRT_ORDER_TRACKED, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":96
- * 
- * CRT_ORDER_TRACKED = H5P_CRT_ORDER_TRACKED
- * CRT_ORDER_INDEXED = H5P_CRT_ORDER_INDEXED             # <<<<<<<<<<<<<<
- * 
- * DEFAULT = None   # In the HDF5 header files this is actually 0, which is an
- */
-  __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(H5P_CRT_ORDER_INDEXED); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CRT_ORDER_INDEXED, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":98
- * CRT_ORDER_INDEXED = H5P_CRT_ORDER_INDEXED
- * 
- * DEFAULT = None   # In the HDF5 header files this is actually 0, which is an             # <<<<<<<<<<<<<<
- *                  # invalid identifier.  The new strategy for default options
- *                  # is to make them all None, to better match the Python style
- */
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DEFAULT, Py_None) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5p.pyx":106
- * # === Property list functional API ============================================
- * 
- * def create(PropClassID cls not None):             # <<<<<<<<<<<<<<
- *     """(PropClassID cls) => PropID
- * 
- */
-  __pyx_t_5 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5p_1create, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5p.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_5)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5p", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5p");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
-    PyObject *kwdict,
-    const char* function_name,
-    int kw_allowed)
-{
-    PyObject* key = 0;
-    Py_ssize_t pos = 0;
-#if CPYTHON_COMPILING_IN_PYPY
-    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
-        goto invalid_keyword;
-    return 1;
-#else
-    while (PyDict_Next(kwdict, &pos, &key, 0)) {
-        #if PY_MAJOR_VERSION < 3
-        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
-        #endif
-            if (unlikely(!PyUnicode_Check(key)))
-                goto invalid_keyword_type;
-    }
-    if ((!kw_allowed) && unlikely(key))
-        goto invalid_keyword;
-    return 1;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    return 0;
-#endif
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-    return 0;
-}
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_dealloc != current_tp_dealloc)
-        type = type->tp_base;
-    while (type && type->tp_dealloc == current_tp_dealloc)
-        type = type->tp_base;
-    if (type)
-        type->tp_dealloc(obj);
-}
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_traverse != current_tp_traverse)
-        type = type->tp_base;
-    while (type && type->tp_traverse == current_tp_traverse)
-        type = type->tp_base;
-    if (type && type->tp_traverse)
-        return type->tp_traverse(obj, v, a);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_clear != current_tp_clear)
-        type = type->tp_base;
-    while (type && type->tp_clear == current_tp_clear)
-        type = type->tp_base;
-    if (type && type->tp_clear)
-        type->tp_clear(obj);
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hsize_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hsize_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hsize_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hsize_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hsize_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hsize_t)-1;
-    }
-}
-
-static CYTHON_INLINE hbool_t __Pyx_PyInt_from_py_hbool_t(PyObject* x) {
-    const hbool_t neg_one = (hbool_t)-1, const_zero = (hbool_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hbool_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hbool_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hbool_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hbool_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hbool_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hbool_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hbool_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hbool_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hbool_t)-1;
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hbool_t(hbool_t val) {
-    const hbool_t neg_one = (hbool_t)-1, const_zero = (hbool_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hbool_t) == sizeof(char))  ||
-        (sizeof(hbool_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hbool_t) == sizeof(int)) ||
-               (sizeof(hbool_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hbool_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hbool_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-static void* __Pyx_GetVtable(PyObject *dict) {
-    void* ptr;
-    PyObject *ob = PyMapping_GetItemString(dict, (char *)"__pyx_vtable__");
-    if (!ob)
-        goto bad;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    ptr = PyCapsule_GetPointer(ob, 0);
-#else
-    ptr = PyCObject_AsVoidPtr(ob);
-#endif
-    if (!ptr && !PyErr_Occurred())
-        PyErr_SetString(PyExc_RuntimeError, "invalid vtable found for imported type");
-    Py_DECREF(ob);
-    return ptr;
-bad:
-    Py_XDECREF(ob);
-    return NULL;
-}
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5p.pyx b/h5py/h5p.pyx
index 421670d..f8edc6d 100644
--- a/h5py/h5p.pyx
+++ b/h5py/h5p.pyx
@@ -22,6 +22,12 @@ from h5t cimport TypeID, py_create
 from h5ac cimport CacheConfig
 from h5py import _objects
 
+from ._objects import phil, with_phil
+
+if MPI:
+    from mpi4py.mpi_c cimport MPI_Comm, MPI_Info, MPI_Comm_dup, MPI_Info_dup, \
+                               MPI_Comm_free, MPI_Info_free
+
 # Initialization
 import_array()
 
@@ -61,13 +67,13 @@ cdef object propwrap(hid_t id_in):
         else:
             raise ValueError("No class found for ID %d" % id_in)
 
-        return pcls.open(id_in)
+        return pcls(id_in)
     finally:
         H5Pclose_class(clsid)
 
 cdef object lockcls(hid_t id_in):
     cdef PropClassID pid
-    pid = PropClassID.open(id_in)
+    pid = PropClassID(id_in)
     pid.locked = 1
     return pid
 
@@ -103,6 +109,7 @@ DEFAULT = None   # In the HDF5 header files this is actually 0, which is an
 
 # === Property list functional API ============================================
 
+ at with_phil
 def create(PropClassID cls not None):
     """(PropClassID cls) => PropID
 
@@ -123,6 +130,7 @@ def create(PropClassID cls not None):
     newid = H5Pcreate(cls.id)
     return propwrap(newid)
 
+
 # === Class API ===============================================================
 
 cdef class PropID(ObjectID):
@@ -132,6 +140,7 @@ cdef class PropID(ObjectID):
     """
 
 
+    @with_phil
     def equal(self, PropID plist not None):
         """(PropID plist) => BOOL
 
@@ -141,14 +150,16 @@ cdef class PropID(ObjectID):
 
     def __richcmp__(self, object other, int how):
         cdef bint truthval = 0
-        if how != 2 and how != 3:
-            return NotImplemented
-        if type(self) == type(other):
-            truthval = self.equal(other)
 
-        if how == 2:
-            return truthval
-        return not truthval
+        with phil:
+            if how != 2 and how != 3:
+                return NotImplemented
+            if type(self) == type(other):
+                truthval = self.equal(other)
+
+            if how == 2:
+                return truthval
+            return not truthval
 
     def __hash__(self):
         raise TypeError("Property lists are unhashable")
@@ -182,6 +193,7 @@ cdef class PropInstanceID(PropID):
     """
 
 
+    @with_phil
     def copy(self):
         """() => PropList newid
 
@@ -190,25 +202,13 @@ cdef class PropInstanceID(PropID):
         return type(self)(H5Pcopy(self.id))
 
 
-    def _close(self):
-        """()
-
-        Terminate access through this identifier.  You shouldn't have to
-        do this manually, as propery lists are automatically deleted when
-        their Python wrappers are freed.
-        """
-        with _objects.registry.lock:
-            H5Pclose(self.id)
-            if not self.valid:
-                del _objects.registry[self.id]
-
-
     def get_class(self):
         """() => PropClassID
 
         Determine the class of a property list object.
         """
-        return PropClassID.open(H5Pget_class(self.id))
+        return PropClassID(H5Pget_class(self.id))
+
 
 cdef class PropCreateID(PropInstanceID):
 
@@ -217,6 +217,7 @@ cdef class PropCreateID(PropInstanceID):
     """
     pass
 
+
 cdef class PropCopyID(PropInstanceID):
 
     """
@@ -224,6 +225,7 @@ cdef class PropCopyID(PropInstanceID):
     """
 
 
+    @with_phil
     def set_copy_object(self, unsigned int flags):
         """(UINT flags)
 
@@ -248,6 +250,7 @@ cdef class PropCopyID(PropInstanceID):
         H5Pset_copy_object(self.id, flags)
 
 
+    @with_phil
     def get_copy_object(self):
         """() => UINT flags
 
@@ -269,6 +272,7 @@ cdef class PropFCID(PropCreateID):
     """
 
 
+    @with_phil
     def get_version(self):
         """() => TUPLE version_info
 
@@ -291,6 +295,7 @@ cdef class PropFCID(PropCreateID):
         return (super_, freelist, stab, shhdr)
 
 
+    @with_phil
     def set_userblock(self, hsize_t size):
         """(INT/LONG size)
 
@@ -300,6 +305,7 @@ cdef class PropFCID(PropCreateID):
         H5Pset_userblock(self.id, size)
 
 
+    @with_phil
     def get_userblock(self):
         """() => LONG size
 
@@ -310,6 +316,7 @@ cdef class PropFCID(PropCreateID):
         return size
 
 
+    @with_phil
     def set_sizes(self, size_t addr, size_t size):
         """(UINT addr, UINT size)
 
@@ -319,6 +326,7 @@ cdef class PropFCID(PropCreateID):
         H5Pset_sizes(self.id, addr, size)
 
 
+    @with_phil
     def get_sizes(self):
         """() => TUPLE sizes
 
@@ -333,6 +341,8 @@ cdef class PropFCID(PropCreateID):
         H5Pget_sizes(self.id, &addr, &size)
         return (addr, size)
 
+
+    @with_phil
     def set_link_creation_order(self, unsigned int flags):
         """ (UINT flags)
 
@@ -342,6 +352,8 @@ cdef class PropFCID(PropCreateID):
         """
         H5Pset_link_creation_order(self.id, flags)
 
+
+    @with_phil
     def get_link_creation_order(self):
         """ () -> UINT flags
 
@@ -360,6 +372,7 @@ cdef class PropDCID(PropOCID):
     """
 
 
+    @with_phil
     def set_layout(self, int layout_code):
         """(INT layout_code)
 
@@ -372,6 +385,7 @@ cdef class PropDCID(PropOCID):
         H5Pset_layout(self.id, layout_code)
 
 
+    @with_phil
     def get_layout(self):
         """() => INT layout_code
 
@@ -384,6 +398,7 @@ cdef class PropDCID(PropOCID):
         return <int>H5Pget_layout(self.id)
 
 
+    @with_phil
     def set_chunk(self, object chunksize):
         """(TUPLE chunksize)
 
@@ -405,6 +420,7 @@ cdef class PropDCID(PropOCID):
             efree(dims)
 
 
+    @with_phil
     def get_chunk(self):
         """() => TUPLE chunk_dimensions
 
@@ -425,6 +441,7 @@ cdef class PropDCID(PropOCID):
             efree(dims)
 
 
+    @with_phil
     def set_fill_value(self, ndarray value not None):
         """(NDARRAY value)
 
@@ -439,6 +456,7 @@ cdef class PropDCID(PropOCID):
         H5Pset_fill_value(self.id, tid.id, value.data)
 
 
+    @with_phil
     def get_fill_value(self, ndarray value not None):
         """(NDARRAY value)
 
@@ -453,6 +471,7 @@ cdef class PropDCID(PropOCID):
         H5Pget_fill_value(self.id, tid.id, value.data)
 
 
+    @with_phil
     def fill_value_defined(self):
         """() => INT fill_status
 
@@ -467,6 +486,7 @@ cdef class PropDCID(PropOCID):
         return <int>val
 
 
+    @with_phil
     def set_fill_time(self, int fill_time):
         """(INT fill_time)
 
@@ -480,6 +500,7 @@ cdef class PropDCID(PropOCID):
         H5Pset_fill_time(self.id, <H5D_fill_time_t>fill_time)
 
 
+    @with_phil
     def get_fill_time(self):
         """ () => INT
 
@@ -495,6 +516,7 @@ cdef class PropDCID(PropOCID):
         return <int>fill_time
 
 
+    @with_phil
     def set_alloc_time(self, int alloc_time):
         """(INT alloc_time)
 
@@ -503,6 +525,7 @@ cdef class PropDCID(PropOCID):
         H5Pset_alloc_time(self.id, <H5D_alloc_time_t>alloc_time)
 
 
+    @with_phil
     def get_alloc_time(self):
         """() => INT alloc_time
 
@@ -515,7 +538,7 @@ cdef class PropDCID(PropOCID):
 
     # === Filter functions ====================================================
 
-
+    @with_phil
     def set_filter(self, int filter_code, unsigned int flags=0, object values=None):
         """(INT filter_code, UINT flags=0, TUPLE values=None)
 
@@ -558,6 +581,7 @@ cdef class PropDCID(PropOCID):
             efree(cd_values)
 
 
+    @with_phil
     def all_filters_avail(self):
         """() => BOOL
 
@@ -567,6 +591,7 @@ cdef class PropDCID(PropOCID):
         return <bint>(H5Pall_filters_avail(self.id))
 
 
+    @with_phil
     def get_nfilters(self):
         """() => INT
 
@@ -575,6 +600,7 @@ cdef class PropDCID(PropOCID):
         return H5Pget_nfilters(self.id)
 
 
+    @with_phil
     def get_filter(self, int filter_idx):
         """(UINT filter_idx) => TUPLE filter_info
 
@@ -609,6 +635,7 @@ cdef class PropDCID(PropOCID):
         return (filter_code, flags, tuple(vlist), name)
 
 
+    @with_phil
     def _has_filter(self, int filter_code):
         """(INT filter_code)
 
@@ -624,6 +651,7 @@ cdef class PropDCID(PropOCID):
         return False
 
 
+    @with_phil
     def get_filter_by_id(self, int filter_code):
         """(INT filter_code) => TUPLE filter_info or None
 
@@ -661,6 +689,7 @@ cdef class PropDCID(PropOCID):
         return (flags, tuple(vlist), name)
 
 
+    @with_phil
     def remove_filter(self, int filter_class):
         """(INT filter_class)
 
@@ -670,6 +699,7 @@ cdef class PropDCID(PropOCID):
         H5Premove_filter(self.id, <H5Z_filter_t>filter_class)
 
 
+    @with_phil
     def set_deflate(self, unsigned int level=5):
         """(UINT level=5)
 
@@ -679,6 +709,7 @@ cdef class PropDCID(PropOCID):
         H5Pset_deflate(self.id, level)
 
 
+    @with_phil
     def set_fletcher32(self):
         """()
 
@@ -687,6 +718,7 @@ cdef class PropDCID(PropOCID):
         H5Pset_fletcher32(self.id)
 
 
+    @with_phil
     def set_shuffle(self):
         """()
 
@@ -696,6 +728,7 @@ cdef class PropDCID(PropOCID):
         H5Pset_shuffle(self.id)
 
 
+    @with_phil
     def set_szip(self, unsigned int options, unsigned int pixels_per_block):
         """(UINT options, UINT pixels_per_block)
 
@@ -704,6 +737,8 @@ cdef class PropDCID(PropOCID):
         """
         H5Pset_szip(self.id, options, pixels_per_block)
 
+
+    @with_phil
     def set_scaleoffset(self, H5Z_SO_scale_type_t scale_type, int scale_factor):
         '''(H5Z_SO_scale_type_t scale_type, INT scale_factor)
 
@@ -724,6 +759,7 @@ cdef class PropFAID(PropInstanceID):
     """
 
 
+    @with_phil
     def set_fclose_degree(self, int close_degree):
         """(INT close_degree)
 
@@ -738,6 +774,7 @@ cdef class PropFAID(PropInstanceID):
         H5Pset_fclose_degree(self.id, <H5F_close_degree_t>close_degree)
 
 
+    @with_phil
     def get_fclose_degree(self):
         """() => INT close_degree
         - h5fd.
@@ -754,6 +791,7 @@ cdef class PropFAID(PropInstanceID):
         return deg
 
 
+    @with_phil
     def set_fapl_core(self, size_t block_size=64*1024, hbool_t backing_store=1):
         """(UINT increment=64k, BOOL backing_store=True)
 
@@ -770,6 +808,7 @@ cdef class PropFAID(PropInstanceID):
         H5Pset_fapl_core(self.id, block_size, backing_store)
 
 
+    @with_phil
     def get_fapl_core(self):
         """() => TUPLE core_settings
 
@@ -786,6 +825,7 @@ cdef class PropFAID(PropInstanceID):
         return (increment, <bint>(backing_store))
 
 
+    @with_phil
     def set_fapl_family(self, hsize_t memb_size=2147483647, PropID memb_fapl=None):
         """(UINT memb_size=2**31-1, PropFAID memb_fapl=None)
 
@@ -802,6 +842,7 @@ cdef class PropFAID(PropInstanceID):
         H5Pset_fapl_family(self.id, memb_size, plist_id)
 
 
+    @with_phil
     def get_fapl_family(self):
         """() => TUPLE info
 
@@ -818,11 +859,12 @@ cdef class PropFAID(PropInstanceID):
         H5Pget_fapl_family(self.id, &msize, &mfapl_id)
 
         if mfapl_id > 0:
-            plist = PropFAID.open(mfapl_id)
+            plist = PropFAID(mfapl_id)
 
         return (msize, plist)
 
 
+    @with_phil
     def set_fapl_log(self, char* logfile, unsigned int flags, size_t buf_size):
         """(STRING logfile, UINT flags, UINT buf_size)
 
@@ -832,6 +874,7 @@ cdef class PropFAID(PropInstanceID):
         H5Pset_fapl_log(self.id, logfile, flags, buf_size)
 
 
+    @with_phil
     def set_fapl_sec2(self):
         """()
 
@@ -840,6 +883,7 @@ cdef class PropFAID(PropInstanceID):
         H5Pset_fapl_sec2(self.id)
 
 
+    @with_phil
     def set_fapl_stdio(self):
         """()
 
@@ -848,6 +892,7 @@ cdef class PropFAID(PropInstanceID):
         H5Pset_fapl_stdio(self.id)
 
 
+    @with_phil
     def get_driver(self):
         """() => INT driver code
 
@@ -867,6 +912,7 @@ cdef class PropFAID(PropInstanceID):
         return H5Pget_driver(self.id)
 
 
+    @with_phil
     def set_cache(self, int mdc, int rdcc, size_t rdcc_nbytes, double rdcc_w0):
         """(INT mdc, INT rdcc, UINT rdcc_nbytes, DOUBLE rdcc_w0)
 
@@ -876,6 +922,7 @@ cdef class PropFAID(PropInstanceID):
         H5Pset_cache(self.id, mdc, rdcc, rdcc_nbytes, rdcc_w0)
 
 
+    @with_phil
     def get_cache(self):
         """() => TUPLE cache info
 
@@ -895,6 +942,7 @@ cdef class PropFAID(PropInstanceID):
         return (mdc, rdcc, rdcc_nbytes, w0)
 
 
+    @with_phil
     def set_sieve_buf_size(self, size_t size):
         """ (UINT size)
 
@@ -905,6 +953,7 @@ cdef class PropFAID(PropInstanceID):
         H5Pset_sieve_buf_size(self.id, size)
 
 
+    @with_phil
     def get_sieve_buf_size(self):
         """ () => UINT size
 
@@ -914,6 +963,8 @@ cdef class PropFAID(PropInstanceID):
         H5Pget_sieve_buf_size(self.id, &size)
         return size
 
+
+    @with_phil
     def set_libver_bounds(self, int low, int high):
         """ (INT low, INT high)
 
@@ -924,6 +975,8 @@ cdef class PropFAID(PropInstanceID):
         """
         H5Pset_libver_bounds(self.id, <H5F_libver_t>low, <H5F_libver_t>high)
 
+
+    @with_phil
     def get_libver_bounds(self):
         """ () => (INT low, INT high)
 
@@ -939,6 +992,7 @@ cdef class PropFAID(PropInstanceID):
         return (<int>low, <int>high)
 
     IF MPI:
+        @with_phil
         def set_fapl_mpio(self, Comm comm not None, Info info not None):
             """ (Comm comm, Info info)
 
@@ -950,16 +1004,37 @@ cdef class PropFAID(PropInstanceID):
             H5Pset_fapl_mpio(self.id, comm.ob_mpi, info.ob_mpi) 
 
 
-        def set_fapl_mpiposix(self, Comm comm not None, bint use_gpfs_hints=0):
-            """ (Comm comm, BOOL use_gpfs_hints=0)
+        @with_phil
+        def get_fapl_mpio(self):
+            """ () => (mpi4py.MPI.Comm, mpi4py.MPI.Info)
 
-            Set MPI-POSIX driver.
+            Determine mpio driver MPI information.
 
-            Comm: An mpi4py.MPI.Comm instance
-            use_gpfs_hints: Enable internal hints for GPFS file system
+            0. The mpi4py.MPI.Comm Communicator
+            1. The mpi4py.MPI.Comm Info
             """
-            H5Pset_fapl_mpiposix(self.id, comm.ob_mpi, use_gpfs_hints)
+            cdef MPI_Comm comm
+            cdef MPI_Info info
+
+            H5Pget_fapl_mpio(self.id, &comm, &info)
+            pycomm = Comm()
+            pyinfo = Info()
+            MPI_Comm_dup(comm, &pycomm.ob_mpi)
+            MPI_Info_dup(info, &pyinfo.ob_mpi)
+            MPI_Comm_free(&comm)
+            MPI_Info_free(&info)
+
+            return (pycomm, pyinfo)
+
 
+        @with_phil
+        def set_fapl_mpiposix(self, Comm comm not None, bint use_gpfs_hints=0):
+            """ Obsolete.
+            """
+            raise RuntimeError("MPI-POSIX driver is broken; removed in h5py 2.3.1")
+
+
+    @with_phil
     def get_mdc_config(self):
         """() => CacheConfig
         Returns an object that stores all the information about the meta-data cache
@@ -968,23 +1043,33 @@ cdef class PropFAID(PropInstanceID):
 
         cdef CacheConfig config = CacheConfig()
 
-        cdef herr_t  err
-        err = H5Fget_mdc_config(self.id, &config.cache_config)
-        if err < 0:
-            raise RuntimeError("Failed to get hit rate")
+        H5Pget_mdc_config(self.id, &config.cache_config)
 
         return config
 
+
+    @with_phil
     def set_mdc_config(self, CacheConfig config not None):
         """(CacheConfig) => None
         Returns an object that stores all the information about the meta-data cache
         configuration
         """
-        # I feel this should have some sanity checking to make sure that
-        cdef herr_t  err
-        err = H5Fset_mdc_config(self.id, &config.cache_config)
-        if err < 0:
-            raise RuntimeError("Failed to get hit rate")
+        H5Pset_mdc_config(self.id, &config.cache_config)
+
+    def get_alignment(self):
+        """
+        Retrieves the current settings for alignment properties from a file access property list.
+        """
+        cdef hsize_t threshold, alignment
+        H5Pget_alignment(self.id, &threshold, &alignment)
+
+        return threshold, alignment
+
+    def set_alignment(self, threshold, alignment):
+        """
+        Sets alignment properties of a file access property list.
+        """
+        H5Pset_alignment(self.id, threshold, alignment)
 
 
 # Link creation
@@ -992,6 +1077,7 @@ cdef class PropLCID(PropCreateID):
 
     """ Link creation property list """
 
+    @with_phil
     def set_char_encoding(self, int encoding):
         """ (INT encoding)
 
@@ -1002,6 +1088,8 @@ cdef class PropLCID(PropCreateID):
         """
         H5Pset_char_encoding(self.id, <H5T_cset_t>encoding)
 
+
+    @with_phil
     def get_char_encoding(self):
         """ () => INT encoding
 
@@ -1014,6 +1102,8 @@ cdef class PropLCID(PropCreateID):
         H5Pget_char_encoding(self.id, &encoding)
         return <int>encoding
 
+
+    @with_phil
     def set_create_intermediate_group(self, bint create):
         """(BOOL create)
 
@@ -1022,6 +1112,7 @@ cdef class PropLCID(PropCreateID):
         H5Pset_create_intermediate_group(self.id, create)
 
 
+    @with_phil
     def get_create_intermediate_group(self):
         """() => BOOL
 
@@ -1043,6 +1134,7 @@ cdef class PropLAID(PropInstanceID):
         efree(self._buf)
 
 
+    @with_phil
     def set_nlinks(self, size_t nlinks):
         """(UINT nlinks)
 
@@ -1051,6 +1143,7 @@ cdef class PropLAID(PropInstanceID):
         H5Pset_nlinks(self.id, nlinks)
 
 
+    @with_phil
     def get_nlinks(self):
         """() => UINT
 
@@ -1061,6 +1154,7 @@ cdef class PropLAID(PropInstanceID):
         return nlinks
 
 
+    @with_phil
     def set_elink_prefix(self, char* prefix):
         """(STRING prefix)
 
@@ -1077,6 +1171,7 @@ cdef class PropLAID(PropInstanceID):
         H5Pset_elink_prefix(self.id, self._buf)
 
 
+    @with_phil
     def get_elink_prefix(self):
         """() => STRING prefix
 
@@ -1095,6 +1190,8 @@ cdef class PropLAID(PropInstanceID):
 
         return pstr
 
+
+    @with_phil
     def set_elink_fapl(self, PropID fapl not None):
         """ (PropFAID fapl)
 
@@ -1102,6 +1199,8 @@ cdef class PropLAID(PropInstanceID):
         """
         H5Pset_elink_fapl(self.id, fapl.id)
 
+
+    @with_phil
     def get_elink_fapl(self):
         """ () => PropFAID fapl
 
@@ -1113,10 +1212,12 @@ cdef class PropLAID(PropInstanceID):
             H5Idec_ref(fid)
         return propwrap(fid)
 
+
 # Group creation
 cdef class PropGCID(PropOCID):
     """ Group creation property list """
 
+    @with_phil
     def set_link_creation_order(self, unsigned int flags):
         """ (UINT flags)
 
@@ -1126,6 +1227,8 @@ cdef class PropGCID(PropOCID):
         """
         H5Pset_link_creation_order(self.id, flags)
 
+
+    @with_phil
     def get_link_creation_order(self):
         """ () -> UINT flags
 
@@ -1145,10 +1248,14 @@ cdef class PropOCID(PropCreateID):
 
     The documentation is somewhat hazy
     """
+
+    @with_phil
     def set_obj_track_times(self,track_times):
         """Sets the recording of times associated with an object."""
         H5Pset_obj_track_times(self.id,track_times)
 
+
+    @with_phil
     def get_obj_track_times(self):
         """
         Determines whether times associated with an object are being recorded.
@@ -1166,6 +1273,7 @@ cdef class PropDAID(PropInstanceID):
 
     """ Dataset access property list """
 
+    @with_phil
     def set_chunk_cache(self, size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0):
         """(size_t rdcc_nslots,size_t rdcc_nbytes, double rdcc_w0)
 
@@ -1173,6 +1281,8 @@ cdef class PropDAID(PropInstanceID):
         """
         H5Pset_chunk_cache(self.id,rdcc_nslots,rdcc_nbytes,rdcc_w0)
 
+
+    @with_phil
     def get_chunk_cache(self):
         """() => TUPLE chunk cache info
 
diff --git a/h5py/h5r.c b/h5py/h5r.c
deleted file mode 100644
index 679b4e8..0000000
--- a/h5py/h5r.c
+++ /dev/null
@@ -1,4111 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5r
-#define __PYX_HAVE_API__h5py__h5r
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5r.pyx",
-  "h5r.pxd",
-  "_objects.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_3h5r_Reference;
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5r_RegionReference;
-union __pyx_t_4h5py_3h5r_ref_u;
-
-/* "h5py/h5r.pxd":17
- *   ctypedef unsigned char hdset_reg_ref_t[12]
- * 
- * cdef union ref_u:             # <<<<<<<<<<<<<<
- *     hobj_ref_t         obj_ref
- *     hdset_reg_ref_t    reg_ref
- */
-union __pyx_t_4h5py_3h5r_ref_u {
-  hobj_ref_t obj_ref;
-  hdset_reg_ref_t reg_ref;
-};
-
-/* "h5py/h5r.pxd":21
- *     hdset_reg_ref_t    reg_ref
- * 
- * cdef class Reference:             # <<<<<<<<<<<<<<
- * 
- *     cdef ref_u ref
- */
-struct __pyx_obj_4h5py_3h5r_Reference {
-  PyObject_HEAD
-  union __pyx_t_4h5py_3h5r_ref_u ref;
-  int typecode;
-  size_t typesize;
-};
-
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5py/h5r.pxd":27
- *     cdef readonly size_t typesize
- * 
- * cdef class RegionReference(Reference):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5r_RegionReference {
-  struct __pyx_obj_4h5py_3h5r_Reference __pyx_base;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static herr_t (*__pyx_f_4h5py_4defs_H5Rcreate)(void *, hid_t, char *, H5R_type_t, hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Rdereference)(hid_t, H5R_type_t, void *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Rget_region)(hid_t, H5R_type_t, void *); /*proto*/
-static enum H5G_obj_t (*__pyx_f_4h5py_4defs_H5Rget_obj_type)(hid_t, H5R_type_t, void *); /*proto*/
-static Py_ssize_t (*__pyx_f_4h5py_4defs_H5Rget_name)(hid_t, H5R_type_t, void *, char *, size_t); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-
-/* Module declarations from 'h5py.h5r' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5r_Reference = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5r_RegionReference = 0;
-#define __Pyx_MODULE_NAME "h5py.h5r"
-int __pyx_module_is_main_h5py__h5r = 0;
-
-/* Implementation of 'h5py.h5r' */
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_pf_4h5py_3h5r_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_ref_type, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_space); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5r_2dereference(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5r_4get_region(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_ref, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5r_6get_obj_type(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5r_8get_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc); /* proto */
-static int __pyx_pf_4h5py_3h5r_9Reference___cinit__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwds); /* proto */
-static int __pyx_pf_4h5py_3h5r_9Reference_2__nonzero__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5r_9Reference_4__repr__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5r_9Reference_8typecode___get__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5r_9Reference_8typesize___get__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self); /* proto */
-static int __pyx_pf_4h5py_3h5r_15RegionReference___cinit__(struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwds); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5r_15RegionReference_2__repr__(struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_self); /* proto */
-static char __pyx_k_1[] = "Dataspace required for region reference";
-static char __pyx_k_3[] = "Unknown reference typecode";
-static char __pyx_k_5[] = "<HDF5 object reference%s>";
-static char __pyx_k_6[] = "";
-static char __pyx_k_7[] = " (null)";
-static char __pyx_k_8[] = "<HDF5 region reference%s>";
-static char __pyx_k_9[] = " (null";
-static char __pyx_k_10[] = "\n    H5R API for object and region references.\n";
-static char __pyx_k_13[] = "/home/computer/h5py/h5py/h5r.pyx";
-static char __pyx_k_14[] = "h5py.h5r";
-static char __pyx_k__id[] = "id";
-static char __pyx_k__h5i[] = "h5i";
-static char __pyx_k__h5s[] = "h5s";
-static char __pyx_k__loc[] = "loc";
-static char __pyx_k__ref[] = "ref";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__space[] = "space";
-static char __pyx_k__OBJECT[] = "OBJECT";
-static char __pyx_k__create[] = "create";
-static char __pyx_k__SpaceID[] = "SpaceID";
-static char __pyx_k__namebuf[] = "namebuf";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__get_name[] = "get_name";
-static char __pyx_k__namesize[] = "namesize";
-static char __pyx_k__ref_type[] = "ref_type";
-static char __pyx_k__space_id[] = "space_id";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__get_region[] = "get_region";
-static char __pyx_k__dereference[] = "dereference";
-static char __pyx_k__get_obj_type[] = "get_obj_type";
-static char __pyx_k__DATASET_REGION[] = "DATASET_REGION";
-static char __pyx_k__wrap_identifier[] = "wrap_identifier";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_13;
-static PyObject *__pyx_n_s_14;
-static PyObject *__pyx_kp_s_3;
-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__DATASET_REGION;
-static PyObject *__pyx_n_s__OBJECT;
-static PyObject *__pyx_n_s__SpaceID;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s__create;
-static PyObject *__pyx_n_s__dereference;
-static PyObject *__pyx_n_s__get_name;
-static PyObject *__pyx_n_s__get_obj_type;
-static PyObject *__pyx_n_s__get_region;
-static PyObject *__pyx_n_s__h5i;
-static PyObject *__pyx_n_s__h5s;
-static PyObject *__pyx_n_s__id;
-static PyObject *__pyx_n_s__loc;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__namebuf;
-static PyObject *__pyx_n_s__namesize;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__ref;
-static PyObject *__pyx_n_s__ref_type;
-static PyObject *__pyx_n_s__space;
-static PyObject *__pyx_n_s__space_id;
-static PyObject *__pyx_n_s__wrap_identifier;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_4;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_tuple_15;
-static PyObject *__pyx_k_tuple_17;
-static PyObject *__pyx_k_tuple_19;
-static PyObject *__pyx_k_tuple_21;
-static PyObject *__pyx_k_codeobj_12;
-static PyObject *__pyx_k_codeobj_16;
-static PyObject *__pyx_k_codeobj_18;
-static PyObject *__pyx_k_codeobj_20;
-static PyObject *__pyx_k_codeobj_22;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5r_create[] = "(ObjectID loc, STRING name, INT ref_type, SpaceID space=None)\n    => ReferenceObject ref\n\n    Create a new reference. The value of ref_type detemines the kind\n    of reference created:\n\n    OBJECT\n        Reference to an object in an HDF5 file.  Parameters \"loc\"\n        and \"name\" identify the object; \"space\" is unused.\n\n    DATASET_REGION\n        Reference to a dataset region.  Parameters \"loc\" and\n        \"name\" identif [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5r_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5r_1create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5r_create)};
-static PyObject *__pyx_pw_4h5py_3h5r_1create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  char *__pyx_v_name;
-  int __pyx_v_ref_type;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_space = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__loc,&__pyx_n_s__name,&__pyx_n_s__ref_type,&__pyx_n_s__space,0};
-    PyObject* values[4] = {0,0,0,0};
-
-    /* "h5py/h5r.pyx":25
- * 
- * 
- * def create(ObjectID loc not None, char* name, int ref_type, ObjectID space=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, INT ref_type, SpaceID space=None)
- *     => ReferenceObject ref
- */
-    values[3] = (PyObject *)((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 0, 3, 4, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref_type)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 0, 3, 4, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space);
-          if (value) { values[3] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_ref_type = __Pyx_PyInt_AsInt(values[2]); if (unlikely((__pyx_v_ref_type == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_space = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[3]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5r.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_space), __pyx_ptype_4h5py_8_objects_ObjectID, 1, "space", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5r_create(__pyx_self, __pyx_v_loc, __pyx_v_name, __pyx_v_ref_type, __pyx_v_space);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5r_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc, char *__pyx_v_name, int __pyx_v_ref_type, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_space) {
-  hid_t __pyx_v_space_id;
-  struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  hid_t __pyx_t_3;
-  herr_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create", 0);
-
-  /* "h5py/h5r.pyx":43
- *     cdef hid_t space_id
- *     cdef Reference ref
- *     if ref_type == H5R_OBJECT:             # <<<<<<<<<<<<<<
- *         ref = Reference()
- *     elif ref_type == H5R_DATASET_REGION:
- */
-  __pyx_t_1 = (__pyx_v_ref_type == H5R_OBJECT);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5r.pyx":44
- *     cdef Reference ref
- *     if ref_type == H5R_OBJECT:
- *         ref = Reference()             # <<<<<<<<<<<<<<
- *     elif ref_type == H5R_DATASET_REGION:
- *         if space is None:   # work around segfault in HDF5
- */
-    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_Reference *)__pyx_t_2);
-    __pyx_t_2 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5r.pyx":45
- *     if ref_type == H5R_OBJECT:
- *         ref = Reference()
- *     elif ref_type == H5R_DATASET_REGION:             # <<<<<<<<<<<<<<
- *         if space is None:   # work around segfault in HDF5
- *             raise ValueError("Dataspace required for region reference")
- */
-  __pyx_t_1 = (__pyx_v_ref_type == H5R_DATASET_REGION);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5r.pyx":46
- *         ref = Reference()
- *     elif ref_type == H5R_DATASET_REGION:
- *         if space is None:   # work around segfault in HDF5             # <<<<<<<<<<<<<<
- *             raise ValueError("Dataspace required for region reference")
- *         ref = RegionReference()
- */
-    __pyx_t_1 = (((PyObject *)__pyx_v_space) == Py_None);
-    if (__pyx_t_1) {
-
-      /* "h5py/h5r.pyx":47
- *     elif ref_type == H5R_DATASET_REGION:
- *         if space is None:   # work around segfault in HDF5
- *             raise ValueError("Dataspace required for region reference")             # <<<<<<<<<<<<<<
- *         ref = RegionReference()
- *     else:
- */
-      __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-
-    /* "h5py/h5r.pyx":48
- *         if space is None:   # work around segfault in HDF5
- *             raise ValueError("Dataspace required for region reference")
- *         ref = RegionReference()             # <<<<<<<<<<<<<<
- *     else:
- *         raise ValueError("Unknown reference typecode")
- */
-    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)), ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_Reference *)__pyx_t_2);
-    __pyx_t_2 = 0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5r.pyx":50
- *         ref = RegionReference()
- *     else:
- *         raise ValueError("Unknown reference typecode")             # <<<<<<<<<<<<<<
- * 
- *     if space is None:
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5r.pyx":52
- *         raise ValueError("Unknown reference typecode")
- * 
- *     if space is None:             # <<<<<<<<<<<<<<
- *         space_id = -1
- *     else:
- */
-  __pyx_t_1 = (((PyObject *)__pyx_v_space) == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5r.pyx":53
- * 
- *     if space is None:
- *         space_id = -1             # <<<<<<<<<<<<<<
- *     else:
- *         space_id = space.id
- */
-    __pyx_v_space_id = -1;
-    goto __pyx_L5;
-  }
-  /*else*/ {
-
-    /* "h5py/h5r.pyx":55
- *         space_id = -1
- *     else:
- *         space_id = space.id             # <<<<<<<<<<<<<<
- * 
- *     H5Rcreate(&ref.ref, loc.id, name, <H5R_type_t>ref_type, space_id)
- */
-    __pyx_t_3 = __pyx_v_space->id;
-    __pyx_v_space_id = __pyx_t_3;
-  }
-  __pyx_L5:;
-
-  /* "h5py/h5r.pyx":57
- *         space_id = space.id
- * 
- *     H5Rcreate(&ref.ref, loc.id, name, <H5R_type_t>ref_type, space_id)             # <<<<<<<<<<<<<<
- * 
- *     return ref
- */
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Rcreate((&__pyx_v_ref->ref), __pyx_v_loc->id, __pyx_v_name, ((H5R_type_t)__pyx_v_ref_type), __pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5r.pyx":59
- *     H5Rcreate(&ref.ref, loc.id, name, <H5R_type_t>ref_type, space_id)
- * 
- *     return ref             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_ref));
-  __pyx_r = ((PyObject *)__pyx_v_ref);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5r.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_ref);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_3dereference(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5r_2dereference[] = "(Reference ref, ObjectID id) => ObjectID or None\n\n    Open the object pointed to by the reference and return its\n    identifier.  The file identifier (or the identifier for any object\n    in the file) must also be provided.  Returns None if the reference\n    is zero-filled.\n\n    The reference may be either Reference or RegionReference.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5r_3dereference = {__Pyx_NAMESTR("dereference"), (PyCFunction)__pyx_pw_4h5py_3h5r_3dereference, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5r_2dereference)};
-static PyObject *__pyx_pw_4h5py_3h5r_3dereference(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref = 0;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("dereference (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__ref,&__pyx_n_s__id,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("dereference", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "dereference") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_Reference *)values[0]);
-    __pyx_v_id = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[1]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("dereference", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5r.dereference", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ref), __pyx_ptype_4h5py_3h5r_Reference, 0, "ref", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_id), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "id", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5r_2dereference(__pyx_self, __pyx_v_ref, __pyx_v_id);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":62
- * 
- * 
- * def dereference(Reference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => ObjectID or None
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5r_2dereference(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id) {
-  PyObject *__pyx_v_h5i = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  hid_t __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("dereference", 0);
-
-  /* "h5py/h5r.pyx":72
- *     The reference may be either Reference or RegionReference.
- *     """
- *     import h5i             # <<<<<<<<<<<<<<
- *     if not ref:
- *         return None
- */
-  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__h5i), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_h5i = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5r.pyx":73
- *     """
- *     import h5i
- *     if not ref:             # <<<<<<<<<<<<<<
- *         return None
- *     return h5i.wrap_identifier(H5Rdereference(id.id, <H5R_type_t>ref.typecode, &ref.ref))
- */
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ref)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = (!__pyx_t_2);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5r.pyx":74
- *     import h5i
- *     if not ref:
- *         return None             # <<<<<<<<<<<<<<
- *     return h5i.wrap_identifier(H5Rdereference(id.id, <H5R_type_t>ref.typecode, &ref.ref))
- * 
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(Py_None);
-    __pyx_r = Py_None;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5r.pyx":75
- *     if not ref:
- *         return None
- *     return h5i.wrap_identifier(H5Rdereference(id.id, <H5R_type_t>ref.typecode, &ref.ref))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_v_h5i, __pyx_n_s__wrap_identifier); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Rdereference(__pyx_v_id->id, ((H5R_type_t)__pyx_v_ref->typecode), (&__pyx_v_ref->ref)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  __pyx_t_5 = 0;
-  __pyx_t_5 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-  __pyx_r = __pyx_t_5;
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5r.dereference", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_h5i);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_5get_region(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5r_4get_region[] = "(Reference ref, ObjectID id) => SpaceID or None\n\n    Retrieve the dataspace selection pointed to by the reference.\n    Returns a copy of the dataset's dataspace, with the appropriate\n    elements selected.  The file identifier or the identifier of any\n    object in the file (including the dataset itself) must also be\n    provided.\n\n    The reference object must be a RegionReference.  If it is zero-filled,\n    returns None.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5r_5get_region = {__Pyx_NAMESTR("get_region"), (PyCFunction)__pyx_pw_4h5py_3h5r_5get_region, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5r_4get_region)};
-static PyObject *__pyx_pw_4h5py_3h5r_5get_region(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_ref = 0;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_region (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__ref,&__pyx_n_s__id,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("get_region", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_region") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_RegionReference *)values[0]);
-    __pyx_v_id = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[1]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_region", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5r.get_region", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ref), __pyx_ptype_4h5py_3h5r_RegionReference, 0, "ref", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_id), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "id", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5r_4get_region(__pyx_self, __pyx_v_ref, __pyx_v_id);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":78
- * 
- * 
- * def get_region(RegionReference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => SpaceID or None
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5r_4get_region(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_ref, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id) {
-  PyObject *__pyx_v_h5s = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  hid_t __pyx_t_6;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_region", 0);
-
-  /* "h5py/h5r.pyx":90
- *     returns None.
- *     """
- *     import h5s             # <<<<<<<<<<<<<<
- *     if ref.typecode != H5R_DATASET_REGION or not ref:
- *         return None
- */
-  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__h5s), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_h5s = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5r.pyx":91
- *     """
- *     import h5s
- *     if ref.typecode != H5R_DATASET_REGION or not ref:             # <<<<<<<<<<<<<<
- *         return None
- *     return h5s.SpaceID.open(H5Rget_region(id.id, <H5R_type_t>ref.typecode, &ref.ref))
- */
-  __pyx_t_2 = (__pyx_v_ref->__pyx_base.typecode != H5R_DATASET_REGION);
-  if (!__pyx_t_2) {
-    __pyx_t_3 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ref)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_4 = (!__pyx_t_3);
-    __pyx_t_3 = __pyx_t_4;
-  } else {
-    __pyx_t_3 = __pyx_t_2;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/h5r.pyx":92
- *     import h5s
- *     if ref.typecode != H5R_DATASET_REGION or not ref:
- *         return None             # <<<<<<<<<<<<<<
- *     return h5s.SpaceID.open(H5Rget_region(id.id, <H5R_type_t>ref.typecode, &ref.ref))
- * 
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(Py_None);
-    __pyx_r = Py_None;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5r.pyx":93
- *     if ref.typecode != H5R_DATASET_REGION or not ref:
- *         return None
- *     return h5s.SpaceID.open(H5Rget_region(id.id, <H5R_type_t>ref.typecode, &ref.ref))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_v_h5s, __pyx_n_s__SpaceID); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__open); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_6 = __pyx_f_4h5py_4defs_H5Rget_region(__pyx_v_id->id, ((H5R_type_t)__pyx_v_ref->__pyx_base.typecode), (&__pyx_v_ref->__pyx_base.ref)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_AddTraceback("h5py.h5r.get_region", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_h5s);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_7get_obj_type(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5r_6get_obj_type[] = "(Reference ref, ObjectID id) => INT obj_code or None\n\n    Determine what type of object the reference points to.  The\n    reference may be a Reference or RegionReference.  The file\n    identifier or the identifier of any object in the file must also\n    be provided.\n\n    The return value is one of:\n\n    - h5g.LINK\n    - h5g.GROUP\n    - h5g.DATASET\n    - h5g.TYPE\n\n    If the reference is zero-filled, returns None.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5r_7get_obj_type = {__Pyx_NAMESTR("get_obj_type"), (PyCFunction)__pyx_pw_4h5py_3h5r_7get_obj_type, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5r_6get_obj_type)};
-static PyObject *__pyx_pw_4h5py_3h5r_7get_obj_type(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref = 0;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_obj_type (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__ref,&__pyx_n_s__id,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__id)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("get_obj_type", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_obj_type") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_Reference *)values[0]);
-    __pyx_v_id = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[1]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_obj_type", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5r.get_obj_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ref), __pyx_ptype_4h5py_3h5r_Reference, 0, "ref", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_id), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "id", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5r_6get_obj_type(__pyx_self, __pyx_v_ref, __pyx_v_id);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":96
- * 
- * 
- * def get_obj_type(Reference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => INT obj_code or None
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5r_6get_obj_type(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_id) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  enum H5G_obj_t __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_obj_type", 0);
-
-  /* "h5py/h5r.pyx":113
- *     If the reference is zero-filled, returns None.
- *     """
- *     if not ref:             # <<<<<<<<<<<<<<
- *         return None
- *     return <int>H5Rget_obj_type(id.id, <H5R_type_t>ref.typecode, &ref.ref)
- */
-  __pyx_t_1 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_ref)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = (!__pyx_t_1);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5r.pyx":114
- *     """
- *     if not ref:
- *         return None             # <<<<<<<<<<<<<<
- *     return <int>H5Rget_obj_type(id.id, <H5R_type_t>ref.typecode, &ref.ref)
- * 
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(Py_None);
-    __pyx_r = Py_None;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5r.pyx":115
- *     if not ref:
- *         return None
- *     return <int>H5Rget_obj_type(id.id, <H5R_type_t>ref.typecode, &ref.ref)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Rget_obj_type(__pyx_v_id->id, ((H5R_type_t)__pyx_v_ref->typecode), (&__pyx_v_ref->ref)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_4 = PyInt_FromLong(((int)__pyx_t_3)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_r = __pyx_t_4;
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5r.get_obj_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_9get_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5r_8get_name[] = "(Reference ref, ObjectID loc) => STRING name\n\n    Determine the name of the object pointed to by this reference.\n    Requires the HDF5 1.8 API.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5r_9get_name = {__Pyx_NAMESTR("get_name"), (PyCFunction)__pyx_pw_4h5py_3h5r_9get_name, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5r_8get_name)};
-static PyObject *__pyx_pw_4h5py_3h5r_9get_name(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref = 0;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_name (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__ref,&__pyx_n_s__loc,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__ref)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__loc)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("get_name", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_name") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_ref = ((struct __pyx_obj_4h5py_3h5r_Reference *)values[0]);
-    __pyx_v_loc = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[1]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_name", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5r.get_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_ref), __pyx_ptype_4h5py_3h5r_Reference, 0, "ref", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_loc), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "loc", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5r_8get_name(__pyx_self, __pyx_v_ref, __pyx_v_loc);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":118
- * 
- * 
- * def get_name(Reference ref not None, ObjectID loc not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID loc) => STRING name
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5r_8get_name(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_ref, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_loc) {
-  Py_ssize_t __pyx_v_namesize;
-  char *__pyx_v_namebuf;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_name", 0);
-
-  /* "h5py/h5r.pyx":124
- *     Requires the HDF5 1.8 API.
- *     """
- *     cdef ssize_t namesize = 0             # <<<<<<<<<<<<<<
- *     cdef char* namebuf = NULL
- * 
- */
-  __pyx_v_namesize = 0;
-
-  /* "h5py/h5r.pyx":125
- *     """
- *     cdef ssize_t namesize = 0
- *     cdef char* namebuf = NULL             # <<<<<<<<<<<<<<
- * 
- *     namesize = H5Rget_name(loc.id, <H5R_type_t>ref.typecode, &ref.ref, NULL, 0)
- */
-  __pyx_v_namebuf = NULL;
-
-  /* "h5py/h5r.pyx":127
- *     cdef char* namebuf = NULL
- * 
- *     namesize = H5Rget_name(loc.id, <H5R_type_t>ref.typecode, &ref.ref, NULL, 0)             # <<<<<<<<<<<<<<
- *     if namesize > 0:
- *         namebuf = <char*>malloc(namesize+1)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Rget_name(__pyx_v_loc->id, ((H5R_type_t)__pyx_v_ref->typecode), (&__pyx_v_ref->ref), NULL, 0); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_namesize = __pyx_t_1;
-
-  /* "h5py/h5r.pyx":128
- * 
- *     namesize = H5Rget_name(loc.id, <H5R_type_t>ref.typecode, &ref.ref, NULL, 0)
- *     if namesize > 0:             # <<<<<<<<<<<<<<
- *         namebuf = <char*>malloc(namesize+1)
- *         try:
- */
-  __pyx_t_2 = (__pyx_v_namesize > 0);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5r.pyx":129
- *     namesize = H5Rget_name(loc.id, <H5R_type_t>ref.typecode, &ref.ref, NULL, 0)
- *     if namesize > 0:
- *         namebuf = <char*>malloc(namesize+1)             # <<<<<<<<<<<<<<
- *         try:
- *             namesize = H5Rget_name(loc.id, <H5R_type_t>ref.typecode, &ref.ref, namebuf, namesize+1)
- */
-    __pyx_v_namebuf = ((char *)malloc((__pyx_v_namesize + 1)));
-
-    /* "h5py/h5r.pyx":130
- *     if namesize > 0:
- *         namebuf = <char*>malloc(namesize+1)
- *         try:             # <<<<<<<<<<<<<<
- *             namesize = H5Rget_name(loc.id, <H5R_type_t>ref.typecode, &ref.ref, namebuf, namesize+1)
- *             return namebuf
- */
-    /*try:*/ {
-
-      /* "h5py/h5r.pyx":131
- *         namebuf = <char*>malloc(namesize+1)
- *         try:
- *             namesize = H5Rget_name(loc.id, <H5R_type_t>ref.typecode, &ref.ref, namebuf, namesize+1)             # <<<<<<<<<<<<<<
- *             return namebuf
- *         finally:
- */
-      __pyx_t_1 = __pyx_f_4h5py_4defs_H5Rget_name(__pyx_v_loc->id, ((H5R_type_t)__pyx_v_ref->typecode), (&__pyx_v_ref->ref), __pyx_v_namebuf, (__pyx_v_namesize + 1)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __pyx_v_namesize = __pyx_t_1;
-
-      /* "h5py/h5r.pyx":132
- *         try:
- *             namesize = H5Rget_name(loc.id, <H5R_type_t>ref.typecode, &ref.ref, namebuf, namesize+1)
- *             return namebuf             # <<<<<<<<<<<<<<
- *         finally:
- *             free(namebuf)
- */
-      __Pyx_XDECREF(__pyx_r);
-      __pyx_t_3 = PyBytes_FromString(__pyx_v_namebuf); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-      __pyx_r = ((PyObject *)__pyx_t_3);
-      __pyx_t_3 = 0;
-      goto __pyx_L4;
-    }
-
-    /* "h5py/h5r.pyx":134
- *             return namebuf
- *         finally:
- *             free(namebuf)             # <<<<<<<<<<<<<<
- * 
- * cdef class Reference:
- */
-    /*finally:*/ {
-      int __pyx_why;
-      PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-      int __pyx_exc_lineno;
-      __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-      __pyx_why = 0; goto __pyx_L6;
-      __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-      __pyx_why = 3; goto __pyx_L6;
-      __pyx_L5: {
-        __pyx_why = 4;
-        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-        __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-        __pyx_exc_lineno = __pyx_lineno;
-        goto __pyx_L6;
-      }
-      __pyx_L6:;
-      free(__pyx_v_namebuf);
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-        case 4: {
-          __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-          __pyx_lineno = __pyx_exc_lineno;
-          __pyx_exc_type = 0;
-          __pyx_exc_value = 0;
-          __pyx_exc_tb = 0;
-          goto __pyx_L1_error;
-        }
-      }
-    }
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5r.get_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5r_9Reference_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5r_9Reference_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
-  CYTHON_UNUSED PyObject *__pyx_v_kwds = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 1))) return -1;
-  __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
-  if (unlikely(!__pyx_v_kwds)) return -1;
-  __Pyx_GOTREF(__pyx_v_kwds);
-  __Pyx_INCREF(__pyx_args);
-  __pyx_v_args = __pyx_args;
-  __pyx_r = __pyx_pf_4h5py_3h5r_9Reference___cinit__(((struct __pyx_obj_4h5py_3h5r_Reference *)__pyx_v_self), __pyx_v_args, __pyx_v_kwds);
-  __Pyx_XDECREF(__pyx_v_args);
-  __Pyx_XDECREF(__pyx_v_kwds);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":151
- *     """
- * 
- *     def __cinit__(self, *args, **kwds):             # <<<<<<<<<<<<<<
- *         self.typecode = H5R_OBJECT
- *         self.typesize = sizeof(hobj_ref_t)
- */
-
-static int __pyx_pf_4h5py_3h5r_9Reference___cinit__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "h5py/h5r.pyx":152
- * 
- *     def __cinit__(self, *args, **kwds):
- *         self.typecode = H5R_OBJECT             # <<<<<<<<<<<<<<
- *         self.typesize = sizeof(hobj_ref_t)
- * 
- */
-  __pyx_v_self->typecode = H5R_OBJECT;
-
-  /* "h5py/h5r.pyx":153
- *     def __cinit__(self, *args, **kwds):
- *         self.typecode = H5R_OBJECT
- *         self.typesize = sizeof(hobj_ref_t)             # <<<<<<<<<<<<<<
- * 
- *     def __nonzero__(self):
- */
-  __pyx_v_self->typesize = (sizeof(hobj_ref_t));
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5r_9Reference_3__nonzero__(PyObject *__pyx_v_self); /*proto*/
-static int __pyx_pw_4h5py_3h5r_9Reference_3__nonzero__(PyObject *__pyx_v_self) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__nonzero__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5r_9Reference_2__nonzero__(((struct __pyx_obj_4h5py_3h5r_Reference *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":155
- *         self.typesize = sizeof(hobj_ref_t)
- * 
- *     def __nonzero__(self):             # <<<<<<<<<<<<<<
- *         cdef int i
- *         for i from 0<=i<self.typesize:
- */
-
-static int __pyx_pf_4h5py_3h5r_9Reference_2__nonzero__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self) {
-  int __pyx_v_i;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  size_t __pyx_t_1;
-  int __pyx_t_2;
-  __Pyx_RefNannySetupContext("__nonzero__", 0);
-
-  /* "h5py/h5r.pyx":157
- *     def __nonzero__(self):
- *         cdef int i
- *         for i from 0<=i<self.typesize:             # <<<<<<<<<<<<<<
- *             if (<unsigned char*>&self.ref)[i] != 0: return True
- *         return False
- */
-  __pyx_t_1 = __pyx_v_self->typesize;
-  for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_1; __pyx_v_i++) {
-
-    /* "h5py/h5r.pyx":158
- *         cdef int i
- *         for i from 0<=i<self.typesize:
- *             if (<unsigned char*>&self.ref)[i] != 0: return True             # <<<<<<<<<<<<<<
- *         return False
- * 
- */
-    __pyx_t_2 = ((((unsigned char *)(&__pyx_v_self->ref))[__pyx_v_i]) != 0);
-    if (__pyx_t_2) {
-      __pyx_r = 1;
-      goto __pyx_L0;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-  }
-
-  /* "h5py/h5r.pyx":159
- *         for i from 0<=i<self.typesize:
- *             if (<unsigned char*>&self.ref)[i] != 0: return True
- *         return False             # <<<<<<<<<<<<<<
- * 
- *     def __repr__(self):
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_9Reference_5__repr__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5r_9Reference_5__repr__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5r_9Reference_4__repr__(((struct __pyx_obj_4h5py_3h5r_Reference *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":161
- *         return False
- * 
- *     def __repr__(self):             # <<<<<<<<<<<<<<
- *         return "<HDF5 object reference%s>" % ("" if self else " (null)")
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5r_9Reference_4__repr__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__repr__", 0);
-
-  /* "h5py/h5r.pyx":162
- * 
- *     def __repr__(self):
- *         return "<HDF5 object reference%s>" % ("" if self else " (null)")             # <<<<<<<<<<<<<<
- * 
- * cdef class RegionReference(Reference):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_t_2) {
-    __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
-    __pyx_t_1 = __pyx_kp_s_6;
-  } else {
-    __Pyx_INCREF(((PyObject *)__pyx_kp_s_7));
-    __pyx_t_1 = __pyx_kp_s_7;
-  }
-  __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5r.Reference.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_9Reference_8typecode_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5r_9Reference_8typecode_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5r_9Reference_8typecode___get__(((struct __pyx_obj_4h5py_3h5r_Reference *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pxd":24
- * 
- *     cdef ref_u ref
- *     cdef readonly int typecode             # <<<<<<<<<<<<<<
- *     cdef readonly size_t typesize
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5r_9Reference_8typecode___get__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_self->typecode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5r.Reference.typecode.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_9Reference_8typesize_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5r_9Reference_8typesize_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5r_9Reference_8typesize___get__(((struct __pyx_obj_4h5py_3h5r_Reference *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pxd":25
- *     cdef ref_u ref
- *     cdef readonly int typecode
- *     cdef readonly size_t typesize             # <<<<<<<<<<<<<<
- * 
- * cdef class RegionReference(Reference):
- */
-
-static PyObject *__pyx_pf_4h5py_3h5r_9Reference_8typesize___get__(struct __pyx_obj_4h5py_3h5r_Reference *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_self->typesize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5r.Reference.typesize.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static int __pyx_pw_4h5py_3h5r_15RegionReference_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_pw_4h5py_3h5r_15RegionReference_1__cinit__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  CYTHON_UNUSED PyObject *__pyx_v_args = 0;
-  CYTHON_UNUSED PyObject *__pyx_v_kwds = 0;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
-  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__cinit__", 1))) return -1;
-  __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
-  if (unlikely(!__pyx_v_kwds)) return -1;
-  __Pyx_GOTREF(__pyx_v_kwds);
-  __Pyx_INCREF(__pyx_args);
-  __pyx_v_args = __pyx_args;
-  __pyx_r = __pyx_pf_4h5py_3h5r_15RegionReference___cinit__(((struct __pyx_obj_4h5py_3h5r_RegionReference *)__pyx_v_self), __pyx_v_args, __pyx_v_kwds);
-  __Pyx_XDECREF(__pyx_v_args);
-  __Pyx_XDECREF(__pyx_v_kwds);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":173
- *     """
- * 
- *     def __cinit__(self, *args, **kwds):             # <<<<<<<<<<<<<<
- *         self.typecode = H5R_DATASET_REGION
- *         self.typesize = sizeof(hdset_reg_ref_t)
- */
-
-static int __pyx_pf_4h5py_3h5r_15RegionReference___cinit__(struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_args, CYTHON_UNUSED PyObject *__pyx_v_kwds) {
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__cinit__", 0);
-
-  /* "h5py/h5r.pyx":174
- * 
- *     def __cinit__(self, *args, **kwds):
- *         self.typecode = H5R_DATASET_REGION             # <<<<<<<<<<<<<<
- *         self.typesize = sizeof(hdset_reg_ref_t)
- * 
- */
-  __pyx_v_self->__pyx_base.typecode = H5R_DATASET_REGION;
-
-  /* "h5py/h5r.pyx":175
- *     def __cinit__(self, *args, **kwds):
- *         self.typecode = H5R_DATASET_REGION
- *         self.typesize = sizeof(hdset_reg_ref_t)             # <<<<<<<<<<<<<<
- * 
- *     def __repr__(self):
- */
-  __pyx_v_self->__pyx_base.typesize = (sizeof(hdset_reg_ref_t));
-
-  __pyx_r = 0;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5r_15RegionReference_3__repr__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5r_15RegionReference_3__repr__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__repr__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5r_15RegionReference_2__repr__(((struct __pyx_obj_4h5py_3h5r_RegionReference *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5r.pyx":177
- *         self.typesize = sizeof(hdset_reg_ref_t)
- * 
- *     def __repr__(self):             # <<<<<<<<<<<<<<
- *         return "<HDF5 region reference%s>" % ("" if self else " (null")
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5r_15RegionReference_2__repr__(struct __pyx_obj_4h5py_3h5r_RegionReference *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__repr__", 0);
-
-  /* "h5py/h5r.pyx":178
- * 
- *     def __repr__(self):
- *         return "<HDF5 region reference%s>" % ("" if self else " (null")             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_t_2) {
-    __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
-    __pyx_t_1 = __pyx_kp_s_6;
-  } else {
-    __Pyx_INCREF(((PyObject *)__pyx_kp_s_9));
-    __pyx_t_1 = __pyx_kp_s_9;
-  }
-  __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_8), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 178; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5r.RegionReference.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5r_Reference(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = (*t->tp_alloc)(t, 0);
-  if (!o) return 0;
-  if (__pyx_pw_4h5py_3h5r_9Reference_1__cinit__(o, a, k) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5r_Reference(PyObject *o) {
-  (*Py_TYPE(o)->tp_free)(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5r_9Reference_typecode(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5r_9Reference_8typecode_1__get__(o);
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5r_9Reference_typesize(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5r_9Reference_8typesize_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5r_Reference[] = {
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5r_Reference[] = {
-  {(char *)"typecode", __pyx_getprop_4h5py_3h5r_9Reference_typecode, 0, 0, 0},
-  {(char *)"typesize", __pyx_getprop_4h5py_3h5r_9Reference_typesize, 0, 0, 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_Reference = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  __pyx_pw_4h5py_3h5r_9Reference_3__nonzero__, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_Reference = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_Reference = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_Reference = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5r_Reference = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5r.Reference"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5r_Reference), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5r_Reference, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  __pyx_pw_4h5py_3h5r_9Reference_5__repr__, /*tp_repr*/
-  &__pyx_tp_as_number_Reference, /*tp_as_number*/
-  &__pyx_tp_as_sequence_Reference, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_Reference, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_Reference, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Opaque representation of an HDF5 reference.\n\n        Objects of this class are created exclusively by the library and\n        cannot be modified.  The read-only attribute \"typecode\" determines\n        whether the reference is to an object in an HDF5 file (OBJECT)\n        or a dataset region (DATASET_REGION).\n\n        The object's truth value indicates whether it contains a nonzero\n        reference.  This does not guarantee that is valid, but is useful [...]
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5r_Reference, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5r_Reference, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5r_Reference, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyObject *__pyx_tp_new_4h5py_3h5r_RegionReference(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_tp_new_4h5py_3h5r_Reference(t, a, k);
-  if (!o) return 0;
-  if (__pyx_pw_4h5py_3h5r_15RegionReference_1__cinit__(o, a, k) < 0) {
-    Py_DECREF(o); o = 0;
-  }
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5r_RegionReference[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_RegionReference = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  #if CYTHON_COMPILING_IN_PYPY
-  __pyx_pw_4h5py_3h5r_9Reference_3__nonzero__, /*nb_nonzero*/
-  #else
-  0, /*nb_nonzero*/
-  #endif
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_RegionReference = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_RegionReference = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_RegionReference = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5r_RegionReference = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5r.RegionReference"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5r_RegionReference), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5r_Reference, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  __pyx_pw_4h5py_3h5r_15RegionReference_3__repr__, /*tp_repr*/
-  &__pyx_tp_as_number_RegionReference, /*tp_as_number*/
-  &__pyx_tp_as_sequence_RegionReference, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_RegionReference, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_RegionReference, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Opaque representation of an HDF5 region reference.\n\n        This is a subclass of Reference which exists mainly for programming\n        convenience.\n    "), /*tp_doc*/
-  0, /*tp_traverse*/
-  0, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5r_RegionReference, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5r_RegionReference, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5r"),
-    __Pyx_DOCSTR(__pyx_k_10), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0},
-  {&__pyx_n_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 1},
-  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
-  {&__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__DATASET_REGION, __pyx_k__DATASET_REGION, sizeof(__pyx_k__DATASET_REGION), 0, 0, 1, 1},
-  {&__pyx_n_s__OBJECT, __pyx_k__OBJECT, sizeof(__pyx_k__OBJECT), 0, 0, 1, 1},
-  {&__pyx_n_s__SpaceID, __pyx_k__SpaceID, sizeof(__pyx_k__SpaceID), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
-  {&__pyx_n_s__dereference, __pyx_k__dereference, sizeof(__pyx_k__dereference), 0, 0, 1, 1},
-  {&__pyx_n_s__get_name, __pyx_k__get_name, sizeof(__pyx_k__get_name), 0, 0, 1, 1},
-  {&__pyx_n_s__get_obj_type, __pyx_k__get_obj_type, sizeof(__pyx_k__get_obj_type), 0, 0, 1, 1},
-  {&__pyx_n_s__get_region, __pyx_k__get_region, sizeof(__pyx_k__get_region), 0, 0, 1, 1},
-  {&__pyx_n_s__h5i, __pyx_k__h5i, sizeof(__pyx_k__h5i), 0, 0, 1, 1},
-  {&__pyx_n_s__h5s, __pyx_k__h5s, sizeof(__pyx_k__h5s), 0, 0, 1, 1},
-  {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
-  {&__pyx_n_s__loc, __pyx_k__loc, sizeof(__pyx_k__loc), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__namebuf, __pyx_k__namebuf, sizeof(__pyx_k__namebuf), 0, 0, 1, 1},
-  {&__pyx_n_s__namesize, __pyx_k__namesize, sizeof(__pyx_k__namesize), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__ref, __pyx_k__ref, sizeof(__pyx_k__ref), 0, 0, 1, 1},
-  {&__pyx_n_s__ref_type, __pyx_k__ref_type, sizeof(__pyx_k__ref_type), 0, 0, 1, 1},
-  {&__pyx_n_s__space, __pyx_k__space, sizeof(__pyx_k__space), 0, 0, 1, 1},
-  {&__pyx_n_s__space_id, __pyx_k__space_id, sizeof(__pyx_k__space_id), 0, 0, 1, 1},
-  {&__pyx_n_s__wrap_identifier, __pyx_k__wrap_identifier, sizeof(__pyx_k__wrap_identifier), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5r.pyx":47
- *     elif ref_type == H5R_DATASET_REGION:
- *         if space is None:   # work around segfault in HDF5
- *             raise ValueError("Dataspace required for region reference")             # <<<<<<<<<<<<<<
- *         ref = RegionReference()
- *     else:
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-
-  /* "h5py/h5r.pyx":50
- *         ref = RegionReference()
- *     else:
- *         raise ValueError("Unknown reference typecode")             # <<<<<<<<<<<<<<
- * 
- *     if space is None:
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_3)); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-
-  /* "h5py/h5r.pyx":25
- * 
- * 
- * def create(ObjectID loc not None, char* name, int ref_type, ObjectID space=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, INT ref_type, SpaceID space=None)
- *     => ReferenceObject ref
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__ref_type), ((PyObject *)__pyx_n_s__space), ((PyObject *)__pyx_n_s__space_id), ((PyObject *)__pyx_n_s__ref)); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-  __pyx_k_codeobj_12 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__create, 25, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5r.pyx":62
- * 
- * 
- * def dereference(Reference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => ObjectID or None
- * 
- */
-  __pyx_k_tuple_15 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_n_s__id), ((PyObject *)__pyx_n_s__h5i)); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_15);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
-  __pyx_k_codeobj_16 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__dereference, 62, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5r.pyx":78
- * 
- * 
- * def get_region(RegionReference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => SpaceID or None
- * 
- */
-  __pyx_k_tuple_17 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_n_s__id), ((PyObject *)__pyx_n_s__h5s)); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_17);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));
-  __pyx_k_codeobj_18 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__get_region, 78, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5r.pyx":96
- * 
- * 
- * def get_obj_type(Reference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => INT obj_code or None
- * 
- */
-  __pyx_k_tuple_19 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_n_s__id)); if (unlikely(!__pyx_k_tuple_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_19);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_19));
-  __pyx_k_codeobj_20 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_19, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__get_obj_type, 96, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_20)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5r.pyx":118
- * 
- * 
- * def get_name(Reference ref not None, ObjectID loc not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID loc) => STRING name
- * 
- */
-  __pyx_k_tuple_21 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_n_s__loc), ((PyObject *)__pyx_n_s__namesize), ((PyObject *)__pyx_n_s__namebuf)); if (unlikely(!__pyx_k_tuple_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_21);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_21));
-  __pyx_k_codeobj_22 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__get_name, 118, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5r(void); /*proto*/
-PyMODINIT_FUNC inith5r(void)
-#else
-PyMODINIT_FUNC PyInit_h5r(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5r(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5r(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5r"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_10), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5r")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5r", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5r) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  if (PyType_Ready(&__pyx_type_4h5py_3h5r_Reference) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "Reference", (PyObject *)&__pyx_type_4h5py_3h5r_Reference) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5r_Reference = &__pyx_type_4h5py_3h5r_Reference;
-  __pyx_type_4h5py_3h5r_RegionReference.tp_base = __pyx_ptype_4h5py_3h5r_Reference;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5r_RegionReference) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "RegionReference", (PyObject *)&__pyx_type_4h5py_3h5r_RegionReference) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5r_RegionReference = &__pyx_type_4h5py_3h5r_RegionReference;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Rcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rcreate, "herr_t (void *, hid_t, char *, H5R_type_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Rdereference", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rdereference, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_region", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_region, "hid_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_obj_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_obj_type, "enum H5G_obj_t (hid_t, H5R_type_t, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Rget_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Rget_name, "Py_ssize_t (hid_t, H5R_type_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5r.pyx":19
- * # === Public constants and data structures ====================================
- * 
- * OBJECT = H5R_OBJECT             # <<<<<<<<<<<<<<
- * DATASET_REGION = H5R_DATASET_REGION
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5R_OBJECT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OBJECT, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5r.pyx":20
- * 
- * OBJECT = H5R_OBJECT
- * DATASET_REGION = H5R_DATASET_REGION             # <<<<<<<<<<<<<<
- * 
- * # === Reference API ===========================================================
- */
-  __pyx_t_2 = PyInt_FromLong(H5R_DATASET_REGION); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DATASET_REGION, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5r.pyx":25
- * 
- * 
- * def create(ObjectID loc not None, char* name, int ref_type, ObjectID space=None):             # <<<<<<<<<<<<<<
- *     """(ObjectID loc, STRING name, INT ref_type, SpaceID space=None)
- *     => ReferenceObject ref
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5r_1create, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5r.pyx":62
- * 
- * 
- * def dereference(Reference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => ObjectID or None
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5r_3dereference, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__dereference, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5r.pyx":78
- * 
- * 
- * def get_region(RegionReference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => SpaceID or None
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5r_5get_region, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_region, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5r.pyx":96
- * 
- * 
- * def get_obj_type(Reference ref not None, ObjectID id not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID id) => INT obj_code or None
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5r_7get_obj_type, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_obj_type, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5r.pyx":118
- * 
- * 
- * def get_name(Reference ref not None, ObjectID loc not None):             # <<<<<<<<<<<<<<
- *     """(Reference ref, ObjectID loc) => STRING name
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5r_9get_name, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_name, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5r.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5r", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5r");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
-    PyObject *kwdict,
-    const char* function_name,
-    int kw_allowed)
-{
-    PyObject* key = 0;
-    Py_ssize_t pos = 0;
-#if CPYTHON_COMPILING_IN_PYPY
-    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
-        goto invalid_keyword;
-    return 1;
-#else
-    while (PyDict_Next(kwdict, &pos, &key, 0)) {
-        #if PY_MAJOR_VERSION < 3
-        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
-        #endif
-            if (unlikely(!PyUnicode_Check(key)))
-                goto invalid_keyword_type;
-    }
-    if ((!kw_allowed) && unlikely(key))
-        goto invalid_keyword;
-    return 1;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    return 0;
-#endif
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-    return 0;
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5r.pyx b/h5py/h5r.pyx
index 5a49533..3a42275 100644
--- a/h5py/h5r.pyx
+++ b/h5py/h5r.pyx
@@ -14,14 +14,18 @@
 # Pyrex compile-time imports
 from _objects cimport ObjectID
 
+from ._objects import phil, with_phil
+
+
 # === Public constants and data structures ====================================
 
 OBJECT = H5R_OBJECT
 DATASET_REGION = H5R_DATASET_REGION
 
-# === Reference API ===========================================================
 
+# === Reference API ===========================================================
 
+ at with_phil
 def create(ObjectID loc not None, char* name, int ref_type, ObjectID space=None):
     """(ObjectID loc, STRING name, INT ref_type, SpaceID space=None)
     => ReferenceObject ref
@@ -59,6 +63,7 @@ def create(ObjectID loc not None, char* name, int ref_type, ObjectID space=None)
     return ref
 
 
+ at with_phil
 def dereference(Reference ref not None, ObjectID id not None):
     """(Reference ref, ObjectID id) => ObjectID or None
 
@@ -75,6 +80,7 @@ def dereference(Reference ref not None, ObjectID id not None):
     return h5i.wrap_identifier(H5Rdereference(id.id, <H5R_type_t>ref.typecode, &ref.ref))
 
 
+ at with_phil
 def get_region(RegionReference ref not None, ObjectID id not None):
     """(Reference ref, ObjectID id) => SpaceID or None
 
@@ -90,9 +96,10 @@ def get_region(RegionReference ref not None, ObjectID id not None):
     import h5s
     if ref.typecode != H5R_DATASET_REGION or not ref:
         return None
-    return h5s.SpaceID.open(H5Rget_region(id.id, <H5R_type_t>ref.typecode, &ref.ref))
+    return h5s.SpaceID(H5Rget_region(id.id, <H5R_type_t>ref.typecode, &ref.ref))
 
 
+ at with_phil
 def get_obj_type(Reference ref not None, ObjectID id not None):
     """(Reference ref, ObjectID id) => INT obj_code or None
 
@@ -115,6 +122,7 @@ def get_obj_type(Reference ref not None, ObjectID id not None):
     return <int>H5Rget_obj_type(id.id, <H5R_type_t>ref.typecode, &ref.ref)
 
 
+ at with_phil
 def get_name(Reference ref not None, ObjectID loc not None):
     """(Reference ref, ObjectID loc) => STRING name
 
@@ -133,6 +141,7 @@ def get_name(Reference ref not None, ObjectID loc not None):
         finally:
             free(namebuf)
 
+
 cdef class Reference:
 
     """
diff --git a/h5py/h5s.c b/h5py/h5s.c
deleted file mode 100644
index e07c2d5..0000000
--- a/h5py/h5s.c
+++ /dev/null
@@ -1,6842 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5s
-#define __PYX_HAVE_API__h5py__h5s
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5s.pyx",
-  "numpy.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5s_SpaceID;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5py/h5s.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class SpaceID(ObjectID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5s_SpaceID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-};
-
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-#define __Pyx_DelItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_DelItemInt_Fast(o, i) : \
-                                                    __Pyx_DelItem_Generic(o, to_py_func(i)))
-static CYTHON_INLINE int __Pyx_DelItem_Generic(PyObject *o, PyObject *j) {
-    int r;
-    if (!j) return -1;
-    r = PyObject_DelItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-static CYTHON_INLINE int __Pyx_DelItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_PYPY
-    if (PySequence_Check(o)) {
-        return PySequence_DelItem(o, i);
-    }
-#else
-    PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-    if (likely(m && m->sq_ass_item)) {
-        if (unlikely(i < 0) && likely(m->sq_length)) {
-            Py_ssize_t l = m->sq_length(o);
-            if (unlikely(l < 0)) return -1;
-            i += l;
-        }
-        return m->sq_ass_item(o, i, (PyObject *)NULL);
-    }
-#endif
-    return __Pyx_DelItem_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hssize_t(hssize_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static hid_t (*__pyx_f_4h5py_4defs_H5Screate)(H5S_class_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Scopy)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sclose)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Screate_simple)(int, hsize_t *, hsize_t *); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Sis_simple)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Soffset_simple)(hid_t, hssize_t *); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims)(hid_t, hsize_t *, hsize_t *); /*proto*/
-static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints)(hid_t); /*proto*/
-static H5S_class_t (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_type)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sextent_copy)(hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_simple)(hid_t, int, hsize_t *, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sset_extent_none)(hid_t); /*proto*/
-static H5S_sel_type (*__pyx_f_4h5py_4defs_H5Sget_select_type)(hid_t); /*proto*/
-static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_npoints)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_bounds)(hid_t, hsize_t *, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_all)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_none)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Sselect_valid)(hid_t); /*proto*/
-static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_elements)(hid_t, H5S_seloper_t, size_t, hsize_t **); /*proto*/
-static hssize_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist)(hid_t, hsize_t, hsize_t, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sselect_hyperslab)(hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Sencode)(hid_t, void *, size_t *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Sdecode)(void *); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
-static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/
-static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/
-static PyObject *(*__pyx_f_4h5py_5utils_create_numpy_hsize)(int, hsize_t *); /*proto*/
-static PyObject *(*__pyx_f_4h5py_5utils_create_hsize_array)(PyObject *); /*proto*/
-
-/* Module declarations from 'h5py.h5s' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5s_SpaceID = 0;
-static PyObject *__pyx_f_4h5py_3h5s_lockid(hid_t); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5s"
-int __pyx_module_is_main_h5py__h5s = 0;
-
-/* Implementation of 'h5py.h5s' */
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_pf_4h5py_3h5s_create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_class_code); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_2create_simple(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dims_tpl, PyObject *__pyx_v_max_dims_tpl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_4decode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buf); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID__close(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_2copy(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_4encode(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_6__reduce__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_8__setstate__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_state); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_10is_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_12offset_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_offset); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_16get_simple_extent_dims(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, int __pyx_v_maxdims); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_20get_simple_extent_type(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_22extent_copy(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_source); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_24set_extent_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_dims_tpl, PyObject *__pyx_v_max_dims_tpl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_26set_extent_none(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_28get_select_type(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_30get_select_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_32get_select_bounds(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_34select_all(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_36select_none(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_38select_valid(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_40get_select_elem_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_42get_select_elem_pointlist(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_44select_elements(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_coords, int __pyx_v_op); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_50select_hyperslab(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_start, PyObject *__pyx_v_count, PyObject *__pyx_v_stride, PyObject *__pyx_v_block, int __pyx_v_op); /* proto */
-static char __pyx_k_1[] = "get_simple_extent_dims";
-static char __pyx_k_4[] = "%d is not a simple dataspace";
-static char __pyx_k_6[] = "Coordinate array must have shape (<npoints>, %d)";
-static char __pyx_k_7[] = "get_simple_extent_ndims";
-static char __pyx_k_9[] = " Numpy-style shape tuple representing dimensions.  () == scalar.\n        ";
-static char __pyx_k_10[] = "\n    Low-level interface to the \"H5S\" family of data-space functions.\n";
-static char __pyx_k_13[] = "/home/computer/h5py/h5py/h5s.pyx";
-static char __pyx_k_14[] = "h5py.h5s";
-static char __pyx_k_19[] = "SpaceID.select_elements (line 440)";
-static char __pyx_k_20[] = "(SEQUENCE coords, INT op=SELECT_SET)\n\n        Select elements by specifying coordinates points.  The argument\n        \"coords\" may be an ndarray or any nested sequence which can be\n        converted to an array of uints with the shape::\n\n            (<npoints>, <space rank>)\n\n        Examples::\n\n            >>> obj.shape\n            (10, 10)\n            >>> obj.select_elements([(1,2), (3,4), (5,9)])\n\n        A zero-length selection (i.e. shape  [...]
-static char __pyx_k__op[] = "op";
-static char __pyx_k__ALL[] = "ALL";
-static char __pyx_k__buf[] = "buf";
-static char __pyx_k__buf_[] = "buf_";
-static char __pyx_k__dims[] = "dims";
-static char __pyx_k__h5py[] = "h5py";
-static char __pyx_k__lock[] = "lock";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__rank[] = "rank";
-static char __pyx_k___NULL[] = "_NULL";
-static char __pyx_k__block[] = "block";
-static char __pyx_k__count[] = "count";
-static char __pyx_k__start[] = "start";
-static char __pyx_k__valid[] = "valid";
-static char __pyx_k__SCALAR[] = "SCALAR";
-static char __pyx_k__SIMPLE[] = "SIMPLE";
-static char __pyx_k__coords[] = "coords";
-static char __pyx_k__create[] = "create";
-static char __pyx_k__decode[] = "decode";
-static char __pyx_k__encode[] = "encode";
-static char __pyx_k__offset[] = "offset";
-static char __pyx_k__stride[] = "stride";
-static char __pyx_k__SEL_ALL[] = "SEL_ALL";
-static char __pyx_k__maxdims[] = "maxdims";
-static char __pyx_k__NO_CLASS[] = "NO_CLASS";
-static char __pyx_k__SEL_NONE[] = "SEL_NONE";
-static char __pyx_k____exit__[] = "__exit__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k___objects[] = "_objects";
-static char __pyx_k__dims_tpl[] = "dims_tpl";
-static char __pyx_k__max_dims[] = "max_dims";
-static char __pyx_k__registry[] = "registry";
-static char __pyx_k__SELECT_OR[] = "SELECT_OR";
-static char __pyx_k__SEL_ERROR[] = "SEL_ERROR";
-static char __pyx_k__UNLIMITED[] = "UNLIMITED";
-static char __pyx_k____enter__[] = "__enter__";
-static char __pyx_k__SELECT_AND[] = "SELECT_AND";
-static char __pyx_k__SELECT_SET[] = "SELECT_SET";
-static char __pyx_k__SELECT_XOR[] = "SELECT_XOR";
-static char __pyx_k__SEL_POINTS[] = "SEL_POINTS";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__class_code[] = "class_code";
-static char __pyx_k__SELECT_NOOP[] = "SELECT_NOOP";
-static char __pyx_k__SELECT_NOTA[] = "SELECT_NOTA";
-static char __pyx_k__SELECT_NOTB[] = "SELECT_NOTB";
-static char __pyx_k__max_dims_tpl[] = "max_dims_tpl";
-static char __pyx_k__SELECT_APPEND[] = "SELECT_APPEND";
-static char __pyx_k__create_simple[] = "create_simple";
-static char __pyx_k__SELECT_INVALID[] = "SELECT_INVALID";
-static char __pyx_k__SELECT_PREPEND[] = "SELECT_PREPEND";
-static char __pyx_k__SEL_HYPERSLABS[] = "SEL_HYPERSLABS";
-static PyObject *__pyx_n_s_1;
-static PyObject *__pyx_kp_s_13;
-static PyObject *__pyx_n_s_14;
-static PyObject *__pyx_kp_u_19;
-static PyObject *__pyx_kp_u_20;
-static PyObject *__pyx_kp_s_4;
-static PyObject *__pyx_kp_s_6;
-static PyObject *__pyx_n_s_7;
-static PyObject *__pyx_n_s__ALL;
-static PyObject *__pyx_n_s__NO_CLASS;
-static PyObject *__pyx_n_s__SCALAR;
-static PyObject *__pyx_n_s__SELECT_AND;
-static PyObject *__pyx_n_s__SELECT_APPEND;
-static PyObject *__pyx_n_s__SELECT_INVALID;
-static PyObject *__pyx_n_s__SELECT_NOOP;
-static PyObject *__pyx_n_s__SELECT_NOTA;
-static PyObject *__pyx_n_s__SELECT_NOTB;
-static PyObject *__pyx_n_s__SELECT_OR;
-static PyObject *__pyx_n_s__SELECT_PREPEND;
-static PyObject *__pyx_n_s__SELECT_SET;
-static PyObject *__pyx_n_s__SELECT_XOR;
-static PyObject *__pyx_n_s__SEL_ALL;
-static PyObject *__pyx_n_s__SEL_ERROR;
-static PyObject *__pyx_n_s__SEL_HYPERSLABS;
-static PyObject *__pyx_n_s__SEL_NONE;
-static PyObject *__pyx_n_s__SEL_POINTS;
-static PyObject *__pyx_n_s__SIMPLE;
-static PyObject *__pyx_n_s__UNLIMITED;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s___NULL;
-static PyObject *__pyx_n_s____enter__;
-static PyObject *__pyx_n_s____exit__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___objects;
-static PyObject *__pyx_n_s__block;
-static PyObject *__pyx_n_s__buf;
-static PyObject *__pyx_n_s__buf_;
-static PyObject *__pyx_n_s__class_code;
-static PyObject *__pyx_n_s__coords;
-static PyObject *__pyx_n_s__count;
-static PyObject *__pyx_n_s__create;
-static PyObject *__pyx_n_s__create_simple;
-static PyObject *__pyx_n_s__decode;
-static PyObject *__pyx_n_s__dims;
-static PyObject *__pyx_n_s__dims_tpl;
-static PyObject *__pyx_n_s__encode;
-static PyObject *__pyx_n_s__h5py;
-static PyObject *__pyx_n_s__lock;
-static PyObject *__pyx_n_s__max_dims;
-static PyObject *__pyx_n_s__max_dims_tpl;
-static PyObject *__pyx_n_s__maxdims;
-static PyObject *__pyx_n_s__offset;
-static PyObject *__pyx_n_s__op;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__rank;
-static PyObject *__pyx_n_s__registry;
-static PyObject *__pyx_n_s__start;
-static PyObject *__pyx_n_s__stride;
-static PyObject *__pyx_n_s__valid;
-static PyObject *__pyx_int_neg_1;
-static int __pyx_k_5;
-static int __pyx_k_8;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_3;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_tuple_15;
-static PyObject *__pyx_k_tuple_17;
-static PyObject *__pyx_k_codeobj_12;
-static PyObject *__pyx_k_codeobj_16;
-static PyObject *__pyx_k_codeobj_18;
-
-/* "h5py/h5s.pyx":22
- * 
- * 
- * cdef object lockid(hid_t id_):             # <<<<<<<<<<<<<<
- *     cdef SpaceID space
- *     space = SpaceID.open(id_)
- */
-
-static PyObject *__pyx_f_4h5py_3h5s_lockid(hid_t __pyx_v_id_) {
-  struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_space = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("lockid", 0);
-
-  /* "h5py/h5s.pyx":24
- * cdef object lockid(hid_t id_):
- *     cdef SpaceID space
- *     space = SpaceID.open(id_)             # <<<<<<<<<<<<<<
- *     space.locked = 1
- *     return space
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5s_SpaceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_space = ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5s.pyx":25
- *     cdef SpaceID space
- *     space = SpaceID.open(id_)
- *     space.locked = 1             # <<<<<<<<<<<<<<
- *     return space
- * 
- */
-  __pyx_v_space->__pyx_base.locked = 1;
-
-  /* "h5py/h5s.pyx":26
- *     space = SpaceID.open(id_)
- *     space.locked = 1
- *     return space             # <<<<<<<<<<<<<<
- * 
- * # === Public constants and data structures ====================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_space));
-  __pyx_r = ((PyObject *)__pyx_v_space);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5s.lockid", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_space);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_1create(PyObject *__pyx_self, PyObject *__pyx_arg_class_code); /*proto*/
-static char __pyx_doc_4h5py_3h5s_create[] = "(INT class_code) => SpaceID\n\n    Create a new HDF5 dataspace object, of the given class.\n    Legal values are SCALAR and SIMPLE.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5s_1create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5s_1create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_create)};
-static PyObject *__pyx_pw_4h5py_3h5s_1create(PyObject *__pyx_self, PyObject *__pyx_arg_class_code) {
-  int __pyx_v_class_code;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create (wrapper)", 0);
-  assert(__pyx_arg_class_code); {
-    __pyx_v_class_code = __Pyx_PyInt_AsInt(__pyx_arg_class_code); if (unlikely((__pyx_v_class_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5s.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5s_create(__pyx_self, ((int)__pyx_v_class_code));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":62
- * 
- * 
- * def create(int class_code):             # <<<<<<<<<<<<<<
- *     """(INT class_code) => SpaceID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_class_code) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create", 0);
-
-  /* "h5py/h5s.pyx":68
- *     Legal values are SCALAR and SIMPLE.
- *     """
- *     return SpaceID.open(H5Screate(<H5S_class_t>class_code))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Screate(((H5S_class_t)__pyx_v_class_code)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5s.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_3create_simple(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5s_2create_simple[] = "(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID\n\n    Create a simple (slab) dataspace from a tuple of dimensions.\n    Every element of dims_tpl must be a positive integer.\n\n    You can optionally specify the maximum dataspace size. The\n    special value UNLIMITED, as an element of max_dims, indicates\n    an unlimited dimension.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5s_3create_simple = {__Pyx_NAMESTR("create_simple"), (PyCFunction)__pyx_pw_4h5py_3h5s_3create_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_2create_simple)};
-static PyObject *__pyx_pw_4h5py_3h5s_3create_simple(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_dims_tpl = 0;
-  PyObject *__pyx_v_max_dims_tpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create_simple (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dims_tpl,&__pyx_n_s__max_dims_tpl,0};
-    PyObject* values[2] = {0,0};
-
-    /* "h5py/h5s.pyx":71
- * 
- * 
- * def create_simple(object dims_tpl, object max_dims_tpl=None):             # <<<<<<<<<<<<<<
- *     """(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID
- * 
- */
-    values[1] = ((PyObject *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__max_dims_tpl);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_dims_tpl = values[0];
-    __pyx_v_max_dims_tpl = values[1];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create_simple", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5s.create_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5s_2create_simple(__pyx_self, __pyx_v_dims_tpl, __pyx_v_max_dims_tpl);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5s_2create_simple(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dims_tpl, PyObject *__pyx_v_max_dims_tpl) {
-  int __pyx_v_rank;
-  hsize_t *__pyx_v_dims;
-  hsize_t *__pyx_v_max_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  Py_ssize_t __pyx_t_2;
-  void *__pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  hid_t __pyx_t_6;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create_simple", 0);
-
-  /* "h5py/h5s.pyx":82
- *     """
- *     cdef int rank
- *     cdef hsize_t* dims = NULL             # <<<<<<<<<<<<<<
- *     cdef hsize_t* max_dims = NULL
- * 
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5s.pyx":83
- *     cdef int rank
- *     cdef hsize_t* dims = NULL
- *     cdef hsize_t* max_dims = NULL             # <<<<<<<<<<<<<<
- * 
- *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
- */
-  __pyx_v_max_dims = NULL;
-
-  /* "h5py/h5s.pyx":85
- *     cdef hsize_t* max_dims = NULL
- * 
- *     require_tuple(dims_tpl, 0, -1, "dims_tpl")             # <<<<<<<<<<<<<<
- *     rank = len(dims_tpl)
- *     require_tuple(max_dims_tpl, 1, rank, "max_dims_tpl")
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_dims_tpl, 0, -1, __pyx_k__dims_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":86
- * 
- *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
- *     rank = len(dims_tpl)             # <<<<<<<<<<<<<<
- *     require_tuple(max_dims_tpl, 1, rank, "max_dims_tpl")
- * 
- */
-  __pyx_t_2 = PyObject_Length(__pyx_v_dims_tpl); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_2;
-
-  /* "h5py/h5s.pyx":87
- *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
- *     rank = len(dims_tpl)
- *     require_tuple(max_dims_tpl, 1, rank, "max_dims_tpl")             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_max_dims_tpl, 1, __pyx_v_rank, __pyx_k__max_dims_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":89
- *     require_tuple(max_dims_tpl, 1, rank, "max_dims_tpl")
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         convert_tuple(dims_tpl, dims, rank)
- */
-  /*try:*/ {
-
-    /* "h5py/h5s.pyx":90
- * 
- *     try:
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *         convert_tuple(dims_tpl, dims, rank)
- * 
- */
-    __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_dims = ((hsize_t *)__pyx_t_3);
-
-    /* "h5py/h5s.pyx":91
- *     try:
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         convert_tuple(dims_tpl, dims, rank)             # <<<<<<<<<<<<<<
- * 
- *         if max_dims_tpl is not None:
- */
-    __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5s.pyx":93
- *         convert_tuple(dims_tpl, dims, rank)
- * 
- *         if max_dims_tpl is not None:             # <<<<<<<<<<<<<<
- *             max_dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(max_dims_tpl, max_dims, rank)
- */
-    __pyx_t_4 = (__pyx_v_max_dims_tpl != Py_None);
-    if (__pyx_t_4) {
-
-      /* "h5py/h5s.pyx":94
- * 
- *         if max_dims_tpl is not None:
- *             max_dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *             convert_tuple(max_dims_tpl, max_dims, rank)
- * 
- */
-      __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_max_dims = ((hsize_t *)__pyx_t_3);
-
-      /* "h5py/h5s.pyx":95
- *         if max_dims_tpl is not None:
- *             max_dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(max_dims_tpl, max_dims, rank)             # <<<<<<<<<<<<<<
- * 
- *         return SpaceID.open(H5Screate_simple(rank, dims, max_dims))
- */
-      __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_max_dims_tpl, __pyx_v_max_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5s.pyx":97
- *             convert_tuple(max_dims_tpl, max_dims, rank)
- * 
- *         return SpaceID.open(H5Screate_simple(rank, dims, max_dims))             # <<<<<<<<<<<<<<
- * 
- *     finally:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_5 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_t_6 = __pyx_f_4h5py_4defs_H5Screate_simple(__pyx_v_rank, __pyx_v_dims, __pyx_v_max_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_t_7 = __Pyx_PyInt_to_py_hid_t(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_7);
-    __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_8);
-    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7);
-    __Pyx_GIVEREF(__pyx_t_7);
-    __pyx_t_7 = 0;
-    __pyx_t_7 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_7);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-    __pyx_r = __pyx_t_7;
-    __pyx_t_7 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5s.pyx":100
- * 
- *     finally:
- *         efree(dims)             # <<<<<<<<<<<<<<
- *         efree(max_dims)
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-
-    /* "h5py/h5s.pyx":101
- *     finally:
- *         efree(dims)
- *         efree(max_dims)             # <<<<<<<<<<<<<<
- * 
- * def decode(buf):
- */
-    __pyx_f_4h5py_5utils_efree(__pyx_v_max_dims);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_AddTraceback("h5py.h5s.create_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_5decode(PyObject *__pyx_self, PyObject *__pyx_v_buf); /*proto*/
-static char __pyx_doc_4h5py_3h5s_4decode[] = "(STRING buf) => SpaceID\n\n    Unserialize a dataspace.  Bear in mind you can also use the native\n    Python pickling machinery to do this.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5s_5decode = {__Pyx_NAMESTR("decode"), (PyCFunction)__pyx_pw_4h5py_3h5s_5decode, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_4decode)};
-static PyObject *__pyx_pw_4h5py_3h5s_5decode(PyObject *__pyx_self, PyObject *__pyx_v_buf) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("decode (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_4decode(__pyx_self, ((PyObject *)__pyx_v_buf));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":103
- *         efree(max_dims)
- * 
- * def decode(buf):             # <<<<<<<<<<<<<<
- *     """(STRING buf) => SpaceID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_4decode(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_buf) {
-  char *__pyx_v_buf_;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  char *__pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  hid_t __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("decode", 0);
-
-  /* "h5py/h5s.pyx":109
- *     Python pickling machinery to do this.
- *     """
- *     cdef char* buf_ = buf             # <<<<<<<<<<<<<<
- *     return SpaceID.open(H5Sdecode(buf_))
- * 
- */
-  __pyx_t_1 = PyBytes_AsString(__pyx_v_buf); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf_ = __pyx_t_1;
-
-  /* "h5py/h5s.pyx":110
- *     """
- *     cdef char* buf_ = buf
- *     return SpaceID.open(H5Sdecode(buf_))             # <<<<<<<<<<<<<<
- * 
- * # === H5S class API ===========================================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Sdecode(__pyx_v_buf_); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_4 = __Pyx_PyInt_to_py_hid_t(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  __pyx_r = __pyx_t_4;
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5s.decode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_5shape_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_5shape_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":133
- *         """ Numpy-style shape tuple representing dimensions.  () == scalar.
- *         """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.get_simple_extent_dims()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_5shape___get__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5s.pyx":134
- *         """
- *         def __get__(self):
- *             return self.get_simple_extent_dims()             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.shape.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID__close[] = "()\n\n        Terminate access through this identifier.  You shouldn't have to\n        call this manually; dataspace objects are automatically destroyed\n        when their Python wrappers are freed.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_1_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_close (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID__close(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":137
- * 
- * 
- *     def _close(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID__close(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  herr_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_close", 0);
-
-  /* "h5py/h5s.pyx":144
- *         when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Sclose(self.id)
- *             if not self.valid:
- */
-  /*with:*/ {
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__lock); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____exit__); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____enter__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    /*try:*/ {
-      {
-        __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7);
-        __Pyx_XGOTREF(__pyx_t_5);
-        __Pyx_XGOTREF(__pyx_t_6);
-        __Pyx_XGOTREF(__pyx_t_7);
-        /*try:*/ {
-
-          /* "h5py/h5s.pyx":145
- *         """
- *         with _objects.registry.lock:
- *             H5Sclose(self.id)             # <<<<<<<<<<<<<<
- *             if not self.valid:
- *                 del _objects.registry[self.id]
- */
-          __pyx_t_8 = __pyx_f_4h5py_4defs_H5Sclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-
-          /* "h5py/h5s.pyx":146
- *         with _objects.registry.lock:
- *             H5Sclose(self.id)
- *             if not self.valid:             # <<<<<<<<<<<<<<
- *                 del _objects.registry[self.id]
- * 
- */
-          __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__valid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_GOTREF(__pyx_t_1);
-          __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __pyx_t_10 = (!__pyx_t_9);
-          if (__pyx_t_10) {
-
-            /* "h5py/h5s.pyx":147
- *             H5Sclose(self.id)
- *             if not self.valid:
- *                 del _objects.registry[self.id]             # <<<<<<<<<<<<<<
- * 
- * 
- */
-            __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s___objects); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_1);
-            __pyx_t_4 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__registry); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_GOTREF(__pyx_t_4);
-            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-            if (__Pyx_DelItemInt(__pyx_t_4, __pyx_v_self->__pyx_base.id, sizeof(hid_t), __Pyx_PyInt_to_py_hid_t) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L7_error;}
-            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-        }
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        goto __pyx_L14_try_end;
-        __pyx_L7_error:;
-        __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-        /* "h5py/h5s.pyx":144
- *         when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Sclose(self.id)
- *             if not self.valid:
- */
-        /*except:*/ {
-          __Pyx_AddTraceback("h5py.h5s.SpaceID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_1);
-          __Pyx_GOTREF(__pyx_t_2);
-          __pyx_t_11 = PyTuple_New(3); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_INCREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_4);
-          __Pyx_GIVEREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_1);
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_1);
-          __Pyx_GIVEREF(__pyx_t_1);
-          __Pyx_INCREF(__pyx_t_2);
-          PyTuple_SET_ITEM(__pyx_t_11, 2, __pyx_t_2);
-          __Pyx_GIVEREF(__pyx_t_2);
-          __pyx_t_12 = PyObject_Call(__pyx_t_3, __pyx_t_11, NULL);
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __Pyx_GOTREF(__pyx_t_12);
-          __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_12);
-          __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-          if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-          __pyx_t_9 = (!__pyx_t_10);
-          if (__pyx_t_9) {
-            __Pyx_GIVEREF(__pyx_t_4);
-            __Pyx_GIVEREF(__pyx_t_1);
-            __Pyx_GIVEREF(__pyx_t_2);
-            __Pyx_ErrRestore(__pyx_t_4, __pyx_t_1, __pyx_t_2);
-            __pyx_t_4 = 0; __pyx_t_1 = 0; __pyx_t_2 = 0; 
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L9_except_error;}
-            goto __pyx_L18;
-          }
-          __pyx_L18:;
-          __Pyx_DECREF(((PyObject *)__pyx_t_11)); __pyx_t_11 = 0;
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-          goto __pyx_L8_exception_handled;
-        }
-        __pyx_L9_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        goto __pyx_L1_error;
-        __pyx_L8_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_5);
-        __Pyx_XGIVEREF(__pyx_t_6);
-        __Pyx_XGIVEREF(__pyx_t_7);
-        __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_6, __pyx_t_7);
-        __pyx_L14_try_end:;
-      }
-    }
-    /*finally:*/ {
-      if (__pyx_t_3) {
-        __pyx_t_7 = PyObject_Call(__pyx_t_3, __pyx_k_tuple_2, NULL);
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      }
-    }
-    goto __pyx_L19;
-    __pyx_L3_error:;
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L1_error;
-    __pyx_L19:;
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_3copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_2copy[] = "() => SpaceID\n\n        Create a new copy of this dataspace.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_3copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_2copy(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":150
- * 
- * 
- *     def copy(self):             # <<<<<<<<<<<<<<
- *         """() => SpaceID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_2copy(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("copy", 0);
-
-  /* "h5py/h5s.pyx":155
- *         Create a new copy of this dataspace.
- *         """
- *         return SpaceID.open(H5Scopy(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5s_SpaceID)), __pyx_n_s__open); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Scopy(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 155; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_5encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_4encode[] = "() => STRING\n\n        Serialize a dataspace, including its selection.  Bear in mind you\n        can also use the native Python pickling machinery to do this.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_5encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("encode (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_4encode(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":158
- * 
- * 
- *     def encode(self):             # <<<<<<<<<<<<<<
- *         """() => STRING
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_4encode(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  void *__pyx_v_buf;
-  size_t __pyx_v_nalloc;
-  PyObject *__pyx_v_pystr = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("encode", 0);
-
-  /* "h5py/h5s.pyx":164
- *         can also use the native Python pickling machinery to do this.
- *         """
- *         cdef void* buf = NULL             # <<<<<<<<<<<<<<
- *         cdef size_t nalloc = 0
- * 
- */
-  __pyx_v_buf = NULL;
-
-  /* "h5py/h5s.pyx":165
- *         """
- *         cdef void* buf = NULL
- *         cdef size_t nalloc = 0             # <<<<<<<<<<<<<<
- * 
- *         H5Sencode(self.id, NULL, &nalloc)
- */
-  __pyx_v_nalloc = 0;
-
-  /* "h5py/h5s.pyx":167
- *         cdef size_t nalloc = 0
- * 
- *         H5Sencode(self.id, NULL, &nalloc)             # <<<<<<<<<<<<<<
- *         buf = emalloc(nalloc)
- *         try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sencode(__pyx_v_self->__pyx_base.id, NULL, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":168
- * 
- *         H5Sencode(self.id, NULL, &nalloc)
- *         buf = emalloc(nalloc)             # <<<<<<<<<<<<<<
- *         try:
- *             H5Sencode(self.id, buf, &nalloc)
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(__pyx_v_nalloc); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = __pyx_t_2;
-
-  /* "h5py/h5s.pyx":169
- *         H5Sencode(self.id, NULL, &nalloc)
- *         buf = emalloc(nalloc)
- *         try:             # <<<<<<<<<<<<<<
- *             H5Sencode(self.id, buf, &nalloc)
- *             pystr = PyBytes_FromStringAndSize(<char*>buf, nalloc)
- */
-  /*try:*/ {
-
-    /* "h5py/h5s.pyx":170
- *         buf = emalloc(nalloc)
- *         try:
- *             H5Sencode(self.id, buf, &nalloc)             # <<<<<<<<<<<<<<
- *             pystr = PyBytes_FromStringAndSize(<char*>buf, nalloc)
- *         finally:
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sencode(__pyx_v_self->__pyx_base.id, __pyx_v_buf, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5s.pyx":171
- *         try:
- *             H5Sencode(self.id, buf, &nalloc)
- *             pystr = PyBytes_FromStringAndSize(<char*>buf, nalloc)             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(buf)
- */
-    __pyx_t_3 = PyBytes_FromStringAndSize(((char *)__pyx_v_buf), __pyx_v_nalloc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_v_pystr = __pyx_t_3;
-    __pyx_t_3 = 0;
-  }
-
-  /* "h5py/h5s.pyx":173
- *             pystr = PyBytes_FromStringAndSize(<char*>buf, nalloc)
- *         finally:
- *             efree(buf)             # <<<<<<<<<<<<<<
- * 
- *         return pystr
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/h5s.pyx":175
- *             efree(buf)
- * 
- *         return pystr             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_pystr);
-  __pyx_r = __pyx_v_pystr;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.encode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_pystr);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_7__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_7__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_6__reduce__(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":178
- * 
- * 
- *     def __reduce__(self):             # <<<<<<<<<<<<<<
- *         return (type(self), (-1,), self.encode())
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_6__reduce__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__reduce__", 0);
-
-  /* "h5py/h5s.pyx":179
- * 
- *     def __reduce__(self):
- *         return (type(self), (-1,), self.encode())             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
-  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
-  __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
-  __Pyx_INCREF(((PyObject *)__pyx_k_tuple_3));
-  PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_k_tuple_3));
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_9__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_v_state); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_9__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_v_state) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__setstate__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_8__setstate__(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), ((PyObject *)__pyx_v_state));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":182
- * 
- * 
- *     def __setstate__(self, state):             # <<<<<<<<<<<<<<
- *         cdef char* buf = state
- *         self.id = H5Sdecode(buf)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_8__setstate__(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_state) {
-  char *__pyx_v_buf;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  char *__pyx_t_1;
-  hid_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__setstate__", 0);
-
-  /* "h5py/h5s.pyx":183
- * 
- *     def __setstate__(self, state):
- *         cdef char* buf = state             # <<<<<<<<<<<<<<
- *         self.id = H5Sdecode(buf)
- * 
- */
-  __pyx_t_1 = PyBytes_AsString(__pyx_v_state); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = __pyx_t_1;
-
-  /* "h5py/h5s.pyx":184
- *     def __setstate__(self, state):
- *         cdef char* buf = state
- *         self.id = H5Sdecode(buf)             # <<<<<<<<<<<<<<
- * 
- *     # === Simple dataspaces ===================================================
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sdecode(__pyx_v_buf); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_self->__pyx_base.id = __pyx_t_2;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.__setstate__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_11is_simple(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_10is_simple[] = "() => BOOL is_simple\n\n        Determine if an existing dataspace is \"simple\" (including scalar\n        dataspaces). Currently all HDF5 dataspaces are simple.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_11is_simple(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("is_simple (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_10is_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":189
- * 
- * 
- *     def is_simple(self):             # <<<<<<<<<<<<<<
- *         """() => BOOL is_simple
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_10is_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("is_simple", 0);
-
-  /* "h5py/h5s.pyx":195
- *         dataspaces). Currently all HDF5 dataspaces are simple.
- *         """
- *         return <bint>(H5Sis_simple(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sis_simple(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.is_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_13offset_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_12offset_simple[] = "(TUPLE offset=None)\n\n        Set the offset of a dataspace.  The length of the given tuple must\n        match the rank of the dataspace. If None is provided (default),\n        the offsets on all axes will be set to 0.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_13offset_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_offset = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("offset_simple (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__offset,0};
-    PyObject* values[1] = {0};
-
-    /* "h5py/h5s.pyx":198
- * 
- * 
- *     def offset_simple(self, object offset=None):             # <<<<<<<<<<<<<<
- *         """(TUPLE offset=None)
- * 
- */
-    values[0] = ((PyObject *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset);
-          if (value) { values[0] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "offset_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_offset = values[0];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("offset_simple", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.offset_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_12offset_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_offset);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_12offset_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_offset) {
-  int __pyx_v_rank;
-  int __pyx_v_i;
-  hssize_t *__pyx_v_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_t_5;
-  void *__pyx_t_6;
-  herr_t __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("offset_simple", 0);
-
-  /* "h5py/h5s.pyx":207
- *         cdef int rank
- *         cdef int i
- *         cdef hssize_t *dims = NULL             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5s.pyx":209
- *         cdef hssize_t *dims = NULL
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             if not H5Sis_simple(self.id):
- *                 raise ValueError("%d is not a simple dataspace" % self.id)
- */
-  /*try:*/ {
-
-    /* "h5py/h5s.pyx":210
- * 
- *         try:
- *             if not H5Sis_simple(self.id):             # <<<<<<<<<<<<<<
- *                 raise ValueError("%d is not a simple dataspace" % self.id)
- * 
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sis_simple(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_t_2 = (!__pyx_t_1);
-    if (__pyx_t_2) {
-
-      /* "h5py/h5s.pyx":211
- *         try:
- *             if not H5Sis_simple(self.id):
- *                 raise ValueError("%d is not a simple dataspace" % self.id)             # <<<<<<<<<<<<<<
- * 
- *             rank = H5Sget_simple_extent_ndims(self.id)
- */
-      __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_self->__pyx_base.id); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_4), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_3);
-      PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-      __pyx_t_4 = 0;
-      __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5s.pyx":213
- *                 raise ValueError("%d is not a simple dataspace" % self.id)
- * 
- *             rank = H5Sget_simple_extent_ndims(self.id)             # <<<<<<<<<<<<<<
- * 
- *             require_tuple(offset, 1, rank, "offset")
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_rank = __pyx_t_5;
-
-    /* "h5py/h5s.pyx":215
- *             rank = H5Sget_simple_extent_ndims(self.id)
- * 
- *             require_tuple(offset, 1, rank, "offset")             # <<<<<<<<<<<<<<
- *             dims = <hssize_t*>emalloc(sizeof(hssize_t)*rank)
- *             if(offset is not None):
- */
-    __pyx_t_5 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_offset, 1, __pyx_v_rank, __pyx_k__offset); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5s.pyx":216
- * 
- *             require_tuple(offset, 1, rank, "offset")
- *             dims = <hssize_t*>emalloc(sizeof(hssize_t)*rank)             # <<<<<<<<<<<<<<
- *             if(offset is not None):
- *                 convert_tuple(offset, <hsize_t*>dims, rank)
- */
-    __pyx_t_6 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hssize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_6 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 216; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_dims = ((hssize_t *)__pyx_t_6);
-
-    /* "h5py/h5s.pyx":217
- *             require_tuple(offset, 1, rank, "offset")
- *             dims = <hssize_t*>emalloc(sizeof(hssize_t)*rank)
- *             if(offset is not None):             # <<<<<<<<<<<<<<
- *                 convert_tuple(offset, <hsize_t*>dims, rank)
- *             else:
- */
-    __pyx_t_2 = (__pyx_v_offset != Py_None);
-    if (__pyx_t_2) {
-
-      /* "h5py/h5s.pyx":218
- *             dims = <hssize_t*>emalloc(sizeof(hssize_t)*rank)
- *             if(offset is not None):
- *                 convert_tuple(offset, <hsize_t*>dims, rank)             # <<<<<<<<<<<<<<
- *             else:
- *                 # The HDF5 docs say passing in NULL resets the offset to 0.
- */
-      __pyx_t_5 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_offset, ((hsize_t *)__pyx_v_dims), __pyx_v_rank); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L7;
-    }
-    /*else*/ {
-
-      /* "h5py/h5s.pyx":223
- *                 # Instead it raises an exception.  Imagine my surprise. We'll
- *                 # do this manually.
- *                 for i from 0<=i<rank:             # <<<<<<<<<<<<<<
- *                     dims[i] = 0
- * 
- */
-      __pyx_t_5 = __pyx_v_rank;
-      for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) {
-
-        /* "h5py/h5s.pyx":224
- *                 # do this manually.
- *                 for i from 0<=i<rank:
- *                     dims[i] = 0             # <<<<<<<<<<<<<<
- * 
- *             H5Soffset_simple(self.id, dims)
- */
-        (__pyx_v_dims[__pyx_v_i]) = 0;
-      }
-    }
-    __pyx_L7:;
-
-    /* "h5py/h5s.pyx":226
- *                     dims[i] = 0
- * 
- *             H5Soffset_simple(self.id, dims)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __pyx_t_7 = __pyx_f_4h5py_4defs_H5Soffset_simple(__pyx_v_self->__pyx_base.id, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5s.pyx":229
- * 
- *         finally:
- *             efree(dims)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.offset_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_15get_simple_extent_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims[] = "() => INT rank\n\n        Determine the rank of a \"simple\" (slab) dataspace.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_15get_simple_extent_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_simple_extent_ndims (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":232
- * 
- * 
- *     def get_simple_extent_ndims(self):             # <<<<<<<<<<<<<<
- *         """() => INT rank
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_simple_extent_ndims", 0);
-
-  /* "h5py/h5s.pyx":237
- *         Determine the rank of a "simple" (slab) dataspace.
- *         """
- *         return H5Sget_simple_extent_ndims(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 237; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_17get_simple_extent_dims(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_16get_simple_extent_dims[] = "(BOOL maxdims=False) => TUPLE shape\n\n        Determine the shape of a \"simple\" (slab) dataspace.  If \"maxdims\"\n        is True, retrieve the maximum dataspace size instead.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_17get_simple_extent_dims(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_v_maxdims;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_simple_extent_dims (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__maxdims,0};
-    PyObject* values[1] = {0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__maxdims);
-          if (value) { values[0] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_simple_extent_dims") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    if (values[0]) {
-      __pyx_v_maxdims = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_maxdims == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_maxdims = ((int)0);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("get_simple_extent_dims", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 240; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_16get_simple_extent_dims(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_maxdims);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":240
- * 
- * 
- *     def get_simple_extent_dims(self, int maxdims=0):             # <<<<<<<<<<<<<<
- *         """(BOOL maxdims=False) => TUPLE shape
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_16get_simple_extent_dims(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, int __pyx_v_maxdims) {
-  int __pyx_v_rank;
-  hsize_t *__pyx_v_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_simple_extent_dims", 0);
-
-  /* "h5py/h5s.pyx":247
- *         """
- *         cdef int rank
- *         cdef hsize_t* dims = NULL             # <<<<<<<<<<<<<<
- * 
- *         rank = H5Sget_simple_extent_dims(self.id, NULL, NULL)
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5s.pyx":249
- *         cdef hsize_t* dims = NULL
- * 
- *         rank = H5Sget_simple_extent_dims(self.id, NULL, NULL)             # <<<<<<<<<<<<<<
- * 
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(__pyx_v_self->__pyx_base.id, NULL, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_1;
-
-  /* "h5py/h5s.pyx":251
- *         rank = H5Sget_simple_extent_dims(self.id, NULL, NULL)
- * 
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *         try:
- *             if maxdims:
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_dims = ((hsize_t *)__pyx_t_2);
-
-  /* "h5py/h5s.pyx":252
- * 
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         try:             # <<<<<<<<<<<<<<
- *             if maxdims:
- *                 H5Sget_simple_extent_dims(self.id, NULL, dims)
- */
-  /*try:*/ {
-
-    /* "h5py/h5s.pyx":253
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         try:
- *             if maxdims:             # <<<<<<<<<<<<<<
- *                 H5Sget_simple_extent_dims(self.id, NULL, dims)
- *             else:
- */
-    if (__pyx_v_maxdims) {
-
-      /* "h5py/h5s.pyx":254
- *         try:
- *             if maxdims:
- *                 H5Sget_simple_extent_dims(self.id, NULL, dims)             # <<<<<<<<<<<<<<
- *             else:
- *                 H5Sget_simple_extent_dims(self.id, dims, NULL)
- */
-      __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(__pyx_v_self->__pyx_base.id, NULL, __pyx_v_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 254; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/h5s.pyx":256
- *                 H5Sget_simple_extent_dims(self.id, NULL, dims)
- *             else:
- *                 H5Sget_simple_extent_dims(self.id, dims, NULL)             # <<<<<<<<<<<<<<
- * 
- *             return convert_dims(dims, rank)
- */
-      __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(__pyx_v_self->__pyx_base.id, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5s.pyx":258
- *                 H5Sget_simple_extent_dims(self.id, dims, NULL)
- * 
- *             return convert_dims(dims, rank)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 258; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_r = __pyx_t_3;
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5s.pyx":261
- * 
- *         finally:
- *             efree(dims)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_19get_simple_extent_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints[] = "() => LONG npoints\n\n        Determine the total number of elements in a dataspace.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_19get_simple_extent_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_simple_extent_npoints (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":264
- * 
- * 
- *     def get_simple_extent_npoints(self):             # <<<<<<<<<<<<<<
- *         """() => LONG npoints
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hssize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_simple_extent_npoints", 0);
-
-  /* "h5py/h5s.pyx":269
- *         Determine the total number of elements in a dataspace.
- *         """
- *         return H5Sget_simple_extent_npoints(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_21get_simple_extent_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_20get_simple_extent_type[] = "() => INT class_code\n\n        Class code is either SCALAR or SIMPLE.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_21get_simple_extent_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_simple_extent_type (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_20get_simple_extent_type(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":272
- * 
- * 
- *     def get_simple_extent_type(self):             # <<<<<<<<<<<<<<
- *         """() => INT class_code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_20get_simple_extent_type(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5S_class_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_simple_extent_type", 0);
-
-  /* "h5py/h5s.pyx":277
- *         Class code is either SCALAR or SIMPLE.
- *         """
- *         return <int>H5Sget_simple_extent_type(self.id)             # <<<<<<<<<<<<<<
- * 
- *     # === Extents =============================================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_type(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_simple_extent_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_23extent_copy(PyObject *__pyx_v_self, PyObject *__pyx_v_source); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_22extent_copy[] = "(SpaceID source)\n\n        Replace this dataspace's extent with another's, changing its\n        typecode if necessary.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_23extent_copy(PyObject *__pyx_v_self, PyObject *__pyx_v_source) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("extent_copy (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_source), __pyx_ptype_4h5py_3h5s_SpaceID, 0, "source", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_22extent_copy(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_source));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":282
- * 
- * 
- *     def extent_copy(self, SpaceID source not None):             # <<<<<<<<<<<<<<
- *         """(SpaceID source)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_22extent_copy(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_source) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("extent_copy", 0);
-
-  /* "h5py/h5s.pyx":288
- *         typecode if necessary.
- *         """
- *         H5Sextent_copy(self.id, source.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sextent_copy(__pyx_v_self->__pyx_base.id, __pyx_v_source->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.extent_copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_25set_extent_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_24set_extent_simple[] = "(TUPLE dims_tpl, TUPLE max_dims_tpl=None)\n\n        Reset the dataspace extent via a tuple of dimensions.\n        Every element of dims_tpl must be a positive integer.\n\n        You can optionally specify the maximum dataspace size. The\n        special value UNLIMITED, as an element of max_dims, indicates\n        an unlimited dimension.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_25set_extent_simple(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_dims_tpl = 0;
-  PyObject *__pyx_v_max_dims_tpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_extent_simple (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dims_tpl,&__pyx_n_s__max_dims_tpl,0};
-    PyObject* values[2] = {0,0};
-
-    /* "h5py/h5s.pyx":291
- * 
- * 
- *     def set_extent_simple(self, object dims_tpl, object max_dims_tpl=None):             # <<<<<<<<<<<<<<
- *         """(TUPLE dims_tpl, TUPLE max_dims_tpl=None)
- * 
- */
-    values[1] = ((PyObject *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__max_dims_tpl);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_extent_simple") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_dims_tpl = values[0];
-    __pyx_v_max_dims_tpl = values[1];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_extent_simple", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_24set_extent_simple(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_dims_tpl, __pyx_v_max_dims_tpl);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_24set_extent_simple(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_dims_tpl, PyObject *__pyx_v_max_dims_tpl) {
-  int __pyx_v_rank;
-  hsize_t *__pyx_v_dims;
-  hsize_t *__pyx_v_max_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  Py_ssize_t __pyx_t_2;
-  void *__pyx_t_3;
-  int __pyx_t_4;
-  herr_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_extent_simple", 0);
-
-  /* "h5py/h5s.pyx":302
- *         """
- *         cdef int rank
- *         cdef hsize_t* dims = NULL             # <<<<<<<<<<<<<<
- *         cdef hsize_t* max_dims = NULL
- * 
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5s.pyx":303
- *         cdef int rank
- *         cdef hsize_t* dims = NULL
- *         cdef hsize_t* max_dims = NULL             # <<<<<<<<<<<<<<
- * 
- *         require_tuple(dims_tpl, 0, -1, "dims_tpl")
- */
-  __pyx_v_max_dims = NULL;
-
-  /* "h5py/h5s.pyx":305
- *         cdef hsize_t* max_dims = NULL
- * 
- *         require_tuple(dims_tpl, 0, -1, "dims_tpl")             # <<<<<<<<<<<<<<
- *         rank = len(dims_tpl)
- *         require_tuple(max_dims_tpl, 1, rank, "max_dims_tpl")
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_dims_tpl, 0, -1, __pyx_k__dims_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":306
- * 
- *         require_tuple(dims_tpl, 0, -1, "dims_tpl")
- *         rank = len(dims_tpl)             # <<<<<<<<<<<<<<
- *         require_tuple(max_dims_tpl, 1, rank, "max_dims_tpl")
- * 
- */
-  __pyx_t_2 = PyObject_Length(__pyx_v_dims_tpl); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_2;
-
-  /* "h5py/h5s.pyx":307
- *         require_tuple(dims_tpl, 0, -1, "dims_tpl")
- *         rank = len(dims_tpl)
- *         require_tuple(max_dims_tpl, 1, rank, "max_dims_tpl")             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_max_dims_tpl, 1, __pyx_v_rank, __pyx_k__max_dims_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 307; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":309
- *         require_tuple(max_dims_tpl, 1, rank, "max_dims_tpl")
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(dims_tpl, dims, rank)
- */
-  /*try:*/ {
-
-    /* "h5py/h5s.pyx":310
- * 
- *         try:
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *             convert_tuple(dims_tpl, dims, rank)
- * 
- */
-    __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_dims = ((hsize_t *)__pyx_t_3);
-
-    /* "h5py/h5s.pyx":311
- *         try:
- *             dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(dims_tpl, dims, rank)             # <<<<<<<<<<<<<<
- * 
- *             if max_dims_tpl is not None:
- */
-    __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 311; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5s.pyx":313
- *             convert_tuple(dims_tpl, dims, rank)
- * 
- *             if max_dims_tpl is not None:             # <<<<<<<<<<<<<<
- *                 max_dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *                 convert_tuple(max_dims_tpl, max_dims, rank)
- */
-    __pyx_t_4 = (__pyx_v_max_dims_tpl != Py_None);
-    if (__pyx_t_4) {
-
-      /* "h5py/h5s.pyx":314
- * 
- *             if max_dims_tpl is not None:
- *                 max_dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *                 convert_tuple(max_dims_tpl, max_dims, rank)
- * 
- */
-      __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 314; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_max_dims = ((hsize_t *)__pyx_t_3);
-
-      /* "h5py/h5s.pyx":315
- *             if max_dims_tpl is not None:
- *                 max_dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *                 convert_tuple(max_dims_tpl, max_dims, rank)             # <<<<<<<<<<<<<<
- * 
- *             H5Sset_extent_simple(self.id, rank, dims, max_dims)
- */
-      __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_max_dims_tpl, __pyx_v_max_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 315; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5s.pyx":317
- *                 convert_tuple(max_dims_tpl, max_dims, rank)
- * 
- *             H5Sset_extent_simple(self.id, rank, dims, max_dims)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sset_extent_simple(__pyx_v_self->__pyx_base.id, __pyx_v_rank, __pyx_v_dims, __pyx_v_max_dims); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5s.pyx":320
- * 
- *         finally:
- *             efree(dims)             # <<<<<<<<<<<<<<
- *             efree(max_dims)
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-
-    /* "h5py/h5s.pyx":321
- *         finally:
- *             efree(dims)
- *             efree(max_dims)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_f_4h5py_5utils_efree(__pyx_v_max_dims);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_simple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_27set_extent_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_26set_extent_none[] = "()\n\n        Remove the dataspace extent; typecode changes to NO_CLASS.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_27set_extent_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_extent_none (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_26set_extent_none(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":324
- * 
- * 
- *     def set_extent_none(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_26set_extent_none(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_extent_none", 0);
-
-  /* "h5py/h5s.pyx":329
- *         Remove the dataspace extent; typecode changes to NO_CLASS.
- *         """
- *         H5Sset_extent_none(self.id)             # <<<<<<<<<<<<<<
- * 
- *     # === General selection operations ========================================
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sset_extent_none(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.set_extent_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_29get_select_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_28get_select_type[] = " () => INT select_code\n\n            Determine selection type.  Return values are:\n\n            - SEL_NONE\n            - SEL_ALL\n            - SEL_POINTS\n            - SEL_HYPERSLABS\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_29get_select_type(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_select_type (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_28get_select_type(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":334
- * 
- * 
- *     def get_select_type(self):             # <<<<<<<<<<<<<<
- *         """ () => INT select_code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_28get_select_type(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5S_sel_type __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_select_type", 0);
-
-  /* "h5py/h5s.pyx":344
- *             - SEL_HYPERSLABS
- *         """
- *         return <int>H5Sget_select_type(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_type(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 344; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_31get_select_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_30get_select_npoints[] = "() => LONG npoints\n\n        Determine the total number of points currently selected.\n        Works for all selection techniques.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_31get_select_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_select_npoints (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_30get_select_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":347
- * 
- * 
- *     def get_select_npoints(self):             # <<<<<<<<<<<<<<
- *         """() => LONG npoints
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_30get_select_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hssize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_select_npoints", 0);
-
-  /* "h5py/h5s.pyx":353
- *         Works for all selection techniques.
- *         """
- *         return H5Sget_select_npoints(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_33get_select_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_32get_select_bounds[] = "() => (TUPLE start, TUPLE end)\n\n        Determine the bounding box which exactly contains\n        the current selection.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_33get_select_bounds(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_select_bounds (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_32get_select_bounds(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":356
- * 
- * 
- *     def get_select_bounds(self):             # <<<<<<<<<<<<<<
- *         """() => (TUPLE start, TUPLE end)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_32get_select_bounds(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  int __pyx_v_rank;
-  hsize_t *__pyx_v_start;
-  hsize_t *__pyx_v_end;
-  PyObject *__pyx_v_start_tpl = NULL;
-  PyObject *__pyx_v_end_tpl = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  hssize_t __pyx_t_2;
-  int __pyx_t_3;
-  void *__pyx_t_4;
-  herr_t __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_select_bounds", 0);
-
-  /* "h5py/h5s.pyx":363
- *         """
- *         cdef int rank
- *         cdef hsize_t *start = NULL             # <<<<<<<<<<<<<<
- *         cdef hsize_t *end = NULL
- * 
- */
-  __pyx_v_start = NULL;
-
-  /* "h5py/h5s.pyx":364
- *         cdef int rank
- *         cdef hsize_t *start = NULL
- *         cdef hsize_t *end = NULL             # <<<<<<<<<<<<<<
- * 
- *         rank = H5Sget_simple_extent_ndims(self.id)
- */
-  __pyx_v_end = NULL;
-
-  /* "h5py/h5s.pyx":366
- *         cdef hsize_t *end = NULL
- * 
- *         rank = H5Sget_simple_extent_ndims(self.id)             # <<<<<<<<<<<<<<
- * 
- *         if H5Sget_select_npoints(self.id) == 0:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 366; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_1;
-
-  /* "h5py/h5s.pyx":368
- *         rank = H5Sget_simple_extent_ndims(self.id)
- * 
- *         if H5Sget_select_npoints(self.id) == 0:             # <<<<<<<<<<<<<<
- *             return None
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_select_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = (__pyx_t_2 == 0);
-  if (__pyx_t_3) {
-
-    /* "h5py/h5s.pyx":369
- * 
- *         if H5Sget_select_npoints(self.id) == 0:
- *             return None             # <<<<<<<<<<<<<<
- * 
- *         start = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(Py_None);
-    __pyx_r = Py_None;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5s.pyx":371
- *             return None
- * 
- *         start = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *         end = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_4 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_start = ((hsize_t *)__pyx_t_4);
-
-  /* "h5py/h5s.pyx":372
- * 
- *         start = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         end = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_t_4 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_4 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_end = ((hsize_t *)__pyx_t_4);
-
-  /* "h5py/h5s.pyx":374
- *         end = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             H5Sget_select_bounds(self.id, start, end)
- * 
- */
-  /*try:*/ {
-
-    /* "h5py/h5s.pyx":375
- * 
- *         try:
- *             H5Sget_select_bounds(self.id, start, end)             # <<<<<<<<<<<<<<
- * 
- *             start_tpl = convert_dims(start, rank)
- */
-    __pyx_t_5 = __pyx_f_4h5py_4defs_H5Sget_select_bounds(__pyx_v_self->__pyx_base.id, __pyx_v_start, __pyx_v_end); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 375; __pyx_clineno = __LINE__; goto __pyx_L5;}
-
-    /* "h5py/h5s.pyx":377
- *             H5Sget_select_bounds(self.id, start, end)
- * 
- *             start_tpl = convert_dims(start, rank)             # <<<<<<<<<<<<<<
- *             end_tpl = convert_dims(end, rank)
- *             return (start_tpl, end_tpl)
- */
-    __pyx_t_6 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_start, __pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 377; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __pyx_v_start_tpl = __pyx_t_6;
-    __pyx_t_6 = 0;
-
-    /* "h5py/h5s.pyx":378
- * 
- *             start_tpl = convert_dims(start, rank)
- *             end_tpl = convert_dims(end, rank)             # <<<<<<<<<<<<<<
- *             return (start_tpl, end_tpl)
- * 
- */
-    __pyx_t_6 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_end, __pyx_v_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 378; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __pyx_v_end_tpl = __pyx_t_6;
-    __pyx_t_6 = 0;
-
-    /* "h5py/h5s.pyx":379
- *             start_tpl = convert_dims(start, rank)
- *             end_tpl = convert_dims(end, rank)
- *             return (start_tpl, end_tpl)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_INCREF(__pyx_v_start_tpl);
-    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_start_tpl);
-    __Pyx_GIVEREF(__pyx_v_start_tpl);
-    __Pyx_INCREF(__pyx_v_end_tpl);
-    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_end_tpl);
-    __Pyx_GIVEREF(__pyx_v_end_tpl);
-    __pyx_r = ((PyObject *)__pyx_t_6);
-    __pyx_t_6 = 0;
-    goto __pyx_L4;
-  }
-
-  /* "h5py/h5s.pyx":382
- * 
- *         finally:
- *             efree(start)             # <<<<<<<<<<<<<<
- *             efree(end)
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L6;
-    __pyx_L4: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L6;
-    __pyx_L5: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_start);
-
-    /* "h5py/h5s.pyx":383
- *         finally:
- *             efree(start)
- *             efree(end)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_f_4h5py_5utils_efree(__pyx_v_end);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_bounds", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_start_tpl);
-  __Pyx_XDECREF(__pyx_v_end_tpl);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_35select_all(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_34select_all[] = "()\n\n        Select all points in the dataspace.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_35select_all(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("select_all (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_34select_all(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":386
- * 
- * 
- *     def select_all(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_34select_all(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("select_all", 0);
-
-  /* "h5py/h5s.pyx":391
- *         Select all points in the dataspace.
- *         """
- *         H5Sselect_all(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_all(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 391; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.select_all", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_37select_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_36select_none[] = "()\n\n        Deselect entire dataspace.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_37select_none(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("select_none (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_36select_none(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":394
- * 
- * 
- *     def select_none(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_36select_none(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("select_none", 0);
-
-  /* "h5py/h5s.pyx":399
- *         Deselect entire dataspace.
- *         """
- *         H5Sselect_none(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_none(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 399; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.select_none", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_39select_valid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_38select_valid[] = "() => BOOL\n\n        Determine if the current selection falls within\n        the dataspace extent.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_39select_valid(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("select_valid (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_38select_valid(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":402
- * 
- * 
- *     def select_valid(self):             # <<<<<<<<<<<<<<
- *         """() => BOOL
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_38select_valid(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("select_valid", 0);
-
-  /* "h5py/h5s.pyx":408
- *         the dataspace extent.
- *         """
- *         return <bint>(H5Sselect_valid(self.id))             # <<<<<<<<<<<<<<
- * 
- *     # === Point selection functions ===========================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sselect_valid(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.select_valid", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_41get_select_elem_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_40get_select_elem_npoints[] = "() => LONG npoints\n\n        Determine the number of elements selected in point-selection mode.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_41get_select_elem_npoints(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_select_elem_npoints (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_40get_select_elem_npoints(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":413
- * 
- * 
- *     def get_select_elem_npoints(self):             # <<<<<<<<<<<<<<
- *         """() => LONG npoints
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_40get_select_elem_npoints(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hssize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_select_elem_npoints", 0);
-
-  /* "h5py/h5s.pyx":418
- *         Determine the number of elements selected in point-selection mode.
- *         """
- *         return H5Sget_select_elem_npoints(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_elem_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 418; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_elem_npoints", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_43get_select_elem_pointlist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_42get_select_elem_pointlist[] = "() => NDARRAY\n\n        Get a list of all selected elements.  Return is a Numpy array of\n        unsigned ints, with shape ``(<npoints>, <space rank)``.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_43get_select_elem_pointlist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_select_elem_pointlist (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_42get_select_elem_pointlist(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":421
- * 
- * 
- *     def get_select_elem_pointlist(self):             # <<<<<<<<<<<<<<
- *         """() => NDARRAY
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_42get_select_elem_pointlist(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  hsize_t __pyx_v_dims[2];
-  PyArrayObject *__pyx_v_buf = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hssize_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  herr_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_select_elem_pointlist", 0);
-
-  /* "h5py/h5s.pyx":430
- *         cdef ndarray buf
- * 
- *         dims[0] = H5Sget_select_elem_npoints(self.id)             # <<<<<<<<<<<<<<
- *         dims[1] = H5Sget_simple_extent_ndims(self.id)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_elem_npoints(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 430; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_dims[0]) = __pyx_t_1;
-
-  /* "h5py/h5s.pyx":431
- * 
- *         dims[0] = H5Sget_select_elem_npoints(self.id)
- *         dims[1] = H5Sget_simple_extent_ndims(self.id)             # <<<<<<<<<<<<<<
- * 
- *         buf = create_numpy_hsize(2, dims)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_dims[1]) = __pyx_t_2;
-
-  /* "h5py/h5s.pyx":433
- *         dims[1] = H5Sget_simple_extent_ndims(self.id)
- * 
- *         buf = create_numpy_hsize(2, dims)             # <<<<<<<<<<<<<<
- * 
- *         H5Sget_select_elem_pointlist(self.id, 0, dims[0], <hsize_t*>buf.data)
- */
-  __pyx_t_3 = __pyx_f_4h5py_5utils_create_numpy_hsize(2, __pyx_v_dims); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 433; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = ((PyArrayObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5s.pyx":435
- *         buf = create_numpy_hsize(2, dims)
- * 
- *         H5Sget_select_elem_pointlist(self.id, 0, dims[0], <hsize_t*>buf.data)             # <<<<<<<<<<<<<<
- * 
- *         return buf
- */
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist(__pyx_v_self->__pyx_base.id, 0, (__pyx_v_dims[0]), ((hsize_t *)__pyx_v_buf->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":437
- *         H5Sget_select_elem_pointlist(self.id, 0, dims[0], <hsize_t*>buf.data)
- * 
- *         return buf             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_buf));
-  __pyx_r = ((PyObject *)__pyx_v_buf);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_elem_pointlist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_buf);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_45select_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_44select_elements[] = "(SEQUENCE coords, INT op=SELECT_SET)\n\n        Select elements by specifying coordinates points.  The argument\n        \"coords\" may be an ndarray or any nested sequence which can be\n        converted to an array of uints with the shape::\n\n            (<npoints>, <space rank>)\n\n        Examples::\n\n            >>> obj.shape\n            (10, 10)\n            >>> obj.select_elements([(1,2), (3,4), (5,9)])\n\n        [...]
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_45select_elements(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_coords = 0;
-  int __pyx_v_op;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("select_elements (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__coords,&__pyx_n_s__op,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__coords)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__op);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "select_elements") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_coords = values[0];
-    if (values[1]) {
-      __pyx_v_op = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_op == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_op = __pyx_k_5;
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("select_elements", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 440; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.select_elements", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_44select_elements(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_coords, __pyx_v_op);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":440
- * 
- * 
- *     def select_elements(self, object coords, int op=H5S_SELECT_SET):             # <<<<<<<<<<<<<<
- *         """(SEQUENCE coords, INT op=SELECT_SET)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_44select_elements(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_coords, int __pyx_v_op) {
-  PyArrayObject *__pyx_v_hcoords = 0;
-  size_t __pyx_v_nelements;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  herr_t __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("select_elements", 0);
-
-  /* "h5py/h5s.pyx":466
- *         # a compatible type and initializing it to the input.
- * 
- *         hcoords = create_hsize_array(coords)             # <<<<<<<<<<<<<<
- * 
- *         if hcoords.nd != 2 or hcoords.dimensions[1] != H5Sget_simple_extent_ndims(self.id):
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_create_hsize_array(__pyx_v_coords); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 466; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_hcoords = ((PyArrayObject *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5s.pyx":468
- *         hcoords = create_hsize_array(coords)
- * 
- *         if hcoords.nd != 2 or hcoords.dimensions[1] != H5Sget_simple_extent_ndims(self.id):             # <<<<<<<<<<<<<<
- *             raise ValueError("Coordinate array must have shape (<npoints>, %d)" % self.get_simple_extent_ndims())
- * 
- */
-  __pyx_t_2 = (__pyx_v_hcoords->nd != 2);
-  if (!__pyx_t_2) {
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_4 = ((__pyx_v_hcoords->dimensions[1]) != __pyx_t_3);
-    __pyx_t_5 = __pyx_t_4;
-  } else {
-    __pyx_t_5 = __pyx_t_2;
-  }
-  if (__pyx_t_5) {
-
-    /* "h5py/h5s.pyx":469
- * 
- *         if hcoords.nd != 2 or hcoords.dimensions[1] != H5Sget_simple_extent_ndims(self.id):
- *             raise ValueError("Coordinate array must have shape (<npoints>, %d)" % self.get_simple_extent_ndims())             # <<<<<<<<<<<<<<
- * 
- *         nelements = hcoords.dimensions[0]
- */
-    __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s_7); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_6 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_6), __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_1));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-    __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-    __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 469; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5s.pyx":471
- *             raise ValueError("Coordinate array must have shape (<npoints>, %d)" % self.get_simple_extent_ndims())
- * 
- *         nelements = hcoords.dimensions[0]             # <<<<<<<<<<<<<<
- * 
- *         H5Sselect_elements(self.id, <H5S_seloper_t>op, nelements, <hsize_t**>hcoords.data)
- */
-  __pyx_v_nelements = (__pyx_v_hcoords->dimensions[0]);
-
-  /* "h5py/h5s.pyx":473
- *         nelements = hcoords.dimensions[0]
- * 
- *         H5Sselect_elements(self.id, <H5S_seloper_t>op, nelements, <hsize_t**>hcoords.data)             # <<<<<<<<<<<<<<
- * 
- *     # === Hyperslab selection functions =======================================
- */
-  __pyx_t_7 = __pyx_f_4h5py_4defs_H5Sselect_elements(__pyx_v_self->__pyx_base.id, ((H5S_seloper_t)__pyx_v_op), __pyx_v_nelements, ((hsize_t **)__pyx_v_hcoords->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 473; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.select_elements", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_hcoords);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_47get_select_hyper_nblocks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks[] = "() => LONG nblocks\n\n        Get the number of hyperslab blocks currently selected.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_47get_select_hyper_nblocks(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_select_hyper_nblocks (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":478
- * 
- * 
- *     def get_select_hyper_nblocks(self):             # <<<<<<<<<<<<<<
- *         """() => LONG nblocks
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hssize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_select_hyper_nblocks", 0);
-
-  /* "h5py/h5s.pyx":483
- *         Get the number of hyperslab blocks currently selected.
- *         """
- *         return H5Sget_select_hyper_nblocks(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hssize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 483; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_hyper_nblocks", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_49get_select_hyper_blocklist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist[] = "() => NDARRAY\n\n        Get the current hyperslab selection.  The returned array has shape::\n\n            (<npoints>, 2, <rank>)\n\n        and can be interpreted as a nested sequence::\n\n            [ (corner_coordinate_1, opposite_coordinate_1), ... ]\n\n        with length equal to the total number of blocks.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_49get_select_hyper_blocklist(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_select_hyper_blocklist (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":486
- * 
- * 
- *     def get_select_hyper_blocklist(self):             # <<<<<<<<<<<<<<
- *         """() => NDARRAY
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self) {
-  hsize_t __pyx_v_dims[3];
-  PyArrayObject *__pyx_v_buf = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hssize_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  herr_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_select_hyper_blocklist", 0);
-
-  /* "h5py/h5s.pyx":502
- *         cdef ndarray buf
- * 
- *         dims[0] = H5Sget_select_hyper_nblocks(self.id)             # <<<<<<<<<<<<<<
- *         dims[1] = 2
- *         dims[2] = H5Sget_simple_extent_ndims(self.id)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_dims[0]) = __pyx_t_1;
-
-  /* "h5py/h5s.pyx":503
- * 
- *         dims[0] = H5Sget_select_hyper_nblocks(self.id)
- *         dims[1] = 2             # <<<<<<<<<<<<<<
- *         dims[2] = H5Sget_simple_extent_ndims(self.id)
- * 
- */
-  (__pyx_v_dims[1]) = 2;
-
-  /* "h5py/h5s.pyx":504
- *         dims[0] = H5Sget_select_hyper_nblocks(self.id)
- *         dims[1] = 2
- *         dims[2] = H5Sget_simple_extent_ndims(self.id)             # <<<<<<<<<<<<<<
- * 
- *         buf = create_numpy_hsize(3, dims)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 504; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  (__pyx_v_dims[2]) = __pyx_t_2;
-
-  /* "h5py/h5s.pyx":506
- *         dims[2] = H5Sget_simple_extent_ndims(self.id)
- * 
- *         buf = create_numpy_hsize(3, dims)             # <<<<<<<<<<<<<<
- * 
- *         H5Sget_select_hyper_blocklist(self.id, 0, dims[0], <hsize_t*>buf.data)
- */
-  __pyx_t_3 = __pyx_f_4h5py_5utils_create_numpy_hsize(3, __pyx_v_dims); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = ((PyArrayObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5s.pyx":508
- *         buf = create_numpy_hsize(3, dims)
- * 
- *         H5Sget_select_hyper_blocklist(self.id, 0, dims[0], <hsize_t*>buf.data)             # <<<<<<<<<<<<<<
- * 
- *         return buf
- */
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist(__pyx_v_self->__pyx_base.id, 0, (__pyx_v_dims[0]), ((hsize_t *)__pyx_v_buf->data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":510
- *         H5Sget_select_hyper_blocklist(self.id, 0, dims[0], <hsize_t*>buf.data)
- * 
- *         return buf             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_buf));
-  __pyx_r = ((PyObject *)__pyx_v_buf);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.get_select_hyper_blocklist", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_buf);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_51select_hyperslab(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5s_7SpaceID_50select_hyperslab[] = "(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None,\n             INT op=SELECT_SET)\n\n        Select a block region from an existing dataspace.  See the HDF5\n        documentation for the meaning of the \"block\" and \"op\" keywords.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5s_7SpaceID_51select_hyperslab(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_start = 0;
-  PyObject *__pyx_v_count = 0;
-  PyObject *__pyx_v_stride = 0;
-  PyObject *__pyx_v_block = 0;
-  int __pyx_v_op;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("select_hyperslab (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__start,&__pyx_n_s__count,&__pyx_n_s__stride,&__pyx_n_s__block,&__pyx_n_s__op,0};
-    PyObject* values[5] = {0,0,0,0,0};
-
-    /* "h5py/h5s.pyx":513
- * 
- * 
- *     def select_hyperslab(self, object start, object count, object stride=None,             # <<<<<<<<<<<<<<
- *                          object block=None, int op=H5S_SELECT_SET):
- *         """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None,
- */
-    values[2] = ((PyObject *)Py_None);
-
-    /* "h5py/h5s.pyx":514
- * 
- *     def select_hyperslab(self, object start, object count, object stride=None,
- *                          object block=None, int op=H5S_SELECT_SET):             # <<<<<<<<<<<<<<
- *         """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None,
- *              INT op=SELECT_SET)
- */
-    values[3] = ((PyObject *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__start)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__count)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("select_hyperslab", 0, 2, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__stride);
-          if (value) { values[2] = value; kw_args--; }
-        }
-        case  3:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__block);
-          if (value) { values[3] = value; kw_args--; }
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__op);
-          if (value) { values[4] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "select_hyperslab") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_start = values[0];
-    __pyx_v_count = values[1];
-    __pyx_v_stride = values[2];
-    __pyx_v_block = values[3];
-    if (values[4]) {
-      __pyx_v_op = __Pyx_PyInt_AsInt(values[4]); if (unlikely((__pyx_v_op == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 514; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_op = __pyx_k_8;
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("select_hyperslab", 0, 2, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 513; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.select_hyperslab", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5s_7SpaceID_50select_hyperslab(((struct __pyx_obj_4h5py_3h5s_SpaceID *)__pyx_v_self), __pyx_v_start, __pyx_v_count, __pyx_v_stride, __pyx_v_block, __pyx_v_op);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5s.pyx":513
- * 
- * 
- *     def select_hyperslab(self, object start, object count, object stride=None,             # <<<<<<<<<<<<<<
- *                          object block=None, int op=H5S_SELECT_SET):
- *         """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5s_7SpaceID_50select_hyperslab(struct __pyx_obj_4h5py_3h5s_SpaceID *__pyx_v_self, PyObject *__pyx_v_start, PyObject *__pyx_v_count, PyObject *__pyx_v_stride, PyObject *__pyx_v_block, int __pyx_v_op) {
-  int __pyx_v_rank;
-  hsize_t *__pyx_v_start_array;
-  hsize_t *__pyx_v_count_array;
-  hsize_t *__pyx_v_stride_array;
-  hsize_t *__pyx_v_block_array;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  void *__pyx_t_2;
-  int __pyx_t_3;
-  herr_t __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("select_hyperslab", 0);
-
-  /* "h5py/h5s.pyx":522
- *         """
- *         cdef int rank
- *         cdef hsize_t* start_array = NULL             # <<<<<<<<<<<<<<
- *         cdef hsize_t* count_array = NULL
- *         cdef hsize_t* stride_array = NULL
- */
-  __pyx_v_start_array = NULL;
-
-  /* "h5py/h5s.pyx":523
- *         cdef int rank
- *         cdef hsize_t* start_array = NULL
- *         cdef hsize_t* count_array = NULL             # <<<<<<<<<<<<<<
- *         cdef hsize_t* stride_array = NULL
- *         cdef hsize_t* block_array = NULL
- */
-  __pyx_v_count_array = NULL;
-
-  /* "h5py/h5s.pyx":524
- *         cdef hsize_t* start_array = NULL
- *         cdef hsize_t* count_array = NULL
- *         cdef hsize_t* stride_array = NULL             # <<<<<<<<<<<<<<
- *         cdef hsize_t* block_array = NULL
- * 
- */
-  __pyx_v_stride_array = NULL;
-
-  /* "h5py/h5s.pyx":525
- *         cdef hsize_t* count_array = NULL
- *         cdef hsize_t* stride_array = NULL
- *         cdef hsize_t* block_array = NULL             # <<<<<<<<<<<<<<
- * 
- *         # Dataspace rank.  All provided tuples must match this.
- */
-  __pyx_v_block_array = NULL;
-
-  /* "h5py/h5s.pyx":528
- * 
- *         # Dataspace rank.  All provided tuples must match this.
- *         rank = H5Sget_simple_extent_ndims(self.id)             # <<<<<<<<<<<<<<
- * 
- *         require_tuple(start, 0, rank, "start")
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 528; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_1;
-
-  /* "h5py/h5s.pyx":530
- *         rank = H5Sget_simple_extent_ndims(self.id)
- * 
- *         require_tuple(start, 0, rank, "start")             # <<<<<<<<<<<<<<
- *         require_tuple(count, 0, rank, "count")
- *         require_tuple(stride, 1, rank, "stride")
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_start, 0, __pyx_v_rank, __pyx_k__start); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 530; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":531
- * 
- *         require_tuple(start, 0, rank, "start")
- *         require_tuple(count, 0, rank, "count")             # <<<<<<<<<<<<<<
- *         require_tuple(stride, 1, rank, "stride")
- *         require_tuple(block, 1, rank, "block")
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_count, 0, __pyx_v_rank, __pyx_k__count); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 531; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":532
- *         require_tuple(start, 0, rank, "start")
- *         require_tuple(count, 0, rank, "count")
- *         require_tuple(stride, 1, rank, "stride")             # <<<<<<<<<<<<<<
- *         require_tuple(block, 1, rank, "block")
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_stride, 1, __pyx_v_rank, __pyx_k__stride); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":533
- *         require_tuple(count, 0, rank, "count")
- *         require_tuple(stride, 1, rank, "stride")
- *         require_tuple(block, 1, rank, "block")             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_block, 1, __pyx_v_rank, __pyx_k__block); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":535
- *         require_tuple(block, 1, rank, "block")
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             start_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             count_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-  /*try:*/ {
-
-    /* "h5py/h5s.pyx":536
- * 
- *         try:
- *             start_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *             count_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(start, start_array, rank)
- */
-    __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_start_array = ((hsize_t *)__pyx_t_2);
-
-    /* "h5py/h5s.pyx":537
- *         try:
- *             start_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             count_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *             convert_tuple(start, start_array, rank)
- *             convert_tuple(count, count_array, rank)
- */
-    __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 537; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_count_array = ((hsize_t *)__pyx_t_2);
-
-    /* "h5py/h5s.pyx":538
- *             start_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             count_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(start, start_array, rank)             # <<<<<<<<<<<<<<
- *             convert_tuple(count, count_array, rank)
- * 
- */
-    __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_start, __pyx_v_start_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5s.pyx":539
- *             count_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *             convert_tuple(start, start_array, rank)
- *             convert_tuple(count, count_array, rank)             # <<<<<<<<<<<<<<
- * 
- *             if stride is not None:
- */
-    __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_count, __pyx_v_count_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 539; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5s.pyx":541
- *             convert_tuple(count, count_array, rank)
- * 
- *             if stride is not None:             # <<<<<<<<<<<<<<
- *                 stride_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *                 convert_tuple(stride, stride_array, rank)
- */
-    __pyx_t_3 = (__pyx_v_stride != Py_None);
-    if (__pyx_t_3) {
-
-      /* "h5py/h5s.pyx":542
- * 
- *             if stride is not None:
- *                 stride_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *                 convert_tuple(stride, stride_array, rank)
- *             if block is not None:
- */
-      __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 542; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_stride_array = ((hsize_t *)__pyx_t_2);
-
-      /* "h5py/h5s.pyx":543
- *             if stride is not None:
- *                 stride_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *                 convert_tuple(stride, stride_array, rank)             # <<<<<<<<<<<<<<
- *             if block is not None:
- *                 block_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-      __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_stride, __pyx_v_stride_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 543; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5s.pyx":544
- *                 stride_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *                 convert_tuple(stride, stride_array, rank)
- *             if block is not None:             # <<<<<<<<<<<<<<
- *                 block_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *                 convert_tuple(block, block_array, rank)
- */
-    __pyx_t_3 = (__pyx_v_block != Py_None);
-    if (__pyx_t_3) {
-
-      /* "h5py/h5s.pyx":545
- *                 convert_tuple(stride, stride_array, rank)
- *             if block is not None:
- *                 block_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *                 convert_tuple(block, block_array, rank)
- * 
- */
-      __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      __pyx_v_block_array = ((hsize_t *)__pyx_t_2);
-
-      /* "h5py/h5s.pyx":546
- *             if block is not None:
- *                 block_array = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *                 convert_tuple(block, block_array, rank)             # <<<<<<<<<<<<<<
- * 
- *             H5Sselect_hyperslab(self.id, <H5S_seloper_t>op, start_array,
- */
-      __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_block, __pyx_v_block_array, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L4;}
-      goto __pyx_L7;
-    }
-    __pyx_L7:;
-
-    /* "h5py/h5s.pyx":549
- * 
- *             H5Sselect_hyperslab(self.id, <H5S_seloper_t>op, start_array,
- *                                          stride_array, count_array, block_array)             # <<<<<<<<<<<<<<
- * 
- *         finally:
- */
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Sselect_hyperslab(__pyx_v_self->__pyx_base.id, ((H5S_seloper_t)__pyx_v_op), __pyx_v_start_array, __pyx_v_stride_array, __pyx_v_count_array, __pyx_v_block_array); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 548; __pyx_clineno = __LINE__; goto __pyx_L4;}
-  }
-
-  /* "h5py/h5s.pyx":552
- * 
- *         finally:
- *             efree(start_array)             # <<<<<<<<<<<<<<
- *             efree(count_array)
- *             efree(stride_array)
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_start_array);
-
-    /* "h5py/h5s.pyx":553
- *         finally:
- *             efree(start_array)
- *             efree(count_array)             # <<<<<<<<<<<<<<
- *             efree(stride_array)
- *             efree(block_array)
- */
-    __pyx_f_4h5py_5utils_efree(__pyx_v_count_array);
-
-    /* "h5py/h5s.pyx":554
- *             efree(start_array)
- *             efree(count_array)
- *             efree(stride_array)             # <<<<<<<<<<<<<<
- *             efree(block_array)
- * 
- */
-    __pyx_f_4h5py_5utils_efree(__pyx_v_stride_array);
-
-    /* "h5py/h5s.pyx":555
- *             efree(count_array)
- *             efree(stride_array)
- *             efree(block_array)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_f_4h5py_5utils_efree(__pyx_v_block_array);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5s.SpaceID.select_hyperslab", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_tp_new_4h5py_3h5s_SpaceID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  PyObject *o = __pyx_ptype_4h5py_8_objects_ObjectID->tp_new(t, a, k);
-  if (!o) return 0;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5s_SpaceID(PyObject *o) {
-  PyObject_GC_UnTrack(o);
-  PyObject_GC_Track(o);
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5s_SpaceID);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5s_SpaceID(PyObject *o, visitproc v, void *a) {
-  int e;
-  e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5s_SpaceID)); if (e) return e;
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5s_SpaceID(PyObject *o) {
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5s_SpaceID);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5s_7SpaceID_shape(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5s_7SpaceID_5shape_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5s_SpaceID[] = {
-  {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_1_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID__close)},
-  {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_3copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_2copy)},
-  {__Pyx_NAMESTR("encode"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_5encode, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_4encode)},
-  {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_7__reduce__, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("__setstate__"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_9__setstate__, METH_O, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("is_simple"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_11is_simple, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_10is_simple)},
-  {__Pyx_NAMESTR("offset_simple"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_13offset_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_12offset_simple)},
-  {__Pyx_NAMESTR("get_simple_extent_ndims"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_15get_simple_extent_ndims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_14get_simple_extent_ndims)},
-  {__Pyx_NAMESTR("get_simple_extent_dims"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_17get_simple_extent_dims, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_16get_simple_extent_dims)},
-  {__Pyx_NAMESTR("get_simple_extent_npoints"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_19get_simple_extent_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_18get_simple_extent_npoints)},
-  {__Pyx_NAMESTR("get_simple_extent_type"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_21get_simple_extent_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_20get_simple_extent_type)},
-  {__Pyx_NAMESTR("extent_copy"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_23extent_copy, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_22extent_copy)},
-  {__Pyx_NAMESTR("set_extent_simple"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_25set_extent_simple, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_24set_extent_simple)},
-  {__Pyx_NAMESTR("set_extent_none"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_27set_extent_none, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_26set_extent_none)},
-  {__Pyx_NAMESTR("get_select_type"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_29get_select_type, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_28get_select_type)},
-  {__Pyx_NAMESTR("get_select_npoints"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_31get_select_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_30get_select_npoints)},
-  {__Pyx_NAMESTR("get_select_bounds"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_33get_select_bounds, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_32get_select_bounds)},
-  {__Pyx_NAMESTR("select_all"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_35select_all, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_34select_all)},
-  {__Pyx_NAMESTR("select_none"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_37select_none, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_36select_none)},
-  {__Pyx_NAMESTR("select_valid"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_39select_valid, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_38select_valid)},
-  {__Pyx_NAMESTR("get_select_elem_npoints"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_41get_select_elem_npoints, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_40get_select_elem_npoints)},
-  {__Pyx_NAMESTR("get_select_elem_pointlist"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_43get_select_elem_pointlist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_42get_select_elem_pointlist)},
-  {__Pyx_NAMESTR("select_elements"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_45select_elements, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_44select_elements)},
-  {__Pyx_NAMESTR("get_select_hyper_nblocks"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_47get_select_hyper_nblocks, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_46get_select_hyper_nblocks)},
-  {__Pyx_NAMESTR("get_select_hyper_blocklist"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_49get_select_hyper_blocklist, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_48get_select_hyper_blocklist)},
-  {__Pyx_NAMESTR("select_hyperslab"), (PyCFunction)__pyx_pw_4h5py_3h5s_7SpaceID_51select_hyperslab, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5s_7SpaceID_50select_hyperslab)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5s_SpaceID[] = {
-  {(char *)"shape", __pyx_getprop_4h5py_3h5s_7SpaceID_shape, 0, __Pyx_DOCSTR(__pyx_k_9), 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_SpaceID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_SpaceID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_SpaceID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_SpaceID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5s_SpaceID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5s.SpaceID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5s_SpaceID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5s_SpaceID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_SpaceID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_SpaceID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_SpaceID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_SpaceID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents a dataspace identifier.\n\n        Properties:\n\n        shape\n            Numpy-style shape tuple with dimensions.\n\n        * Hashable: No\n        * Equality: Unimplemented\n\n        Can be pickled if HDF5 1.8 is available.\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5s_SpaceID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5s_SpaceID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5s_SpaceID, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5s_SpaceID, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5s_SpaceID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5s"),
-    __Pyx_DOCSTR(__pyx_k_10), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_n_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 1},
-  {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0},
-  {&__pyx_n_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 1},
-  {&__pyx_kp_u_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 1, 0, 0},
-  {&__pyx_kp_u_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 1, 0, 0},
-  {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
-  {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0},
-  {&__pyx_n_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 1},
-  {&__pyx_n_s__ALL, __pyx_k__ALL, sizeof(__pyx_k__ALL), 0, 0, 1, 1},
-  {&__pyx_n_s__NO_CLASS, __pyx_k__NO_CLASS, sizeof(__pyx_k__NO_CLASS), 0, 0, 1, 1},
-  {&__pyx_n_s__SCALAR, __pyx_k__SCALAR, sizeof(__pyx_k__SCALAR), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_AND, __pyx_k__SELECT_AND, sizeof(__pyx_k__SELECT_AND), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_APPEND, __pyx_k__SELECT_APPEND, sizeof(__pyx_k__SELECT_APPEND), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_INVALID, __pyx_k__SELECT_INVALID, sizeof(__pyx_k__SELECT_INVALID), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_NOOP, __pyx_k__SELECT_NOOP, sizeof(__pyx_k__SELECT_NOOP), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_NOTA, __pyx_k__SELECT_NOTA, sizeof(__pyx_k__SELECT_NOTA), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_NOTB, __pyx_k__SELECT_NOTB, sizeof(__pyx_k__SELECT_NOTB), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_OR, __pyx_k__SELECT_OR, sizeof(__pyx_k__SELECT_OR), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_PREPEND, __pyx_k__SELECT_PREPEND, sizeof(__pyx_k__SELECT_PREPEND), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_SET, __pyx_k__SELECT_SET, sizeof(__pyx_k__SELECT_SET), 0, 0, 1, 1},
-  {&__pyx_n_s__SELECT_XOR, __pyx_k__SELECT_XOR, sizeof(__pyx_k__SELECT_XOR), 0, 0, 1, 1},
-  {&__pyx_n_s__SEL_ALL, __pyx_k__SEL_ALL, sizeof(__pyx_k__SEL_ALL), 0, 0, 1, 1},
-  {&__pyx_n_s__SEL_ERROR, __pyx_k__SEL_ERROR, sizeof(__pyx_k__SEL_ERROR), 0, 0, 1, 1},
-  {&__pyx_n_s__SEL_HYPERSLABS, __pyx_k__SEL_HYPERSLABS, sizeof(__pyx_k__SEL_HYPERSLABS), 0, 0, 1, 1},
-  {&__pyx_n_s__SEL_NONE, __pyx_k__SEL_NONE, sizeof(__pyx_k__SEL_NONE), 0, 0, 1, 1},
-  {&__pyx_n_s__SEL_POINTS, __pyx_k__SEL_POINTS, sizeof(__pyx_k__SEL_POINTS), 0, 0, 1, 1},
-  {&__pyx_n_s__SIMPLE, __pyx_k__SIMPLE, sizeof(__pyx_k__SIMPLE), 0, 0, 1, 1},
-  {&__pyx_n_s__UNLIMITED, __pyx_k__UNLIMITED, sizeof(__pyx_k__UNLIMITED), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s___NULL, __pyx_k___NULL, sizeof(__pyx_k___NULL), 0, 0, 1, 1},
-  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
-  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___objects, __pyx_k___objects, sizeof(__pyx_k___objects), 0, 0, 1, 1},
-  {&__pyx_n_s__block, __pyx_k__block, sizeof(__pyx_k__block), 0, 0, 1, 1},
-  {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1},
-  {&__pyx_n_s__buf_, __pyx_k__buf_, sizeof(__pyx_k__buf_), 0, 0, 1, 1},
-  {&__pyx_n_s__class_code, __pyx_k__class_code, sizeof(__pyx_k__class_code), 0, 0, 1, 1},
-  {&__pyx_n_s__coords, __pyx_k__coords, sizeof(__pyx_k__coords), 0, 0, 1, 1},
-  {&__pyx_n_s__count, __pyx_k__count, sizeof(__pyx_k__count), 0, 0, 1, 1},
-  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
-  {&__pyx_n_s__create_simple, __pyx_k__create_simple, sizeof(__pyx_k__create_simple), 0, 0, 1, 1},
-  {&__pyx_n_s__decode, __pyx_k__decode, sizeof(__pyx_k__decode), 0, 0, 1, 1},
-  {&__pyx_n_s__dims, __pyx_k__dims, sizeof(__pyx_k__dims), 0, 0, 1, 1},
-  {&__pyx_n_s__dims_tpl, __pyx_k__dims_tpl, sizeof(__pyx_k__dims_tpl), 0, 0, 1, 1},
-  {&__pyx_n_s__encode, __pyx_k__encode, sizeof(__pyx_k__encode), 0, 0, 1, 1},
-  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
-  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
-  {&__pyx_n_s__max_dims, __pyx_k__max_dims, sizeof(__pyx_k__max_dims), 0, 0, 1, 1},
-  {&__pyx_n_s__max_dims_tpl, __pyx_k__max_dims_tpl, sizeof(__pyx_k__max_dims_tpl), 0, 0, 1, 1},
-  {&__pyx_n_s__maxdims, __pyx_k__maxdims, sizeof(__pyx_k__maxdims), 0, 0, 1, 1},
-  {&__pyx_n_s__offset, __pyx_k__offset, sizeof(__pyx_k__offset), 0, 0, 1, 1},
-  {&__pyx_n_s__op, __pyx_k__op, sizeof(__pyx_k__op), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__rank, __pyx_k__rank, sizeof(__pyx_k__rank), 0, 0, 1, 1},
-  {&__pyx_n_s__registry, __pyx_k__registry, sizeof(__pyx_k__registry), 0, 0, 1, 1},
-  {&__pyx_n_s__start, __pyx_k__start, sizeof(__pyx_k__start), 0, 0, 1, 1},
-  {&__pyx_n_s__stride, __pyx_k__stride, sizeof(__pyx_k__stride), 0, 0, 1, 1},
-  {&__pyx_n_s__valid, __pyx_k__valid, sizeof(__pyx_k__valid), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5s.pyx":144
- *         when their Python wrappers are freed.
- *         """
- *         with _objects.registry.lock:             # <<<<<<<<<<<<<<
- *             H5Sclose(self.id)
- *             if not self.valid:
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-
-  /* "h5py/h5s.pyx":179
- * 
- *     def __reduce__(self):
- *         return (type(self), (-1,), self.encode())             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_k_tuple_3 = PyTuple_Pack(1, __pyx_int_neg_1); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_3);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
-
-  /* "h5py/h5s.pyx":62
- * 
- * 
- * def create(int class_code):             # <<<<<<<<<<<<<<
- *     """(INT class_code) => SpaceID
- * 
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__class_code), ((PyObject *)__pyx_n_s__class_code)); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-  __pyx_k_codeobj_12 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__create, 62, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":71
- * 
- * 
- * def create_simple(object dims_tpl, object max_dims_tpl=None):             # <<<<<<<<<<<<<<
- *     """(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID
- * 
- */
-  __pyx_k_tuple_15 = PyTuple_Pack(5, ((PyObject *)__pyx_n_s__dims_tpl), ((PyObject *)__pyx_n_s__max_dims_tpl), ((PyObject *)__pyx_n_s__rank), ((PyObject *)__pyx_n_s__dims), ((PyObject *)__pyx_n_s__max_dims)); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_15);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
-  __pyx_k_codeobj_16 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__create_simple, 71, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5s.pyx":103
- *         efree(max_dims)
- * 
- * def decode(buf):             # <<<<<<<<<<<<<<
- *     """(STRING buf) => SpaceID
- * 
- */
-  __pyx_k_tuple_17 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__buf), ((PyObject *)__pyx_n_s__buf_)); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_17);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));
-  __pyx_k_codeobj_18 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_13, __pyx_n_s__decode, 103, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5s(void); /*proto*/
-PyMODINIT_FUNC inith5s(void)
-#else
-PyMODINIT_FUNC PyInit_h5s(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5s(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5s(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5s"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_10), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5s")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5s", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5s) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_type_4h5py_3h5s_SpaceID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5s_SpaceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "SpaceID", (PyObject *)&__pyx_type_4h5py_3h5s_SpaceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5s_SpaceID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5s_SpaceID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5s_SpaceID, __pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5s_SpaceID = &__pyx_type_4h5py_3h5s_SpaceID;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate, "hid_t (H5S_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Scopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Scopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Screate_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Screate_simple, "hid_t (int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sis_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sis_simple, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Soffset_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Soffset_simple, "herr_t (hid_t, hssize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_type, "H5S_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sextent_copy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sextent_copy, "herr_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_simple", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_simple, "herr_t (hid_t, int, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sset_extent_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sset_extent_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_type, "H5S_sel_type (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_bounds", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_bounds, "herr_t (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_all", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_all, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_none", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_none, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_valid", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_valid, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_npoints", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_npoints, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_elem_pointlist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_elem_pointlist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_elements", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_elements, "herr_t (hid_t, H5S_seloper_t, size_t, hsize_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_nblocks", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_nblocks, "hssize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_select_hyper_blocklist", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_select_hyper_blocklist, "herr_t (hid_t, hsize_t, hsize_t, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sselect_hyperslab", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sselect_hyperslab, "herr_t (hid_t, H5S_seloper_t, hsize_t *, hsize_t *, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sencode, "herr_t (hid_t, void *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sdecode, "hid_t (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "create_numpy_hsize", (void (**)(void))&__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "create_hsize_array", (void (**)(void))&__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5s.pyx":19
- * from numpy cimport ndarray
- * 
- * from h5py import _objects             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s___objects));
-  PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_n_s___objects));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___objects));
-  __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_3), -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s___objects);
-  if (__pyx_t_3 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___objects);
-    if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_3);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___objects, __pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":31
- * 
- * #enum H5S_seloper_t:
- * SELECT_NOOP     = H5S_SELECT_NOOP             # <<<<<<<<<<<<<<
- * SELECT_SET      = H5S_SELECT_SET
- * SELECT_OR       = H5S_SELECT_OR
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_NOOP); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_NOOP, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":32
- * #enum H5S_seloper_t:
- * SELECT_NOOP     = H5S_SELECT_NOOP
- * SELECT_SET      = H5S_SELECT_SET             # <<<<<<<<<<<<<<
- * SELECT_OR       = H5S_SELECT_OR
- * SELECT_AND      = H5S_SELECT_AND
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_SET); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_SET, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":33
- * SELECT_NOOP     = H5S_SELECT_NOOP
- * SELECT_SET      = H5S_SELECT_SET
- * SELECT_OR       = H5S_SELECT_OR             # <<<<<<<<<<<<<<
- * SELECT_AND      = H5S_SELECT_AND
- * SELECT_XOR      = H5S_SELECT_XOR
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_OR); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_OR, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":34
- * SELECT_SET      = H5S_SELECT_SET
- * SELECT_OR       = H5S_SELECT_OR
- * SELECT_AND      = H5S_SELECT_AND             # <<<<<<<<<<<<<<
- * SELECT_XOR      = H5S_SELECT_XOR
- * SELECT_NOTB     = H5S_SELECT_NOTB
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_AND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_AND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":35
- * SELECT_OR       = H5S_SELECT_OR
- * SELECT_AND      = H5S_SELECT_AND
- * SELECT_XOR      = H5S_SELECT_XOR             # <<<<<<<<<<<<<<
- * SELECT_NOTB     = H5S_SELECT_NOTB
- * SELECT_NOTA     = H5S_SELECT_NOTA
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_XOR); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_XOR, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":36
- * SELECT_AND      = H5S_SELECT_AND
- * SELECT_XOR      = H5S_SELECT_XOR
- * SELECT_NOTB     = H5S_SELECT_NOTB             # <<<<<<<<<<<<<<
- * SELECT_NOTA     = H5S_SELECT_NOTA
- * SELECT_APPEND   = H5S_SELECT_APPEND
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_NOTB); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_NOTB, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":37
- * SELECT_XOR      = H5S_SELECT_XOR
- * SELECT_NOTB     = H5S_SELECT_NOTB
- * SELECT_NOTA     = H5S_SELECT_NOTA             # <<<<<<<<<<<<<<
- * SELECT_APPEND   = H5S_SELECT_APPEND
- * SELECT_PREPEND  = H5S_SELECT_PREPEND
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_NOTA); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_NOTA, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":38
- * SELECT_NOTB     = H5S_SELECT_NOTB
- * SELECT_NOTA     = H5S_SELECT_NOTA
- * SELECT_APPEND   = H5S_SELECT_APPEND             # <<<<<<<<<<<<<<
- * SELECT_PREPEND  = H5S_SELECT_PREPEND
- * SELECT_INVALID  = H5S_SELECT_INVALID
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_APPEND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_APPEND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":39
- * SELECT_NOTA     = H5S_SELECT_NOTA
- * SELECT_APPEND   = H5S_SELECT_APPEND
- * SELECT_PREPEND  = H5S_SELECT_PREPEND             # <<<<<<<<<<<<<<
- * SELECT_INVALID  = H5S_SELECT_INVALID
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_PREPEND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_PREPEND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":40
- * SELECT_APPEND   = H5S_SELECT_APPEND
- * SELECT_PREPEND  = H5S_SELECT_PREPEND
- * SELECT_INVALID  = H5S_SELECT_INVALID             # <<<<<<<<<<<<<<
- * 
- * ALL = lockid(H5S_ALL)   # This is accepted in lieu of an actual identifier
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SELECT_INVALID); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SELECT_INVALID, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":42
- * SELECT_INVALID  = H5S_SELECT_INVALID
- * 
- * ALL = lockid(H5S_ALL)   # This is accepted in lieu of an actual identifier             # <<<<<<<<<<<<<<
- *                         # in functions like H5Dread, so wrap it.
- * UNLIMITED = H5S_UNLIMITED
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5s_lockid(H5S_ALL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ALL, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":44
- * ALL = lockid(H5S_ALL)   # This is accepted in lieu of an actual identifier
- *                         # in functions like H5Dread, so wrap it.
- * UNLIMITED = H5S_UNLIMITED             # <<<<<<<<<<<<<<
- * 
- * #enum H5S_class_t
- */
-  __pyx_t_4 = __Pyx_PyInt_to_py_hsize_t(H5S_UNLIMITED); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNLIMITED, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":47
- * 
- * #enum H5S_class_t
- * NO_CLASS = H5S_NO_CLASS             # <<<<<<<<<<<<<<
- * SCALAR   = H5S_SCALAR
- * SIMPLE   = H5S_SIMPLE
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_NO_CLASS); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NO_CLASS, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":48
- * #enum H5S_class_t
- * NO_CLASS = H5S_NO_CLASS
- * SCALAR   = H5S_SCALAR             # <<<<<<<<<<<<<<
- * SIMPLE   = H5S_SIMPLE
- * _NULL = H5S_NULL
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SCALAR); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SCALAR, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":49
- * NO_CLASS = H5S_NO_CLASS
- * SCALAR   = H5S_SCALAR
- * SIMPLE   = H5S_SIMPLE             # <<<<<<<<<<<<<<
- * _NULL = H5S_NULL
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SIMPLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SIMPLE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":50
- * SCALAR   = H5S_SCALAR
- * SIMPLE   = H5S_SIMPLE
- * _NULL = H5S_NULL             # <<<<<<<<<<<<<<
- * 
- * #enum H5S_sel_type
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___NULL, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":53
- * 
- * #enum H5S_sel_type
- * SEL_ERROR       = H5S_SEL_ERROR             # <<<<<<<<<<<<<<
- * SEL_NONE        = H5S_SEL_NONE
- * SEL_POINTS      = H5S_SEL_POINTS
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SEL_ERROR); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SEL_ERROR, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":54
- * #enum H5S_sel_type
- * SEL_ERROR       = H5S_SEL_ERROR
- * SEL_NONE        = H5S_SEL_NONE             # <<<<<<<<<<<<<<
- * SEL_POINTS      = H5S_SEL_POINTS
- * SEL_HYPERSLABS  = H5S_SEL_HYPERSLABS
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SEL_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SEL_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":55
- * SEL_ERROR       = H5S_SEL_ERROR
- * SEL_NONE        = H5S_SEL_NONE
- * SEL_POINTS      = H5S_SEL_POINTS             # <<<<<<<<<<<<<<
- * SEL_HYPERSLABS  = H5S_SEL_HYPERSLABS
- * SEL_ALL         = H5S_SEL_ALL
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SEL_POINTS); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SEL_POINTS, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":56
- * SEL_NONE        = H5S_SEL_NONE
- * SEL_POINTS      = H5S_SEL_POINTS
- * SEL_HYPERSLABS  = H5S_SEL_HYPERSLABS             # <<<<<<<<<<<<<<
- * SEL_ALL         = H5S_SEL_ALL
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SEL_HYPERSLABS); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SEL_HYPERSLABS, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":57
- * SEL_POINTS      = H5S_SEL_POINTS
- * SEL_HYPERSLABS  = H5S_SEL_HYPERSLABS
- * SEL_ALL         = H5S_SEL_ALL             # <<<<<<<<<<<<<<
- * 
- * # === Basic dataspace operations ==============================================
- */
-  __pyx_t_4 = PyInt_FromLong(H5S_SEL_ALL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SEL_ALL, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":62
- * 
- * 
- * def create(int class_code):             # <<<<<<<<<<<<<<
- *     """(INT class_code) => SpaceID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_1create, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":71
- * 
- * 
- * def create_simple(object dims_tpl, object max_dims_tpl=None):             # <<<<<<<<<<<<<<
- *     """(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_3create_simple, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create_simple, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":103
- *         efree(max_dims)
- * 
- * def decode(buf):             # <<<<<<<<<<<<<<
- *     """(STRING buf) => SpaceID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5s_5decode, NULL, __pyx_n_s_14); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__decode, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5s.pyx":440
- * 
- * 
- *     def select_elements(self, object coords, int op=H5S_SELECT_SET):             # <<<<<<<<<<<<<<
- *         """(SEQUENCE coords, INT op=SELECT_SET)
- * 
- */
-  __pyx_k_5 = H5S_SELECT_SET;
-
-  /* "h5py/h5s.pyx":514
- * 
- *     def select_hyperslab(self, object start, object count, object stride=None,
- *                          object block=None, int op=H5S_SELECT_SET):             # <<<<<<<<<<<<<<
- *         """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None,
- *              INT op=SELECT_SET)
- */
-  __pyx_k_8 = H5S_SELECT_SET;
-
-  /* "h5py/h5s.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_kp_u_19), ((PyObject *)__pyx_kp_u_20)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5s", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5s");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_dealloc != current_tp_dealloc)
-        type = type->tp_base;
-    while (type && type->tp_dealloc == current_tp_dealloc)
-        type = type->tp_base;
-    if (type)
-        type->tp_dealloc(obj);
-}
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_traverse != current_tp_traverse)
-        type = type->tp_base;
-    while (type && type->tp_traverse == current_tp_traverse)
-        type = type->tp_base;
-    if (type && type->tp_traverse)
-        return type->tp_traverse(obj, v, a);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_clear != current_tp_clear)
-        type = type->tp_base;
-    while (type && type->tp_clear == current_tp_clear)
-        type = type->tp_base;
-    if (type && type->tp_clear)
-        type->tp_clear(obj);
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hssize_t(hssize_t val) {
-    const hssize_t neg_one = (hssize_t)-1, const_zero = (hssize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hssize_t) == sizeof(char))  ||
-        (sizeof(hssize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hssize_t) == sizeof(int)) ||
-               (sizeof(hssize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hssize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hssize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5s.pyx b/h5py/h5s.pyx
index f37a03d..b8b44d9 100644
--- a/h5py/h5s.pyx
+++ b/h5py/h5s.pyx
@@ -17,11 +17,11 @@ from utils cimport  require_tuple, convert_dims, convert_tuple, \
 from numpy cimport ndarray
 
 from h5py import _objects
-
+from ._objects import phil, with_phil
 
 cdef object lockid(hid_t id_):
     cdef SpaceID space
-    space = SpaceID.open(id_)
+    space = SpaceID(id_)
     space.locked = 1
     return space
 
@@ -56,18 +56,20 @@ SEL_POINTS      = H5S_SEL_POINTS
 SEL_HYPERSLABS  = H5S_SEL_HYPERSLABS
 SEL_ALL         = H5S_SEL_ALL
 
-# === Basic dataspace operations ==============================================
 
+# === Basic dataspace operations ==============================================
 
+ at with_phil
 def create(int class_code):
     """(INT class_code) => SpaceID
 
     Create a new HDF5 dataspace object, of the given class.
     Legal values are SCALAR and SIMPLE.
     """
-    return SpaceID.open(H5Screate(<H5S_class_t>class_code))
+    return SpaceID(H5Screate(<H5S_class_t>class_code))
 
 
+ at with_phil
 def create_simple(object dims_tpl, object max_dims_tpl=None):
     """(TUPLE dims_tpl, TUPLE max_dims_tpl) => SpaceID
 
@@ -94,12 +96,14 @@ def create_simple(object dims_tpl, object max_dims_tpl=None):
             max_dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
             convert_tuple(max_dims_tpl, max_dims, rank)
 
-        return SpaceID.open(H5Screate_simple(rank, dims, max_dims))
+        return SpaceID(H5Screate_simple(rank, dims, max_dims))
 
     finally:
         efree(dims)
         efree(max_dims)
 
+
+ at with_phil
 def decode(buf):
     """(STRING buf) => SpaceID
 
@@ -107,7 +111,8 @@ def decode(buf):
     Python pickling machinery to do this.
     """
     cdef char* buf_ = buf
-    return SpaceID.open(H5Sdecode(buf_))
+    return SpaceID(H5Sdecode(buf_))
+
 
 # === H5S class API ===========================================================
 
@@ -131,30 +136,20 @@ cdef class SpaceID(ObjectID):
         """ Numpy-style shape tuple representing dimensions.  () == scalar.
         """
         def __get__(self):
-            return self.get_simple_extent_dims()
-
-
-    def _close(self):
-        """()
-
-        Terminate access through this identifier.  You shouldn't have to
-        call this manually; dataspace objects are automatically destroyed
-        when their Python wrappers are freed.
-        """
-        with _objects.registry.lock:
-            H5Sclose(self.id)
-            if not self.valid:
-                del _objects.registry[self.id]
+            with phil:
+                return self.get_simple_extent_dims()
 
 
+    @with_phil
     def copy(self):
         """() => SpaceID
 
         Create a new copy of this dataspace.
         """
-        return SpaceID.open(H5Scopy(self.id))
+        return SpaceID(H5Scopy(self.id))
 
 
+    @with_phil
     def encode(self):
         """() => STRING
 
@@ -176,16 +171,19 @@ cdef class SpaceID(ObjectID):
 
 
     def __reduce__(self):
-        return (type(self), (-1,), self.encode())
+        with phil:
+            return (type(self), (-1,), self.encode())
 
 
     def __setstate__(self, state):
         cdef char* buf = state
-        self.id = H5Sdecode(buf)
+        with phil:
+            self.id = H5Sdecode(buf)
 
-    # === Simple dataspaces ===================================================
 
+    # === Simple dataspaces ===================================================
 
+    @with_phil
     def is_simple(self):
         """() => BOOL is_simple
 
@@ -195,6 +193,7 @@ cdef class SpaceID(ObjectID):
         return <bint>(H5Sis_simple(self.id))
 
 
+    @with_phil
     def offset_simple(self, object offset=None):
         """(TUPLE offset=None)
 
@@ -229,6 +228,7 @@ cdef class SpaceID(ObjectID):
             efree(dims)
 
 
+    @with_phil
     def get_simple_extent_ndims(self):
         """() => INT rank
 
@@ -237,6 +237,7 @@ cdef class SpaceID(ObjectID):
         return H5Sget_simple_extent_ndims(self.id)
 
 
+    @with_phil
     def get_simple_extent_dims(self, int maxdims=0):
         """(BOOL maxdims=False) => TUPLE shape
 
@@ -261,6 +262,7 @@ cdef class SpaceID(ObjectID):
             efree(dims)
 
 
+    @with_phil
     def get_simple_extent_npoints(self):
         """() => LONG npoints
 
@@ -269,6 +271,7 @@ cdef class SpaceID(ObjectID):
         return H5Sget_simple_extent_npoints(self.id)
 
 
+    @with_phil
     def get_simple_extent_type(self):
         """() => INT class_code
 
@@ -276,9 +279,10 @@ cdef class SpaceID(ObjectID):
         """
         return <int>H5Sget_simple_extent_type(self.id)
 
-    # === Extents =============================================================
 
+    # === Extents =============================================================
 
+    @with_phil
     def extent_copy(self, SpaceID source not None):
         """(SpaceID source)
 
@@ -288,6 +292,7 @@ cdef class SpaceID(ObjectID):
         H5Sextent_copy(self.id, source.id)
 
 
+    @with_phil
     def set_extent_simple(self, object dims_tpl, object max_dims_tpl=None):
         """(TUPLE dims_tpl, TUPLE max_dims_tpl=None)
 
@@ -321,6 +326,7 @@ cdef class SpaceID(ObjectID):
             efree(max_dims)
 
 
+    @with_phil
     def set_extent_none(self):
         """()
 
@@ -328,9 +334,10 @@ cdef class SpaceID(ObjectID):
         """
         H5Sset_extent_none(self.id)
 
-    # === General selection operations ========================================
 
+    # === General selection operations ========================================
 
+    @with_phil
     def get_select_type(self):
         """ () => INT select_code
 
@@ -344,6 +351,7 @@ cdef class SpaceID(ObjectID):
         return <int>H5Sget_select_type(self.id)
 
 
+    @with_phil
     def get_select_npoints(self):
         """() => LONG npoints
 
@@ -353,6 +361,7 @@ cdef class SpaceID(ObjectID):
         return H5Sget_select_npoints(self.id)
 
 
+    @with_phil
     def get_select_bounds(self):
         """() => (TUPLE start, TUPLE end)
 
@@ -383,6 +392,7 @@ cdef class SpaceID(ObjectID):
             efree(end)
 
 
+    @with_phil
     def select_all(self):
         """()
 
@@ -391,6 +401,7 @@ cdef class SpaceID(ObjectID):
         H5Sselect_all(self.id)
 
 
+    @with_phil
     def select_none(self):
         """()
 
@@ -399,6 +410,7 @@ cdef class SpaceID(ObjectID):
         H5Sselect_none(self.id)
 
 
+    @with_phil
     def select_valid(self):
         """() => BOOL
 
@@ -407,9 +419,10 @@ cdef class SpaceID(ObjectID):
         """
         return <bint>(H5Sselect_valid(self.id))
 
-    # === Point selection functions ===========================================
 
+    # === Point selection functions ===========================================
 
+    @with_phil
     def get_select_elem_npoints(self):
         """() => LONG npoints
 
@@ -418,6 +431,7 @@ cdef class SpaceID(ObjectID):
         return H5Sget_select_elem_npoints(self.id)
 
 
+    @with_phil
     def get_select_elem_pointlist(self):
         """() => NDARRAY
 
@@ -437,6 +451,7 @@ cdef class SpaceID(ObjectID):
         return buf
 
 
+    @with_phil
     def select_elements(self, object coords, int op=H5S_SELECT_SET):
         """(SEQUENCE coords, INT op=SELECT_SET)
 
@@ -472,9 +487,10 @@ cdef class SpaceID(ObjectID):
 
         H5Sselect_elements(self.id, <H5S_seloper_t>op, nelements, <hsize_t**>hcoords.data)
 
-    # === Hyperslab selection functions =======================================
 
+    # === Hyperslab selection functions =======================================
 
+    @with_phil
     def get_select_hyper_nblocks(self):
         """() => LONG nblocks
 
@@ -483,6 +499,7 @@ cdef class SpaceID(ObjectID):
         return H5Sget_select_hyper_nblocks(self.id)
 
 
+    @with_phil
     def get_select_hyper_blocklist(self):
         """() => NDARRAY
 
@@ -510,6 +527,7 @@ cdef class SpaceID(ObjectID):
         return buf
 
 
+    @with_phil
     def select_hyperslab(self, object start, object count, object stride=None,
                          object block=None, int op=H5S_SELECT_SET):
         """(TUPLE start, TUPLE count, TUPLE stride=None, TUPLE block=None,
diff --git a/h5py/h5t.c b/h5py/h5t.c
deleted file mode 100644
index 963e41c..0000000
--- a/h5py/h5t.c
+++ /dev/null
@@ -1,21701 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5t
-#define __PYX_HAVE_API__h5py__h5t
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5t.pyx",
-  "numpy.pxd",
-  "h5r.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_obj_4h5py_8_objects_ObjectID;
-struct __pyx_obj_4h5py_3h5t_TypeID;
-struct __pyx_obj_4h5py_3h5t_TypeTimeID;
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID;
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID;
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID;
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID;
-struct __pyx_obj_4h5py_3h5t_TypeStringID;
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID;
-struct __pyx_obj_4h5py_3h5r_Reference;
-struct __pyx_obj_4h5py_3h5r_RegionReference;
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID;
-struct __pyx_obj_4h5py_3h5t_TypeEnumID;
-struct __pyx_obj_4h5py_3h5t_TypeArrayID;
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID;
-struct __pyx_obj_4h5py_3h5t_TypeFloatID;
-struct __pyx_obj_4h5py_3h5t_TypeVlenID;
-union __pyx_t_4h5py_3h5r_ref_u;
-
-/* "h5r.pxd":17
- *   ctypedef unsigned char hdset_reg_ref_t[12]
- * 
- * cdef union ref_u:             # <<<<<<<<<<<<<<
- *     hobj_ref_t         obj_ref
- *     hdset_reg_ref_t    reg_ref
- */
-union __pyx_t_4h5py_3h5r_ref_u {
-  hobj_ref_t obj_ref;
-  hdset_reg_ref_t reg_ref;
-};
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-struct __pyx_opt_args_4h5py_3h5t_py_create;
-
-/* "h5py/h5t.pxd":69
- * 
- * cpdef TypeID typewrap(hid_t id_)
- * cpdef TypeID py_create(object dtype, bint logical=*)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-struct __pyx_opt_args_4h5py_3h5t_py_create {
-  int __pyx_n;
-  int logical;
-};
-
-/* "_objects.pxd":12
- * from defs cimport *
- * 
- * cdef class ObjectID:             # <<<<<<<<<<<<<<
- * 
- *     cdef object __weakref__
- */
-struct __pyx_obj_4h5py_8_objects_ObjectID {
-  PyObject_HEAD
-  PyObject *__weakref__;
-  hid_t id;
-  int locked;
-  PyObject *_hash;
-};
-
-
-/* "h5py/h5t.pxd":14
- * from _objects cimport class ObjectID
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self)
- */
-struct __pyx_obj_4h5py_3h5t_TypeID {
-  struct __pyx_obj_4h5py_8_objects_ObjectID __pyx_base;
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtab;
-};
-
-
-/* "h5py/h5t.pxd":34
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeTimeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":40
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":37
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":45
- * # --- Numeric atomic types ---
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":48
- *     pass
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":26
- *     pass
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- *     # Both vlen and fixed-len strings
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeStringID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":23
- *     pass
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5r.pxd":21
- *     hdset_reg_ref_t    reg_ref
- * 
- * cdef class Reference:             # <<<<<<<<<<<<<<
- * 
- *     cdef ref_u ref
- */
-struct __pyx_obj_4h5py_3h5r_Reference {
-  PyObject_HEAD
-  union __pyx_t_4h5py_3h5r_ref_u ref;
-  int typecode;
-  size_t typesize;
-};
-
-
-/* "h5r.pxd":27
- *     cdef readonly size_t typesize
- * 
- * cdef class RegionReference(Reference):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5r_RegionReference {
-  struct __pyx_obj_4h5py_3h5r_Reference __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":56
- * # --- Enums & compound types ---
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":59
- *     pass
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- */
-struct __pyx_obj_4h5py_3h5t_TypeEnumID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":20
- * # --- Top-level classes ---
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeArrayID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":63
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":51
- *     pass
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- *     pass
- * 
- */
-struct __pyx_obj_4h5py_3h5t_TypeFloatID {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-
-
-/* "h5py/h5t.pxd":30
- *     pass
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- *     # Non-string vlens
- *     pass
- */
-struct __pyx_obj_4h5py_3h5t_TypeVlenID {
-  struct __pyx_obj_4h5py_3h5t_TypeID __pyx_base;
-};
-
-
-
-/* "h5py/h5t.pyx":291
- * # === Base type class =========================================================
- * 
- * cdef class TypeID(ObjectID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeID {
-  PyObject *(*py_dtype)(struct __pyx_obj_4h5py_3h5t_TypeID *);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeID *__pyx_vtabptr_4h5py_3h5t_TypeID;
-
-
-/* "h5py/h5t.pyx":904
- * # === Composite types (enums and compound) ====================================
- * 
- * cdef class TypeCompositeID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
-
-
-/* "h5py/h5t.pyx":950
- * 
- * 
- * cdef class TypeCompoundID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID *__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
-
-
-/* "h5py/h5t.pyx":511
- * 
- * 
- * cdef class TypeOpaqueID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID *__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
-
-
-/* "h5py/h5t.pyx":468
- * # === Top-level classes (inherit directly from TypeID) ========================
- * 
- * cdef class TypeArrayID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID *__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
-
-
-/* "h5py/h5t.pyx":660
- * # === Numeric classes (integers and floats) ===================================
- * 
- * cdef class TypeAtomicID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
-
-
-/* "h5py/h5t.pyx":748
- * 
- * 
- * cdef class TypeIntegerID(TypeAtomicID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID *__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
-
-
-/* "h5py/h5t.pyx":643
- *     pass
- * 
- * cdef class TypeReferenceID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID *__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
-
-
-/* "h5py/h5t.pyx":546
- *         return dtype("|V" + str(self.get_size()))
- * 
- * cdef class TypeStringID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID *__pyx_vtabptr_4h5py_3h5t_TypeStringID;
-
-
-/* "h5py/h5t.pyx":788
- * 
- * 
- * cdef class TypeFloatID(TypeAtomicID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID *__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
-
-
-/* "h5py/h5t.pyx":629
- *     pass
- * 
- * cdef class TypeTimeID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID *__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
-
-
-/* "h5py/h5t.pyx":636
- *     pass
- * 
- * cdef class TypeBitfieldID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID *__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
-
-
-/* "h5py/h5t.pyx":622
- *         return dtype("|S" + str(self.get_size()))
- * 
- * cdef class TypeVlenID(TypeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_base;
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID *__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
-
-
-/* "h5py/h5t.pyx":1048
- *         return typeobj
- * 
- * cdef class TypeEnumID(TypeCompositeID):             # <<<<<<<<<<<<<<
- * 
- *     """
- */
-
-struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID {
-  struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_base;
-  int (*enum_convert)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int);
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-#if PY_MAJOR_VERSION >= 3
-static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
-    PyObject *value;
-    value = PyDict_GetItemWithError(d, key);
-    if (unlikely(!value)) {
-        if (!PyErr_Occurred())
-            PyErr_SetObject(PyExc_KeyError, key);
-        return NULL;
-    }
-    Py_INCREF(value);
-    return value;
-}
-#else
-    #define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
-#endif
-
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
-    PyObject *r;
-    if (!j) return NULL;
-    r = PyObject_GetItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-#define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_List_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
-        PyObject *r = PyList_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Tuple_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
-        PyObject *r = PyTuple_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (PyList_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
-            PyObject *r = PyList_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    }
-    else if (PyTuple_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
-            PyObject *r = PyTuple_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    } else {  /* inlined PySequence_GetItem() */
-        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-        if (likely(m && m->sq_item)) {
-            if (unlikely(i < 0) && likely(m->sq_length)) {
-                Py_ssize_t l = m->sq_length(o);
-                if (unlikely(l < 0)) return NULL;
-                i += l;
-            }
-            return m->sq_item(o, i);
-        }
-    }
-#else
-    if (PySequence_Check(o)) {
-        return PySequence_GetItem(o, i);
-    }
-#endif
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-}
-
-#if CYTHON_COMPILING_IN_CPYTHON
-static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
-    PyListObject* L = (PyListObject*) list;
-    Py_ssize_t len = Py_SIZE(list);
-    if (likely(L->allocated > len)) {
-        Py_INCREF(x);
-        PyList_SET_ITEM(list, len, x);
-        Py_SIZE(list) = len+1;
-        return 0;
-    }
-    return PyList_Append(list, x);
-}
-#else
-#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
-#endif
-
-static CYTHON_INLINE int __Pyx_IterFinish(void); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
-
-static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
-
-static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
-
-static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/
-
-static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); /*proto*/
-
-static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** value1, PyObject** value2,
-                                             int is_tuple, int has_known_size, int decref_tuple);
-
-static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name,
-                                                   Py_ssize_t* p_orig_length, int* p_is_dict);
-static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos,
-                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict);
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(PyObject *kwdict, const char* function_name, int kw_allowed); /*proto*/
-
-static CYTHON_INLINE int __Pyx_PySequence_Contains(PyObject* item, PyObject* seq, int eq) {
-    int result = PySequence_Contains(seq, item);
-    return unlikely(result < 0) ? result : (result == (eq == Py_EQ));
-}
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc);
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse);
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_dealloc);
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); /*proto*/
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name);
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_SetVtable(PyObject *dict, void *vtable); /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static hid_t (*__pyx_f_4h5py_4defs_H5Tcreate)(enum H5T_class_t, size_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Topen)(hid_t, char *); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Tcommitted)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tcopy)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Tequal)(hid_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tlock)(hid_t); /*proto*/
-static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_class)(hid_t); /*proto*/
-static size_t (*__pyx_f_4h5py_4defs_H5Tget_size)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tget_super)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Tdetect_class)(hid_t, enum H5T_class_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tclose)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tconvert)(hid_t, hid_t, size_t, void *, void *, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_size)(hid_t, size_t); /*proto*/
-static H5T_order_t (*__pyx_f_4h5py_4defs_H5Tget_order)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_order)(hid_t, H5T_order_t); /*proto*/
-static hsize_t (*__pyx_f_4h5py_4defs_H5Tget_precision)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_precision)(hid_t, size_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Tget_offset)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_offset)(hid_t, size_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tget_pad)(hid_t, H5T_pad_t *, H5T_pad_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_pad)(hid_t, H5T_pad_t, H5T_pad_t); /*proto*/
-static H5T_sign_t (*__pyx_f_4h5py_4defs_H5Tget_sign)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_sign)(hid_t, H5T_sign_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tget_fields)(hid_t, size_t *, size_t *, size_t *, size_t *, size_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_fields)(hid_t, size_t, size_t, size_t, size_t, size_t); /*proto*/
-static size_t (*__pyx_f_4h5py_4defs_H5Tget_ebias)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_ebias)(hid_t, size_t); /*proto*/
-static H5T_norm_t (*__pyx_f_4h5py_4defs_H5Tget_norm)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_norm)(hid_t, H5T_norm_t); /*proto*/
-static H5T_pad_t (*__pyx_f_4h5py_4defs_H5Tget_inpad)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_inpad)(hid_t, H5T_pad_t); /*proto*/
-static H5T_cset_t (*__pyx_f_4h5py_4defs_H5Tget_cset)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_cset)(hid_t, H5T_cset_t); /*proto*/
-static H5T_str_t (*__pyx_f_4h5py_4defs_H5Tget_strpad)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_strpad)(hid_t, H5T_str_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tvlen_create)(hid_t); /*proto*/
-static htri_t (*__pyx_f_4h5py_4defs_H5Tis_variable_str)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Tget_nmembers)(hid_t); /*proto*/
-static enum H5T_class_t (*__pyx_f_4h5py_4defs_H5Tget_member_class)(hid_t, int); /*proto*/
-static char *(*__pyx_f_4h5py_4defs_H5Tget_member_name)(hid_t, unsigned int); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tget_member_type)(hid_t, unsigned int); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Tget_member_offset)(hid_t, int); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Tget_member_index)(hid_t, char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tinsert)(hid_t, char *, size_t, hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tpack)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tenum_create)(hid_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_insert)(hid_t, char *, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_nameof)(hid_t, void *, char *, size_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tenum_valueof)(hid_t, char *, void *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tget_member_value)(hid_t, unsigned int, void *); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tarray_create)(hid_t, int, hsize_t *, int *); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Tget_array_ndims)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Tget_array_dims)(hid_t, hsize_t *, int *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tset_tag)(hid_t, char *); /*proto*/
-static char *(*__pyx_f_4h5py_4defs_H5Tget_tag)(hid_t); /*proto*/
-static hid_t (*__pyx_f_4h5py_4defs_H5Tdecode)(unsigned char *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tencode)(hid_t, unsigned char *, size_t *); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Tcommit2)(hid_t, char *, hid_t, hid_t, hid_t, hid_t); /*proto*/
-static H5T_conv_t (*__pyx_f_4h5py_4defs_H5Tfind)(hid_t, hid_t, H5T_cdata_t **); /*proto*/
-
-/* Module declarations from 'h5py._objects' */
-static PyTypeObject *__pyx_ptype_4h5py_8_objects_ObjectID = 0;
-static hid_t (*__pyx_f_4h5py_8_objects_pdefault)(struct __pyx_obj_4h5py_8_objects_ObjectID *); /*proto*/
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.h5r' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5r_Reference = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5r_RegionReference = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *(*__pyx_f_4h5py_5utils_emalloc)(size_t); /*proto*/
-static void (*__pyx_f_4h5py_5utils_efree)(void *); /*proto*/
-static int (*__pyx_f_4h5py_5utils_convert_tuple)(PyObject *, hsize_t *, hsize_t); /*proto*/
-static PyObject *(*__pyx_f_4h5py_5utils_convert_dims)(hsize_t *, hsize_t); /*proto*/
-static int (*__pyx_f_4h5py_5utils_require_tuple)(PyObject *, int, int, char *); /*proto*/
-
-/* Module declarations from 'h5py.h5t' */
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeArrayID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeOpaqueID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeStringID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeVlenID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeTimeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeBitfieldID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeReferenceID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeAtomicID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeIntegerID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeFloatID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompositeID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeEnumID = 0;
-static PyTypeObject *__pyx_ptype_4h5py_3h5t_TypeCompoundID = 0;
-static PyObject *__pyx_v_4h5py_3h5t__order_map = 0;
-static PyObject *__pyx_v_4h5py_3h5t__sign_map = 0;
-static PyObject *__pyx_v_4h5py_3h5t__float_le = 0;
-static PyObject *__pyx_v_4h5py_3h5t__float_be = 0;
-static PyObject *__pyx_v_4h5py_3h5t__float_nt = 0;
-static PyObject *__pyx_v_4h5py_3h5t__int_le = 0;
-static PyObject *__pyx_v_4h5py_3h5t__int_be = 0;
-static PyObject *__pyx_v_4h5py_3h5t__int_nt = 0;
-static PyObject *__pyx_v_4h5py_3h5t__uint_le = 0;
-static PyObject *__pyx_v_4h5py_3h5t__uint_be = 0;
-static PyObject *__pyx_v_4h5py_3h5t__uint_nt = 0;
-static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_typewrap(hid_t, int __pyx_skip_dispatch); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_py_create(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args); /*proto*/
-static PyObject *__pyx_f_4h5py_3h5t_lockid(hid_t); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_f_4h5py_3h5t__c_float(PyArray_Descr *); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_f_4h5py_3h5t__c_int(PyArray_Descr *); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_enum(PyArray_Descr *, PyObject *); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_bool(PyArray_Descr *); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_f_4h5py_3h5t__c_array(PyArray_Descr *, int); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_f_4h5py_3h5t__c_opaque(PyArray_Descr *); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_string(PyArray_Descr *); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_complex(PyArray_Descr *); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_compound(PyArray_Descr *, int); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_str(void); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_unicode(void); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_f_4h5py_3h5t__c_ref(PyObject *); /*proto*/
-static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_enum(PyObject *, PyObject *, int __pyx_skip_dispatch); /*proto*/
-static PyObject *__pyx_f_4h5py_3h5t_py_get_enum(PyObject *, int __pyx_skip_dispatch); /*proto*/
-static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_vlen(PyObject *, int __pyx_skip_dispatch); /*proto*/
-static PyObject *__pyx_f_4h5py_3h5t_py_get_vlen(PyObject *, int __pyx_skip_dispatch); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.h5t"
-int __pyx_module_is_main_h5py__h5t = 0;
-
-/* Implementation of 'h5py.h5t' */
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_NotImplemented;
-static PyObject *__pyx_builtin_zip;
-static PyObject *__pyx_builtin_xrange;
-static PyObject *__pyx_builtin_UnicodeDecodeError;
-static PyObject *__pyx_builtin_KeyError;
-static PyObject *__pyx_builtin_sorted;
-static PyObject *__pyx_builtin_NotImplementedError;
-static PyObject *__pyx_pf_4h5py_3h5t_typewrap(CYTHON_UNUSED PyObject *__pyx_self, hid_t __pyx_v_id_); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_2create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_classtype, size_t __pyx_v_size); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_4open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6array_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base, PyObject *__pyx_v_dims_tpl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_8enum_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_10vlen_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12decode(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_buf); /* proto */
-static Py_hash_t __pyx_pf_4h5py_3h5t_6TypeID___hash__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_4__copy__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_6commit(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_8committed(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_10copy(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_12equal(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_typeid); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_14lock(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_16get_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_18set_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, size_t __pyx_v_size); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_20get_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_22get_super(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_24detect_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, int __pyx_v_classtype); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_26_close(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_28encode(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, char *__pyx_v_state); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self, char *__pyx_v_tag); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_cset); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_pad); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_order); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_precision); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_offset); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_lsb, int __pyx_v_msb); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self, int __pyx_v_sign); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_spos, size_t __pyx_v_epos, size_t __pyx_v_esize, size_t __pyx_v_mpos, size_t __pyx_v_msize); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_ebias); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_norm); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_pad_code); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, int __pyx_v_member); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, char *__pyx_v_name, size_t __pyx_v_offset, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name, PY_LONG_LONG __pyx_v_value); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG __pyx_v_value); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, int __pyx_v_idx); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_14py_create(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dtype_in, int __pyx_v_logical); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_16special_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_18check_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_20convert(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst, size_t __pyx_v_n, PyArrayObject *__pyx_v_buf, PyArrayObject *__pyx_v_bkg, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_22find(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_24py_new_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_26py_get_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_28py_new_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kind); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5t_30py_get_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /* proto */
-static char __pyx_k_1[] = "Class must be COMPOUND or OPAQUE.";
-static char __pyx_k_3[] = "Only locked or committed types can be hashed";
-static char __pyx_k_5[] = "No NumPy equivalent for %s exists";
-static char __pyx_k_7[] = "|V";
-static char __pyx_k_8[] = "Unknown string encoding (value %d)";
-static char __pyx_k_9[] = "|S";
-static char __pyx_k_10[] = "Unknown reference type";
-static char __pyx_k_13[] = "Member index must be non-negative.";
-static char __pyx_k_19[] = "This type (class %d) is not of class ENUM";
-static char __pyx_k_20[] = "Index must be non-negative.";
-static char __pyx_k_25[] = "Unsupported float size (%s)";
-static char __pyx_k_26[] = "Illegal int kind \"%s\"";
-static char __pyx_k_27[] = "Unsupported integer size (%s)";
-static char __pyx_k_28[] = "Array shape for dtype must be a sequence or integer";
-static char __pyx_k_30[] = "Illegal length %d for complex dtype";
-static char __pyx_k_32[] = "Unrecognized reference code";
-static char __pyx_k_34[] = "Object dtype %r has no native HDF5 equivalent";
-static char __pyx_k_35[] = "No conversion path for dtype: %s";
-static char __pyx_k_36[] = "Exactly one keyword may be provided";
-static char __pyx_k_38[] = "Only byte or unicode string vlens are currently supported";
-static char __pyx_k_40[] = "Enums must be created from a 2-tuple (basetype, values_dict)";
-static char __pyx_k_42[] = "Only integer types can be used as enums";
-static char __pyx_k_44[] = "Ref class must be Reference or RegionReference";
-static char __pyx_k_46[] = "Unknown special type \"%s\"";
-static char __pyx_k_48[] = " A Numpy-style dtype object representing this object.\n        ";
-static char __pyx_k_49[] = "\n    HDF5 \"H5T\" data-type API\n\n    This module contains the datatype identifier class TypeID, and its\n    subclasses which represent things like integer/float/compound identifiers.\n    The majority of the H5T API is presented as methods on these identifiers.\n";
-static char __pyx_k_53[] = "|";
-static char __pyx_k_54[] = "<";
-static char __pyx_k_55[] = ">";
-static char __pyx_k_58[] = "/home/computer/h5py/h5py/h5t.pyx";
-static char __pyx_k_59[] = "h5py.h5t";
-static char __pyx_k__3[] = "3";
-static char __pyx_k__O[] = "O";
-static char __pyx_k__c[] = "c";
-static char __pyx_k__f[] = "f";
-static char __pyx_k__i[] = "i";
-static char __pyx_k__n[] = "n";
-static char __pyx_k__u[] = "u";
-static char __pyx_k__dt[] = "dt";
-static char __pyx_k__f4[] = "f4";
-static char __pyx_k__h5[] = "h5";
-static char __pyx_k__id[] = "id";
-static char __pyx_k__iu[] = "iu";
-static char __pyx_k__np[] = "np";
-static char __pyx_k__PY3[] = "PY3";
-static char __pyx_k__bkg[] = "bkg";
-static char __pyx_k__buf[] = "buf";
-static char __pyx_k__cfg[] = "cfg";
-static char __pyx_k__dst[] = "dst";
-static char __pyx_k__lsb[] = "lsb";
-static char __pyx_k__msb[] = "msb";
-static char __pyx_k__ref[] = "ref";
-static char __pyx_k__src[] = "src";
-static char __pyx_k__str[] = "str";
-static char __pyx_k__sys[] = "sys";
-static char __pyx_k__tpl[] = "tpl";
-static char __pyx_k__val[] = "val";
-static char __pyx_k__zip[] = "zip";
-static char __pyx_k__C_S1[] = "C_S1";
-static char __pyx_k__ENUM[] = "ENUM";
-static char __pyx_k__TIME[] = "TIME";
-static char __pyx_k__VLEN[] = "VLEN";
-static char __pyx_k__base[] = "base";
-static char __pyx_k__bkg_[] = "bkg_";
-static char __pyx_k__bool[] = "bool";
-static char __pyx_k__buf_[] = "buf_";
-static char __pyx_k__copy[] = "copy";
-static char __pyx_k__data[] = "data";
-static char __pyx_k__dims[] = "dims";
-static char __pyx_k__dxpl[] = "dxpl";
-static char __pyx_k__enum[] = "enum";
-static char __pyx_k__epos[] = "epos";
-static char __pyx_k__find[] = "find";
-static char __pyx_k__h5py[] = "h5py";
-static char __pyx_k__kind[] = "kind";
-static char __pyx_k__kwds[] = "kwds";
-static char __pyx_k__lcpl[] = "lcpl";
-static char __pyx_k__lock[] = "lock";
-static char __pyx_k__mpos[] = "mpos";
-static char __pyx_k__name[] = "name";
-static char __pyx_k__open[] = "open";
-static char __pyx_k__rank[] = "rank";
-static char __pyx_k__size[] = "size";
-static char __pyx_k__spos[] = "spos";
-static char __pyx_k__type[] = "type";
-static char __pyx_k__utf8[] = "utf8";
-static char __pyx_k__vals[] = "vals";
-static char __pyx_k__vlen[] = "vlen";
-static char __pyx_k__ARRAY[] = "ARRAY";
-static char __pyx_k__FLOAT[] = "FLOAT";
-static char __pyx_k__SGN_2[] = "SGN_2";
-static char __pyx_k___conv[] = "_conv";
-static char __pyx_k__ascii[] = "ascii";
-static char __pyx_k__dt_in[] = "dt_in";
-static char __pyx_k__dtype[] = "dtype";
-static char __pyx_k__equal[] = "equal";
-static char __pyx_k__esize[] = "esize";
-static char __pyx_k__field[] = "field";
-static char __pyx_k__group[] = "group";
-static char __pyx_k__msize[] = "msize";
-static char __pyx_k__names[] = "names";
-static char __pyx_k__numpy[] = "numpy";
-static char __pyx_k__range[] = "range";
-static char __pyx_k__value[] = "value";
-static char __pyx_k__BKG_NO[] = "BKG_NO";
-static char __pyx_k__OPAQUE[] = "OPAQUE";
-static char __pyx_k__STRING[] = "STRING";
-static char __pyx_k__create[] = "create";
-static char __pyx_k__decode[] = "decode";
-static char __pyx_k__encode[] = "encode";
-static char __pyx_k__fields[] = "fields";
-static char __pyx_k__little[] = "little";
-static char __pyx_k__offset[] = "offset";
-static char __pyx_k__result[] = "result";
-static char __pyx_k__sorted[] = "sorted";
-static char __pyx_k__xrange[] = "xrange";
-static char __pyx_k__BKG_YES[] = "BKG_YES";
-static char __pyx_k__INTEGER[] = "INTEGER";
-static char __pyx_k__PAD_ONE[] = "PAD_ONE";
-static char __pyx_k___f_name[] = "_f_name";
-static char __pyx_k___i_name[] = "_i_name";
-static char __pyx_k___r_name[] = "_r_name";
-static char __pyx_k___t_name[] = "_t_name";
-static char __pyx_k__convert[] = "convert";
-static char __pyx_k__float16[] = "float16";
-static char __pyx_k__hintkey[] = "hintkey";
-static char __pyx_k__logical[] = "logical";
-static char __pyx_k__popitem[] = "popitem";
-static char __pyx_k__version[] = "version";
-static char __pyx_k__BITFIELD[] = "BITFIELD";
-static char __pyx_k__BKG_TEMP[] = "BKG_TEMP";
-static char __pyx_k__COMPOUND[] = "COMPOUND";
-static char __pyx_k__KeyError[] = "KeyError";
-static char __pyx_k__NO_CLASS[] = "NO_CLASS";
-static char __pyx_k__ORDER_BE[] = "ORDER_BE";
-static char __pyx_k__ORDER_LE[] = "ORDER_LE";
-static char __pyx_k__PAD_ZERO[] = "PAD_ZERO";
-static char __pyx_k__SGN_NONE[] = "SGN_NONE";
-static char __pyx_k__STD_I8BE[] = "STD_I8BE";
-static char __pyx_k__STD_I8LE[] = "STD_I8LE";
-static char __pyx_k__STD_U8BE[] = "STD_U8BE";
-static char __pyx_k__STD_U8LE[] = "STD_U8LE";
-static char __pyx_k__VARIABLE[] = "VARIABLE";
-static char __pyx_k____copy__[] = "__copy__";
-static char __pyx_k____hash__[] = "__hash__";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____name__[] = "__name__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__dims_tpl[] = "dims_tpl";
-static char __pyx_k__dtype_in[] = "dtype_in";
-static char __pyx_k__get_cset[] = "get_cset";
-static char __pyx_k__get_sign[] = "get_sign";
-static char __pyx_k__get_size[] = "get_size";
-static char __pyx_k__itemsize[] = "itemsize";
-static char __pyx_k__set_size[] = "set_size";
-static char __pyx_k__subdtype[] = "subdtype";
-static char __pyx_k__warnings[] = "warnings";
-static char __pyx_k__CSET_UTF8[] = "CSET_UTF8";
-static char __pyx_k__NORM_NONE[] = "NORM_NONE";
-static char __pyx_k__ORDER_VAX[] = "ORDER_VAX";
-static char __pyx_k__REFERENCE[] = "REFERENCE";
-static char __pyx_k__STD_I16BE[] = "STD_I16BE";
-static char __pyx_k__STD_I16LE[] = "STD_I16LE";
-static char __pyx_k__STD_I32BE[] = "STD_I32BE";
-static char __pyx_k__STD_I32LE[] = "STD_I32LE";
-static char __pyx_k__STD_I64BE[] = "STD_I64BE";
-static char __pyx_k__STD_I64LE[] = "STD_I64LE";
-static char __pyx_k__STD_U16BE[] = "STD_U16BE";
-static char __pyx_k__STD_U16LE[] = "STD_U16LE";
-static char __pyx_k__STD_U32BE[] = "STD_U32BE";
-static char __pyx_k__STD_U32LE[] = "STD_U32LE";
-static char __pyx_k__STD_U64BE[] = "STD_U64BE";
-static char __pyx_k__STD_U64LE[] = "STD_U64LE";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k____class__[] = "__class__";
-static char __pyx_k__byteorder[] = "byteorder";
-static char __pyx_k__classtype[] = "classtype";
-static char __pyx_k__enum_vals[] = "enum_vals";
-static char __pyx_k__get_order[] = "get_order";
-static char __pyx_k__get_super[] = "get_super";
-static char __pyx_k__hint_dict[] = "hint_dict";
-static char __pyx_k__iteritems[] = "iteritems";
-static char __pyx_k__py_create[] = "py_create";
-static char __pyx_k__set_ebias[] = "set_ebias";
-static char __pyx_k__set_order[] = "set_order";
-static char __pyx_k__CSET_ASCII[] = "CSET_ASCII";
-static char __pyx_k__DIR_ASCEND[] = "DIR_ASCEND";
-static char __pyx_k__FORTRAN_S1[] = "FORTRAN_S1";
-static char __pyx_k__IEEE_F16BE[] = "IEEE_F16BE";
-static char __pyx_k__IEEE_F16LE[] = "IEEE_F16LE";
-static char __pyx_k__IEEE_F32BE[] = "IEEE_F32BE";
-static char __pyx_k__IEEE_F32LE[] = "IEEE_F32LE";
-static char __pyx_k__IEEE_F64BE[] = "IEEE_F64BE";
-static char __pyx_k__IEEE_F64LE[] = "IEEE_F64LE";
-static char __pyx_k__ORDER_NONE[] = "ORDER_NONE";
-static char __pyx_k__UNIX_D32BE[] = "UNIX_D32BE";
-static char __pyx_k__UNIX_D32LE[] = "UNIX_D32LE";
-static char __pyx_k__UNIX_D64BE[] = "UNIX_D64BE";
-static char __pyx_k__UNIX_D64LE[] = "UNIX_D64LE";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__get_config[] = "get_config";
-static char __pyx_k__longdouble[] = "longdouble";
-static char __pyx_k__set_fields[] = "set_fields";
-static char __pyx_k__DIR_DEFAULT[] = "DIR_DEFAULT";
-static char __pyx_k__DIR_DESCEND[] = "DIR_DESCEND";
-static char __pyx_k__NATIVE_INT8[] = "NATIVE_INT8";
-static char __pyx_k__NORM_MSBSET[] = "NORM_MSBSET";
-static char __pyx_k__STD_REF_OBJ[] = "STD_REF_OBJ";
-static char __pyx_k__STR_NULLPAD[] = "STR_NULLPAD";
-static char __pyx_k__check_dtype[] = "check_dtype";
-static char __pyx_k__enum_create[] = "enum_create";
-static char __pyx_k__enum_insert[] = "enum_insert";
-static char __pyx_k__vlen_create[] = "vlen_create";
-static char __pyx_k__NATIVE_FLOAT[] = "NATIVE_FLOAT";
-static char __pyx_k__NATIVE_INT16[] = "NATIVE_INT16";
-static char __pyx_k__NATIVE_INT32[] = "NATIVE_INT32";
-static char __pyx_k__NATIVE_INT64[] = "NATIVE_INT64";
-static char __pyx_k__NATIVE_UINT8[] = "NATIVE_UINT8";
-static char __pyx_k__NORM_IMPLIED[] = "NORM_IMPLIED";
-static char __pyx_k__ORDER_NATIVE[] = "ORDER_NATIVE";
-static char __pyx_k__STR_NULLTERM[] = "STR_NULLTERM";
-static char __pyx_k__STR_SPACEPAD[] = "STR_SPACEPAD";
-static char __pyx_k__array_create[] = "array_create";
-static char __pyx_k__detect_class[] = "detect_class";
-static char __pyx_k__get_nmembers[] = "get_nmembers";
-static char __pyx_k__version_info[] = "version_info";
-static char __pyx_k__NATIVE_DOUBLE[] = "NATIVE_DOUBLE";
-static char __pyx_k__NATIVE_UINT16[] = "NATIVE_UINT16";
-static char __pyx_k__NATIVE_UINT32[] = "NATIVE_UINT32";
-static char __pyx_k__NATIVE_UINT64[] = "NATIVE_UINT64";
-static char __pyx_k__PYTHON_OBJECT[] = "PYTHON_OBJECT";
-static char __pyx_k__special_dtype[] = "special_dtype";
-static char __pyx_k__NotImplemented[] = "NotImplemented";
-static char __pyx_k__PAD_BACKGROUND[] = "PAD_BACKGROUND";
-static char __pyx_k__get_array_dims[] = "get_array_dims";
-static char __pyx_k__get_python_obj[] = "get_python_obj";
-static char __pyx_k__STD_REF_DSETREG[] = "STD_REF_DSETREG";
-static char __pyx_k__get_member_name[] = "get_member_name";
-static char __pyx_k__get_member_type[] = "get_member_type";
-static char __pyx_k__is_variable_str[] = "is_variable_str";
-static char __pyx_k__get_member_value[] = "get_member_value";
-static char __pyx_k__UnicodeDecodeError[] = "UnicodeDecodeError";
-static char __pyx_k__NotImplementedError[] = "NotImplementedError";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_10;
-static PyObject *__pyx_kp_s_13;
-static PyObject *__pyx_kp_s_19;
-static PyObject *__pyx_kp_s_20;
-static PyObject *__pyx_kp_s_25;
-static PyObject *__pyx_kp_s_26;
-static PyObject *__pyx_kp_s_27;
-static PyObject *__pyx_kp_s_28;
-static PyObject *__pyx_kp_s_3;
-static PyObject *__pyx_kp_s_30;
-static PyObject *__pyx_kp_s_32;
-static PyObject *__pyx_kp_s_34;
-static PyObject *__pyx_kp_s_35;
-static PyObject *__pyx_kp_s_36;
-static PyObject *__pyx_kp_s_38;
-static PyObject *__pyx_kp_s_40;
-static PyObject *__pyx_kp_s_42;
-static PyObject *__pyx_kp_s_44;
-static PyObject *__pyx_kp_s_46;
-static PyObject *__pyx_kp_s_5;
-static PyObject *__pyx_kp_s_53;
-static PyObject *__pyx_kp_s_54;
-static PyObject *__pyx_kp_s_55;
-static PyObject *__pyx_kp_s_58;
-static PyObject *__pyx_n_s_59;
-static PyObject *__pyx_kp_s_7;
-static PyObject *__pyx_kp_s_8;
-static PyObject *__pyx_kp_s_9;
-static PyObject *__pyx_kp_s__3;
-static PyObject *__pyx_n_s__ARRAY;
-static PyObject *__pyx_n_s__BITFIELD;
-static PyObject *__pyx_n_s__BKG_NO;
-static PyObject *__pyx_n_s__BKG_TEMP;
-static PyObject *__pyx_n_s__BKG_YES;
-static PyObject *__pyx_n_s__COMPOUND;
-static PyObject *__pyx_n_s__CSET_ASCII;
-static PyObject *__pyx_n_s__CSET_UTF8;
-static PyObject *__pyx_n_s__C_S1;
-static PyObject *__pyx_n_s__DIR_ASCEND;
-static PyObject *__pyx_n_s__DIR_DEFAULT;
-static PyObject *__pyx_n_s__DIR_DESCEND;
-static PyObject *__pyx_n_s__ENUM;
-static PyObject *__pyx_n_s__FLOAT;
-static PyObject *__pyx_n_s__FORTRAN_S1;
-static PyObject *__pyx_n_s__IEEE_F16BE;
-static PyObject *__pyx_n_s__IEEE_F16LE;
-static PyObject *__pyx_n_s__IEEE_F32BE;
-static PyObject *__pyx_n_s__IEEE_F32LE;
-static PyObject *__pyx_n_s__IEEE_F64BE;
-static PyObject *__pyx_n_s__IEEE_F64LE;
-static PyObject *__pyx_n_s__INTEGER;
-static PyObject *__pyx_n_s__KeyError;
-static PyObject *__pyx_n_s__NATIVE_DOUBLE;
-static PyObject *__pyx_n_s__NATIVE_FLOAT;
-static PyObject *__pyx_n_s__NATIVE_INT16;
-static PyObject *__pyx_n_s__NATIVE_INT32;
-static PyObject *__pyx_n_s__NATIVE_INT64;
-static PyObject *__pyx_n_s__NATIVE_INT8;
-static PyObject *__pyx_n_s__NATIVE_UINT16;
-static PyObject *__pyx_n_s__NATIVE_UINT32;
-static PyObject *__pyx_n_s__NATIVE_UINT64;
-static PyObject *__pyx_n_s__NATIVE_UINT8;
-static PyObject *__pyx_n_s__NORM_IMPLIED;
-static PyObject *__pyx_n_s__NORM_MSBSET;
-static PyObject *__pyx_n_s__NORM_NONE;
-static PyObject *__pyx_n_s__NO_CLASS;
-static PyObject *__pyx_n_s__NotImplemented;
-static PyObject *__pyx_n_s__NotImplementedError;
-static PyObject *__pyx_n_s__O;
-static PyObject *__pyx_n_s__OPAQUE;
-static PyObject *__pyx_n_s__ORDER_BE;
-static PyObject *__pyx_n_s__ORDER_LE;
-static PyObject *__pyx_n_s__ORDER_NATIVE;
-static PyObject *__pyx_n_s__ORDER_NONE;
-static PyObject *__pyx_n_s__ORDER_VAX;
-static PyObject *__pyx_n_s__PAD_BACKGROUND;
-static PyObject *__pyx_n_s__PAD_ONE;
-static PyObject *__pyx_n_s__PAD_ZERO;
-static PyObject *__pyx_n_s__PY3;
-static PyObject *__pyx_n_s__PYTHON_OBJECT;
-static PyObject *__pyx_n_s__REFERENCE;
-static PyObject *__pyx_n_s__SGN_2;
-static PyObject *__pyx_n_s__SGN_NONE;
-static PyObject *__pyx_n_s__STD_I16BE;
-static PyObject *__pyx_n_s__STD_I16LE;
-static PyObject *__pyx_n_s__STD_I32BE;
-static PyObject *__pyx_n_s__STD_I32LE;
-static PyObject *__pyx_n_s__STD_I64BE;
-static PyObject *__pyx_n_s__STD_I64LE;
-static PyObject *__pyx_n_s__STD_I8BE;
-static PyObject *__pyx_n_s__STD_I8LE;
-static PyObject *__pyx_n_s__STD_REF_DSETREG;
-static PyObject *__pyx_n_s__STD_REF_OBJ;
-static PyObject *__pyx_n_s__STD_U16BE;
-static PyObject *__pyx_n_s__STD_U16LE;
-static PyObject *__pyx_n_s__STD_U32BE;
-static PyObject *__pyx_n_s__STD_U32LE;
-static PyObject *__pyx_n_s__STD_U64BE;
-static PyObject *__pyx_n_s__STD_U64LE;
-static PyObject *__pyx_n_s__STD_U8BE;
-static PyObject *__pyx_n_s__STD_U8LE;
-static PyObject *__pyx_n_s__STRING;
-static PyObject *__pyx_n_s__STR_NULLPAD;
-static PyObject *__pyx_n_s__STR_NULLTERM;
-static PyObject *__pyx_n_s__STR_SPACEPAD;
-static PyObject *__pyx_n_s__TIME;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s__UNIX_D32BE;
-static PyObject *__pyx_n_s__UNIX_D32LE;
-static PyObject *__pyx_n_s__UNIX_D64BE;
-static PyObject *__pyx_n_s__UNIX_D64LE;
-static PyObject *__pyx_n_s__UnicodeDecodeError;
-static PyObject *__pyx_n_s__VARIABLE;
-static PyObject *__pyx_n_s__VLEN;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____class__;
-static PyObject *__pyx_n_s____copy__;
-static PyObject *__pyx_n_s____hash__;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____name__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___conv;
-static PyObject *__pyx_n_s___f_name;
-static PyObject *__pyx_n_s___i_name;
-static PyObject *__pyx_n_s___r_name;
-static PyObject *__pyx_n_s___t_name;
-static PyObject *__pyx_n_s__array_create;
-static PyObject *__pyx_n_s__ascii;
-static PyObject *__pyx_n_s__base;
-static PyObject *__pyx_n_s__bkg;
-static PyObject *__pyx_n_s__bkg_;
-static PyObject *__pyx_n_s__bool;
-static PyObject *__pyx_n_s__buf;
-static PyObject *__pyx_n_s__buf_;
-static PyObject *__pyx_n_s__byteorder;
-static PyObject *__pyx_n_s__c;
-static PyObject *__pyx_n_s__cfg;
-static PyObject *__pyx_n_s__check_dtype;
-static PyObject *__pyx_n_s__classtype;
-static PyObject *__pyx_n_s__convert;
-static PyObject *__pyx_n_s__copy;
-static PyObject *__pyx_n_s__create;
-static PyObject *__pyx_n_s__data;
-static PyObject *__pyx_n_s__decode;
-static PyObject *__pyx_n_s__detect_class;
-static PyObject *__pyx_n_s__dims;
-static PyObject *__pyx_n_s__dims_tpl;
-static PyObject *__pyx_n_s__dst;
-static PyObject *__pyx_n_s__dt;
-static PyObject *__pyx_n_s__dt_in;
-static PyObject *__pyx_n_s__dtype;
-static PyObject *__pyx_n_s__dtype_in;
-static PyObject *__pyx_n_s__dxpl;
-static PyObject *__pyx_n_s__encode;
-static PyObject *__pyx_n_s__enum;
-static PyObject *__pyx_n_s__enum_create;
-static PyObject *__pyx_n_s__enum_insert;
-static PyObject *__pyx_n_s__enum_vals;
-static PyObject *__pyx_n_s__epos;
-static PyObject *__pyx_n_s__equal;
-static PyObject *__pyx_n_s__esize;
-static PyObject *__pyx_n_s__f;
-static PyObject *__pyx_n_s__f4;
-static PyObject *__pyx_n_s__field;
-static PyObject *__pyx_n_s__fields;
-static PyObject *__pyx_n_s__find;
-static PyObject *__pyx_n_s__float16;
-static PyObject *__pyx_n_s__get_array_dims;
-static PyObject *__pyx_n_s__get_config;
-static PyObject *__pyx_n_s__get_cset;
-static PyObject *__pyx_n_s__get_member_name;
-static PyObject *__pyx_n_s__get_member_type;
-static PyObject *__pyx_n_s__get_member_value;
-static PyObject *__pyx_n_s__get_nmembers;
-static PyObject *__pyx_n_s__get_order;
-static PyObject *__pyx_n_s__get_python_obj;
-static PyObject *__pyx_n_s__get_sign;
-static PyObject *__pyx_n_s__get_size;
-static PyObject *__pyx_n_s__get_super;
-static PyObject *__pyx_n_s__group;
-static PyObject *__pyx_n_s__h5;
-static PyObject *__pyx_n_s__h5py;
-static PyObject *__pyx_n_s__hint_dict;
-static PyObject *__pyx_n_s__hintkey;
-static PyObject *__pyx_n_s__i;
-static PyObject *__pyx_n_s__id;
-static PyObject *__pyx_n_s__is_variable_str;
-static PyObject *__pyx_n_s__itemsize;
-static PyObject *__pyx_n_s__iteritems;
-static PyObject *__pyx_n_s__iu;
-static PyObject *__pyx_n_s__kind;
-static PyObject *__pyx_n_s__kwds;
-static PyObject *__pyx_n_s__lcpl;
-static PyObject *__pyx_n_s__little;
-static PyObject *__pyx_n_s__lock;
-static PyObject *__pyx_n_s__logical;
-static PyObject *__pyx_n_s__longdouble;
-static PyObject *__pyx_n_s__lsb;
-static PyObject *__pyx_n_s__mpos;
-static PyObject *__pyx_n_s__msb;
-static PyObject *__pyx_n_s__msize;
-static PyObject *__pyx_n_s__n;
-static PyObject *__pyx_n_s__name;
-static PyObject *__pyx_n_s__names;
-static PyObject *__pyx_n_s__np;
-static PyObject *__pyx_n_s__numpy;
-static PyObject *__pyx_n_s__offset;
-static PyObject *__pyx_n_s__open;
-static PyObject *__pyx_n_s__popitem;
-static PyObject *__pyx_n_s__py_create;
-static PyObject *__pyx_n_s__range;
-static PyObject *__pyx_n_s__rank;
-static PyObject *__pyx_n_s__ref;
-static PyObject *__pyx_n_s__result;
-static PyObject *__pyx_n_s__set_ebias;
-static PyObject *__pyx_n_s__set_fields;
-static PyObject *__pyx_n_s__set_order;
-static PyObject *__pyx_n_s__set_size;
-static PyObject *__pyx_n_s__size;
-static PyObject *__pyx_n_s__sorted;
-static PyObject *__pyx_n_s__special_dtype;
-static PyObject *__pyx_n_s__spos;
-static PyObject *__pyx_n_s__src;
-static PyObject *__pyx_n_s__str;
-static PyObject *__pyx_n_s__subdtype;
-static PyObject *__pyx_n_s__sys;
-static PyObject *__pyx_n_s__tpl;
-static PyObject *__pyx_n_s__type;
-static PyObject *__pyx_n_s__u;
-static PyObject *__pyx_n_s__utf8;
-static PyObject *__pyx_n_s__val;
-static PyObject *__pyx_n_s__vals;
-static PyObject *__pyx_n_s__value;
-static PyObject *__pyx_n_s__version;
-static PyObject *__pyx_n_s__version_info;
-static PyObject *__pyx_n_s__vlen;
-static PyObject *__pyx_n_s__vlen_create;
-static PyObject *__pyx_n_s__warnings;
-static PyObject *__pyx_n_s__xrange;
-static PyObject *__pyx_n_s__zip;
-static PyObject *__pyx_int_0;
-static PyObject *__pyx_int_1;
-static PyObject *__pyx_int_2;
-static PyObject *__pyx_int_3;
-static PyObject *__pyx_int_4;
-static PyObject *__pyx_int_5;
-static PyObject *__pyx_int_8;
-static PyObject *__pyx_int_neg_1;
-static PyObject *__pyx_int_10;
-static PyObject *__pyx_int_15;
-static PyObject *__pyx_k_tuple_2;
-static PyObject *__pyx_k_tuple_4;
-static PyObject *__pyx_k_tuple_6;
-static PyObject *__pyx_k_tuple_11;
-static PyObject *__pyx_k_tuple_12;
-static PyObject *__pyx_k_tuple_14;
-static PyObject *__pyx_k_tuple_15;
-static PyObject *__pyx_k_tuple_16;
-static PyObject *__pyx_k_tuple_17;
-static PyObject *__pyx_k_tuple_18;
-static PyObject *__pyx_k_tuple_21;
-static PyObject *__pyx_k_tuple_22;
-static PyObject *__pyx_k_tuple_23;
-static PyObject *__pyx_k_tuple_24;
-static PyObject *__pyx_k_tuple_29;
-static PyObject *__pyx_k_tuple_31;
-static PyObject *__pyx_k_tuple_33;
-static PyObject *__pyx_k_tuple_37;
-static PyObject *__pyx_k_tuple_39;
-static PyObject *__pyx_k_tuple_41;
-static PyObject *__pyx_k_tuple_43;
-static PyObject *__pyx_k_tuple_45;
-static PyObject *__pyx_k_tuple_47;
-static PyObject *__pyx_k_tuple_50;
-static PyObject *__pyx_k_tuple_51;
-static PyObject *__pyx_k_tuple_52;
-static PyObject *__pyx_k_tuple_56;
-static PyObject *__pyx_k_tuple_60;
-static PyObject *__pyx_k_tuple_62;
-static PyObject *__pyx_k_tuple_64;
-static PyObject *__pyx_k_tuple_66;
-static PyObject *__pyx_k_tuple_68;
-static PyObject *__pyx_k_tuple_70;
-static PyObject *__pyx_k_tuple_72;
-static PyObject *__pyx_k_tuple_74;
-static PyObject *__pyx_k_tuple_76;
-static PyObject *__pyx_k_codeobj_57;
-static PyObject *__pyx_k_codeobj_61;
-static PyObject *__pyx_k_codeobj_63;
-static PyObject *__pyx_k_codeobj_65;
-static PyObject *__pyx_k_codeobj_67;
-static PyObject *__pyx_k_codeobj_69;
-static PyObject *__pyx_k_codeobj_71;
-static PyObject *__pyx_k_codeobj_73;
-static PyObject *__pyx_k_codeobj_75;
-static PyObject *__pyx_k_codeobj_77;
-
-/* "h5py/h5t.pyx":39
- * # === Custom C API ============================================================
- * 
- * cpdef TypeID typewrap(hid_t id_):             # <<<<<<<<<<<<<<
- * 
- *     cdef H5T_class_t cls
- */
-
-static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_typewrap(hid_t __pyx_v_id_, CYTHON_UNUSED int __pyx_skip_dispatch) {
-  enum H5T_class_t __pyx_v_cls;
-  PyObject *__pyx_v_pcls = NULL;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  enum H5T_class_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("typewrap", 0);
-
-  /* "h5py/h5t.pyx":42
- * 
- *     cdef H5T_class_t cls
- *     cls = H5Tget_class(id_)             # <<<<<<<<<<<<<<
- * 
- *     if cls == H5T_INTEGER:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_id_); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_cls = __pyx_t_1;
-
-  /* "h5py/h5t.pyx":44
- *     cls = H5Tget_class(id_)
- * 
- *     if cls == H5T_INTEGER:             # <<<<<<<<<<<<<<
- *         pcls = TypeIntegerID
- *     elif cls == H5T_FLOAT:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_INTEGER);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":45
- * 
- *     if cls == H5T_INTEGER:
- *         pcls = TypeIntegerID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_FLOAT:
- *         pcls = TypeFloatID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":46
- *     if cls == H5T_INTEGER:
- *         pcls = TypeIntegerID
- *     elif cls == H5T_FLOAT:             # <<<<<<<<<<<<<<
- *         pcls = TypeFloatID
- *     elif cls == H5T_TIME:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_FLOAT);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":47
- *         pcls = TypeIntegerID
- *     elif cls == H5T_FLOAT:
- *         pcls = TypeFloatID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_TIME:
- *         pcls = TypeTimeID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":48
- *     elif cls == H5T_FLOAT:
- *         pcls = TypeFloatID
- *     elif cls == H5T_TIME:             # <<<<<<<<<<<<<<
- *         pcls = TypeTimeID
- *     elif cls == H5T_STRING:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_TIME);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":49
- *         pcls = TypeFloatID
- *     elif cls == H5T_TIME:
- *         pcls = TypeTimeID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_STRING:
- *         pcls = TypeStringID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeTimeID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeTimeID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":50
- *     elif cls == H5T_TIME:
- *         pcls = TypeTimeID
- *     elif cls == H5T_STRING:             # <<<<<<<<<<<<<<
- *         pcls = TypeStringID
- *     elif cls == H5T_BITFIELD:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_STRING);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":51
- *         pcls = TypeTimeID
- *     elif cls == H5T_STRING:
- *         pcls = TypeStringID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_BITFIELD:
- *         pcls = TypeBitfieldID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":52
- *     elif cls == H5T_STRING:
- *         pcls = TypeStringID
- *     elif cls == H5T_BITFIELD:             # <<<<<<<<<<<<<<
- *         pcls = TypeBitfieldID
- *     elif cls == H5T_OPAQUE:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_BITFIELD);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":53
- *         pcls = TypeStringID
- *     elif cls == H5T_BITFIELD:
- *         pcls = TypeBitfieldID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_OPAQUE:
- *         pcls = TypeOpaqueID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeBitfieldID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeBitfieldID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":54
- *     elif cls == H5T_BITFIELD:
- *         pcls = TypeBitfieldID
- *     elif cls == H5T_OPAQUE:             # <<<<<<<<<<<<<<
- *         pcls = TypeOpaqueID
- *     elif cls == H5T_COMPOUND:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_OPAQUE);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":55
- *         pcls = TypeBitfieldID
- *     elif cls == H5T_OPAQUE:
- *         pcls = TypeOpaqueID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_COMPOUND:
- *         pcls = TypeCompoundID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeOpaqueID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeOpaqueID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":56
- *     elif cls == H5T_OPAQUE:
- *         pcls = TypeOpaqueID
- *     elif cls == H5T_COMPOUND:             # <<<<<<<<<<<<<<
- *         pcls = TypeCompoundID
- *     elif cls == H5T_REFERENCE:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_COMPOUND);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":57
- *         pcls = TypeOpaqueID
- *     elif cls == H5T_COMPOUND:
- *         pcls = TypeCompoundID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_REFERENCE:
- *         pcls = TypeReferenceID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":58
- *     elif cls == H5T_COMPOUND:
- *         pcls = TypeCompoundID
- *     elif cls == H5T_REFERENCE:             # <<<<<<<<<<<<<<
- *         pcls = TypeReferenceID
- *     elif cls == H5T_ENUM:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_REFERENCE);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":59
- *         pcls = TypeCompoundID
- *     elif cls == H5T_REFERENCE:
- *         pcls = TypeReferenceID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_ENUM:
- *         pcls = TypeEnumID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeReferenceID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeReferenceID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":60
- *     elif cls == H5T_REFERENCE:
- *         pcls = TypeReferenceID
- *     elif cls == H5T_ENUM:             # <<<<<<<<<<<<<<
- *         pcls = TypeEnumID
- *     elif cls == H5T_VLEN:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_ENUM);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":61
- *         pcls = TypeReferenceID
- *     elif cls == H5T_ENUM:
- *         pcls = TypeEnumID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_VLEN:
- *         pcls = TypeVlenID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":62
- *     elif cls == H5T_ENUM:
- *         pcls = TypeEnumID
- *     elif cls == H5T_VLEN:             # <<<<<<<<<<<<<<
- *         pcls = TypeVlenID
- *     elif cls == H5T_ARRAY:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_VLEN);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":63
- *         pcls = TypeEnumID
- *     elif cls == H5T_VLEN:
- *         pcls = TypeVlenID             # <<<<<<<<<<<<<<
- *     elif cls == H5T_ARRAY:
- *         pcls = TypeArrayID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeVlenID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeVlenID);
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":64
- *     elif cls == H5T_VLEN:
- *         pcls = TypeVlenID
- *     elif cls == H5T_ARRAY:             # <<<<<<<<<<<<<<
- *         pcls = TypeArrayID
- *     else:
- */
-  __pyx_t_2 = (__pyx_v_cls == H5T_ARRAY);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":65
- *         pcls = TypeVlenID
- *     elif cls == H5T_ARRAY:
- *         pcls = TypeArrayID             # <<<<<<<<<<<<<<
- *     else:
- *         pcls = TypeID
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID);
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5t.pyx":67
- *         pcls = TypeArrayID
- *     else:
- *         pcls = TypeID             # <<<<<<<<<<<<<<
- * 
- *     return pcls(id_)
- */
-    __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID)));
-    __pyx_v_pcls = ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID);
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":69
- *         pcls = TypeID
- * 
- *     return pcls(id_)             # <<<<<<<<<<<<<<
- * 
- * cdef object lockid(hid_t id_in):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_id_); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(((PyObject *)__pyx_v_pcls), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 69; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_pcls);
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5t_1typewrap(PyObject *__pyx_self, PyObject *__pyx_arg_id_) {
-  hid_t __pyx_v_id_;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("typewrap (wrapper)", 0);
-  assert(__pyx_arg_id_); {
-    __pyx_v_id_ = __Pyx_PyInt_from_py_hid_t(__pyx_arg_id_); if (unlikely((__pyx_v_id_ == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_typewrap(__pyx_self, ((hid_t)__pyx_v_id_));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":39
- * # === Custom C API ============================================================
- * 
- * cpdef TypeID typewrap(hid_t id_):             # <<<<<<<<<<<<<<
- * 
- *     cdef H5T_class_t cls
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_typewrap(CYTHON_UNUSED PyObject *__pyx_self, hid_t __pyx_v_id_) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("typewrap", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_v_id_, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5t.typewrap", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":71
- *     return pcls(id_)
- * 
- * cdef object lockid(hid_t id_in):             # <<<<<<<<<<<<<<
- *     cdef TypeID tid
- *     tid = typewrap(id_in)
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_lockid(hid_t __pyx_v_id_in) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tid = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("lockid", 0);
-
-  /* "h5py/h5t.pyx":73
- * cdef object lockid(hid_t id_in):
- *     cdef TypeID tid
- *     tid = typewrap(id_in)             # <<<<<<<<<<<<<<
- *     tid.locked = 1
- *     return tid
- */
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_v_id_in, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_tid = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":74
- *     cdef TypeID tid
- *     tid = typewrap(id_in)
- *     tid.locked = 1             # <<<<<<<<<<<<<<
- *     return tid
- * 
- */
-  __pyx_v_tid->__pyx_base.locked = 1;
-
-  /* "h5py/h5t.pyx":75
- *     tid = typewrap(id_in)
- *     tid.locked = 1
- *     return tid             # <<<<<<<<<<<<<<
- * 
- * # === Public constants and data structures ====================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_tid));
-  __pyx_r = ((PyObject *)__pyx_v_tid);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5t.lockid", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_tid);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_2create[] = "(INT classtype, UINT size) => TypeID\n        \n    Create a new HDF5 type object.  Legal class values are \n    COMPOUND and OPAQUE.  Use enum_create for enums.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5t_3create = {__Pyx_NAMESTR("create"), (PyCFunction)__pyx_pw_4h5py_3h5t_3create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_2create)};
-static PyObject *__pyx_pw_4h5py_3h5t_3create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_v_classtype;
-  size_t __pyx_v_size;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("create (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__classtype,&__pyx_n_s__size,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__classtype)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_classtype = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_classtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_size = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_2create(__pyx_self, __pyx_v_classtype, __pyx_v_size);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":219
- * 
- * 
- * def create(int classtype, size_t size):             # <<<<<<<<<<<<<<
- *     """(INT classtype, UINT size) => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_2create(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_classtype, size_t __pyx_v_size) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  hid_t __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create", 0);
-
-  /* "h5py/h5t.pyx":227
- * 
- *     # HDF5 versions 1.6.X segfault with anything else
- *     if classtype != H5T_COMPOUND and classtype != H5T_OPAQUE:             # <<<<<<<<<<<<<<
- *         raise ValueError("Class must be COMPOUND or OPAQUE.")
- * 
- */
-  __pyx_t_1 = (__pyx_v_classtype != H5T_COMPOUND);
-  if (__pyx_t_1) {
-    __pyx_t_2 = (__pyx_v_classtype != H5T_OPAQUE);
-    __pyx_t_3 = __pyx_t_2;
-  } else {
-    __pyx_t_3 = __pyx_t_1;
-  }
-  if (__pyx_t_3) {
-
-    /* "h5py/h5t.pyx":228
- *     # HDF5 versions 1.6.X segfault with anything else
- *     if classtype != H5T_COMPOUND and classtype != H5T_OPAQUE:
- *         raise ValueError("Class must be COMPOUND or OPAQUE.")             # <<<<<<<<<<<<<<
- * 
- *     return typewrap(H5Tcreate(<H5T_class_t>classtype, size))
- */
-    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":230
- *         raise ValueError("Class must be COMPOUND or OPAQUE.")
- * 
- *     return typewrap(H5Tcreate(<H5T_class_t>classtype, size))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tcreate(((enum H5T_class_t)__pyx_v_classtype), __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_4 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_5, 0)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 230; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_r = __pyx_t_4;
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t.create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_4open[] = "(ObjectID group, STRING name) => TypeID\n\n    Open a named datatype from a file.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5t_5open = {__Pyx_NAMESTR("open"), (PyCFunction)__pyx_pw_4h5py_3h5t_5open, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_4open)};
-static PyObject *__pyx_pw_4h5py_3h5t_5open(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group = 0;
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("open (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__group,&__pyx_n_s__name,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__group)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "open") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_group = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("open", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "group", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_4open(__pyx_self, __pyx_v_group, __pyx_v_name);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":233
- * 
- * 
- * def open(ObjectID group not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID group, STRING name) => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_4open(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("open", 0);
-
-  /* "h5py/h5t.pyx":238
- *     Open a named datatype from a file.
- *     """
- *     return typewrap(H5Topen(group.id, name))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Topen(__pyx_v_group->id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 238; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.open", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_7array_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6array_create[] = "(TypeID base, TUPLE dimensions) => TypeArrayID\n\n    Create a new array datatype, using and HDF5 parent type and\n    dimensions given via a tuple of positive integers.  \"Unlimited\" \n    dimensions are not allowed.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5t_7array_create = {__Pyx_NAMESTR("array_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_7array_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6array_create)};
-static PyObject *__pyx_pw_4h5py_3h5t_7array_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base = 0;
-  PyObject *__pyx_v_dims_tpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("array_create (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__base,&__pyx_n_s__dims_tpl,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__base)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dims_tpl)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("array_create", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "array_create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]);
-    __pyx_v_dims_tpl = values[1];
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("array_create", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.array_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_6array_create(__pyx_self, __pyx_v_base, __pyx_v_dims_tpl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":241
- * 
- * 
- * def array_create(TypeID base not None, object dims_tpl):             # <<<<<<<<<<<<<<
- *     """(TypeID base, TUPLE dimensions) => TypeArrayID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6array_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base, PyObject *__pyx_v_dims_tpl) {
-  hsize_t __pyx_v_rank;
-  hsize_t *__pyx_v_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  Py_ssize_t __pyx_t_2;
-  void *__pyx_t_3;
-  hid_t __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("array_create", 0);
-
-  /* "h5py/h5t.pyx":249
- *     """
- *     cdef hsize_t rank
- *     cdef hsize_t *dims = NULL             # <<<<<<<<<<<<<<
- * 
- *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5t.pyx":251
- *     cdef hsize_t *dims = NULL
- * 
- *     require_tuple(dims_tpl, 0, -1, "dims_tpl")             # <<<<<<<<<<<<<<
- *     rank = len(dims_tpl)
- *     dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_require_tuple(__pyx_v_dims_tpl, 0, -1, __pyx_k__dims_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 251; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":252
- * 
- *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
- *     rank = len(dims_tpl)             # <<<<<<<<<<<<<<
- *     dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- * 
- */
-  __pyx_t_2 = PyObject_Length(__pyx_v_dims_tpl); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 252; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_2;
-
-  /* "h5py/h5t.pyx":253
- *     require_tuple(dims_tpl, 0, -1, "dims_tpl")
- *     rank = len(dims_tpl)
- *     dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_t_3 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_3 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_dims = ((hsize_t *)__pyx_t_3);
-
-  /* "h5py/h5t.pyx":255
- *     dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         convert_tuple(dims_tpl, dims, rank)
- *         return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL))
- */
-  /*try:*/ {
-
-    /* "h5py/h5t.pyx":256
- * 
- *     try:
- *         convert_tuple(dims_tpl, dims, rank)             # <<<<<<<<<<<<<<
- *         return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL))
- *     finally:
- */
-    __pyx_t_1 = __pyx_f_4h5py_5utils_convert_tuple(__pyx_v_dims_tpl, __pyx_v_dims, __pyx_v_rank); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5t.pyx":257
- *     try:
- *         convert_tuple(dims_tpl, dims, rank)
- *         return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL))             # <<<<<<<<<<<<<<
- *     finally:
- *         efree(dims)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tarray_create(__pyx_v_base->__pyx_base.id, __pyx_v_rank, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_6);
-    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5);
-    __Pyx_GIVEREF(__pyx_t_5);
-    __pyx_t_5 = 0;
-    __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeArrayID)), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 257; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-    __pyx_r = __pyx_t_5;
-    __pyx_t_5 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":259
- *         return TypeArrayID(H5Tarray_create(base.id, rank, dims, NULL))
- *     finally:
- *         efree(dims)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5t.array_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_9enum_create(PyObject *__pyx_self, PyObject *__pyx_v_base); /*proto*/
-static char __pyx_doc_4h5py_3h5t_8enum_create[] = "(TypeID base) => TypeID\n\n    Create a new enumerated type based on an (integer) parent type.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5t_9enum_create = {__Pyx_NAMESTR("enum_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_9enum_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_8enum_create)};
-static PyObject *__pyx_pw_4h5py_3h5t_9enum_create(PyObject *__pyx_self, PyObject *__pyx_v_base) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("enum_create (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_8enum_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_base));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":262
- * 
- * 
- * def enum_create(TypeID base not None):             # <<<<<<<<<<<<<<
- *     """(TypeID base) => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_8enum_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("enum_create", 0);
-
-  /* "h5py/h5t.pyx":267
- *     Create a new enumerated type based on an (integer) parent type.
- *     """
- *     return typewrap(H5Tenum_create(base.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_create(__pyx_v_base->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.enum_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11vlen_create(PyObject *__pyx_self, PyObject *__pyx_v_base); /*proto*/
-static char __pyx_doc_4h5py_3h5t_10vlen_create[] = "(TypeID base) => TypeID\n\n    Create a new variable-length datatype, using any HDF5 type as a base.\n\n    Although the Python interface can manipulate these types, there is no\n    provision for reading/writing vlen data.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5t_11vlen_create = {__Pyx_NAMESTR("vlen_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_11vlen_create, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10vlen_create)};
-static PyObject *__pyx_pw_4h5py_3h5t_11vlen_create(PyObject *__pyx_self, PyObject *__pyx_v_base) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("vlen_create (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_base), __pyx_ptype_4h5py_3h5t_TypeID, 0, "base", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_10vlen_create(__pyx_self, ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_base));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":270
- * 
- * 
- * def vlen_create(TypeID base not None):             # <<<<<<<<<<<<<<
- *     """(TypeID base) => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_10vlen_create(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_base) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("vlen_create", 0);
-
-  /* "h5py/h5t.pyx":278
- *     provision for reading/writing vlen data.
- *     """
- *     return typewrap(H5Tvlen_create(base.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tvlen_create(__pyx_v_base->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.vlen_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_13decode(PyObject *__pyx_self, PyObject *__pyx_arg_buf); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12decode[] = "(STRING buf) => TypeID\n\n    Unserialize an HDF5 type.  You can also do this with the native\n    Python pickling machinery.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5t_13decode = {__Pyx_NAMESTR("decode"), (PyCFunction)__pyx_pw_4h5py_3h5t_13decode, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12decode)};
-static PyObject *__pyx_pw_4h5py_3h5t_13decode(PyObject *__pyx_self, PyObject *__pyx_arg_buf) {
-  char *__pyx_v_buf;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("decode (wrapper)", 0);
-  assert(__pyx_arg_buf); {
-    __pyx_v_buf = PyBytes_AsString(__pyx_arg_buf); if (unlikely((!__pyx_v_buf) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.decode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_12decode(__pyx_self, ((char *)__pyx_v_buf));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":281
- * 
- * 
- * def decode(char* buf):             # <<<<<<<<<<<<<<
- *     """(STRING buf) => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12decode(CYTHON_UNUSED PyObject *__pyx_self, char *__pyx_v_buf) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("decode", 0);
-
-  /* "h5py/h5t.pyx":287
- *     Python pickling machinery.
- *     """
- *     return typewrap(H5Tdecode(<unsigned char*>buf))             # <<<<<<<<<<<<<<
- * 
- * # === Base type class =========================================================
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdecode(((unsigned char *)__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 287; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.decode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static Py_hash_t __pyx_pw_4h5py_3h5t_6TypeID_1__hash__(PyObject *__pyx_v_self); /*proto*/
-static Py_hash_t __pyx_pw_4h5py_3h5t_6TypeID_1__hash__(PyObject *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__hash__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID___hash__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":300
- *     """
- * 
- *     def __hash__(self):             # <<<<<<<<<<<<<<
- *         if self._hash is None:
- *             try:
- */
-
-static Py_hash_t __pyx_pf_4h5py_3h5t_6TypeID___hash__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  Py_hash_t __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  Py_hash_t __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__hash__", 0);
-
-  /* "h5py/h5t.pyx":301
- * 
- *     def __hash__(self):
- *         if self._hash is None:             # <<<<<<<<<<<<<<
- *             try:
- *                 # Try to use object header first
- */
-  __pyx_t_1 = (__pyx_v_self->__pyx_base._hash == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":302
- *     def __hash__(self):
- *         if self._hash is None:
- *             try:             # <<<<<<<<<<<<<<
- *                 # Try to use object header first
- *                 return ObjectID.__hash__(self)
- */
-    {
-      __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4);
-      __Pyx_XGOTREF(__pyx_t_2);
-      __Pyx_XGOTREF(__pyx_t_3);
-      __Pyx_XGOTREF(__pyx_t_4);
-      /*try:*/ {
-
-        /* "h5py/h5t.pyx":304
- *             try:
- *                 # Try to use object header first
- *                 return ObjectID.__hash__(self)             # <<<<<<<<<<<<<<
- *             except TypeError:
- *                 # It's a transient type object
- */
-        __pyx_t_5 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects_ObjectID)), __pyx_n_s____hash__); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_5);
-        __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_6);
-        __Pyx_INCREF(((PyObject *)__pyx_v_self));
-        PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_self));
-        __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
-        __pyx_t_7 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-        __pyx_t_8 = __Pyx_PyInt_AsHash_t(__pyx_t_7); if (unlikely((__pyx_t_8 == (Py_hash_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 304; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        __pyx_r = __pyx_t_8;
-        goto __pyx_L8_try_return;
-      }
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      goto __pyx_L11_try_end;
-      __pyx_L8_try_return:;
-      __Pyx_XGIVEREF(__pyx_t_2);
-      __Pyx_XGIVEREF(__pyx_t_3);
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-      goto __pyx_L0;
-      __pyx_L4_error:;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-      /* "h5py/h5t.pyx":305
- *                 # Try to use object header first
- *                 return ObjectID.__hash__(self)
- *             except TypeError:             # <<<<<<<<<<<<<<
- *                 # It's a transient type object
- *                 if self.locked:
- */
-      __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
-      if (__pyx_t_9) {
-        __Pyx_AddTraceback("h5py.h5t.TypeID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-        if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __Pyx_GOTREF(__pyx_t_6);
-        __Pyx_GOTREF(__pyx_t_5);
-
-        /* "h5py/h5t.pyx":307
- *             except TypeError:
- *                 # It's a transient type object
- *                 if self.locked:             # <<<<<<<<<<<<<<
- *                     self._hash = hash(self.encode())
- *                 else:
- */
-        if (__pyx_v_self->__pyx_base.locked) {
-
-          /* "h5py/h5t.pyx":308
- *                 # It's a transient type object
- *                 if self.locked:
- *                     self._hash = hash(self.encode())             # <<<<<<<<<<<<<<
- *                 else:
- *                     raise TypeError("Only locked or committed types can be hashed")
- */
-          __pyx_t_10 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__encode); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-          __Pyx_GOTREF(__pyx_t_10);
-          __pyx_t_11 = PyObject_Call(__pyx_t_10, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-          __pyx_t_8 = PyObject_Hash(__pyx_t_11); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          __pyx_t_11 = __Pyx_PyInt_FromHash_t(__pyx_t_8); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 308; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_GIVEREF(__pyx_t_11);
-          __Pyx_GOTREF(__pyx_v_self->__pyx_base._hash);
-          __Pyx_DECREF(__pyx_v_self->__pyx_base._hash);
-          __pyx_v_self->__pyx_base._hash = __pyx_t_11;
-          __pyx_t_11 = 0;
-          goto __pyx_L14;
-        }
-        /*else*/ {
-
-          /* "h5py/h5t.pyx":310
- *                     self._hash = hash(self.encode())
- *                 else:
- *                     raise TypeError("Only locked or committed types can be hashed")             # <<<<<<<<<<<<<<
- * 
- *         return self._hash
- */
-          __pyx_t_11 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-          __Pyx_GOTREF(__pyx_t_11);
-          __Pyx_Raise(__pyx_t_11, 0, 0, 0);
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-        }
-        __pyx_L14:;
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-        goto __pyx_L5_exception_handled;
-      }
-      __pyx_L6_except_error:;
-      __Pyx_XGIVEREF(__pyx_t_2);
-      __Pyx_XGIVEREF(__pyx_t_3);
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-      goto __pyx_L1_error;
-      __pyx_L5_exception_handled:;
-      __Pyx_XGIVEREF(__pyx_t_2);
-      __Pyx_XGIVEREF(__pyx_t_3);
-      __Pyx_XGIVEREF(__pyx_t_4);
-      __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4);
-      __pyx_L11_try_end:;
-    }
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":312
- *                     raise TypeError("Only locked or committed types can be hashed")
- * 
- *         return self._hash             # <<<<<<<<<<<<<<
- * 
- *     def __richcmp__(self, object other, int how):
- */
-  __pyx_t_8 = __Pyx_PyInt_AsHash_t(__pyx_v_self->__pyx_base._hash); if (unlikely((__pyx_t_8 == (Py_hash_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 312; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_t_8;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.__hash__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  if (unlikely(__pyx_r == -1) && !PyErr_Occurred()) __pyx_r = -2;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__richcmp__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(((PyObject *)__pyx_v_self), ((PyObject *)__pyx_v_other), ((int)__pyx_v_how));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":314
- *         return self._hash
- * 
- *     def __richcmp__(self, object other, int how):             # <<<<<<<<<<<<<<
- *         cdef bint truthval = 0
- *         if how != 2 and how != 3:
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_2__richcmp__(PyObject *__pyx_v_self, PyObject *__pyx_v_other, int __pyx_v_how) {
-  int __pyx_v_truthval;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__richcmp__", 0);
-
-  /* "h5py/h5t.pyx":315
- * 
- *     def __richcmp__(self, object other, int how):
- *         cdef bint truthval = 0             # <<<<<<<<<<<<<<
- *         if how != 2 and how != 3:
- *             return NotImplemented
- */
-  __pyx_v_truthval = 0;
-
-  /* "h5py/h5t.pyx":316
- *     def __richcmp__(self, object other, int how):
- *         cdef bint truthval = 0
- *         if how != 2 and how != 3:             # <<<<<<<<<<<<<<
- *             return NotImplemented
- *         if isinstance(other, TypeID):
- */
-  switch (__pyx_v_how) {
-    case 2:
-    case 3:
-    __pyx_t_1 = 0;
-    break;
-    default:
-    __pyx_t_1 = 1;
-    break;
-  }
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":317
- *         cdef bint truthval = 0
- *         if how != 2 and how != 3:
- *             return NotImplemented             # <<<<<<<<<<<<<<
- *         if isinstance(other, TypeID):
- *             truthval = self.equal(other)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __Pyx_INCREF(__pyx_builtin_NotImplemented);
-    __pyx_r = __pyx_builtin_NotImplemented;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":318
- *         if how != 2 and how != 3:
- *             return NotImplemented
- *         if isinstance(other, TypeID):             # <<<<<<<<<<<<<<
- *             truthval = self.equal(other)
- * 
- */
-  __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_other, ((PyObject*)__pyx_ptype_4h5py_3h5t_TypeID)); 
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":319
- *             return NotImplemented
- *         if isinstance(other, TypeID):
- *             truthval = self.equal(other)             # <<<<<<<<<<<<<<
- * 
- *         if how == 2:
- */
-    __pyx_t_2 = PyObject_GetAttr(__pyx_v_self, __pyx_n_s__equal); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_INCREF(__pyx_v_other);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_other);
-    __Pyx_GIVEREF(__pyx_v_other);
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 319; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_v_truthval = __pyx_t_1;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5t.pyx":321
- *             truthval = self.equal(other)
- * 
- *         if how == 2:             # <<<<<<<<<<<<<<
- *             return truthval
- *         return not truthval
- */
-  __pyx_t_1 = (__pyx_v_how == 2);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":322
- * 
- *         if how == 2:
- *             return truthval             # <<<<<<<<<<<<<<
- *         return not truthval
- * 
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_truthval); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 322; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_r = __pyx_t_4;
-    __pyx_t_4 = 0;
-    goto __pyx_L0;
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  /* "h5py/h5t.pyx":323
- *         if how == 2:
- *             return truthval
- *         return not truthval             # <<<<<<<<<<<<<<
- * 
- *     def __copy__(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_4 = __Pyx_PyBool_FromLong((!__pyx_v_truthval)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 323; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_r = __pyx_t_4;
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.__richcmp__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5__copy__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__copy__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_4__copy__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":325
- *         return not truthval
- * 
- *     def __copy__(self):             # <<<<<<<<<<<<<<
- *         cdef TypeID cpy
- *         cpy = ObjectID.__copy__(self)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_4__copy__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_cpy = 0;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__copy__", 0);
-
-  /* "h5py/h5t.pyx":327
- *     def __copy__(self):
- *         cdef TypeID cpy
- *         cpy = ObjectID.__copy__(self)             # <<<<<<<<<<<<<<
- *         return cpy
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)((PyObject*)__pyx_ptype_4h5py_8_objects_ObjectID)), __pyx_n_s____copy__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_INCREF(((PyObject *)__pyx_v_self));
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_self));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_cpy = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_3);
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5t.pyx":328
- *         cdef TypeID cpy
- *         cpy = ObjectID.__copy__(self)
- *         return cpy             # <<<<<<<<<<<<<<
- * 
- *     property dtype:
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_cpy));
-  __pyx_r = ((PyObject *)__pyx_v_cpy);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.__copy__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_cpy);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(PyObject *__pyx_v_self); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(PyObject *__pyx_v_self) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":333
- *         """ A Numpy-style dtype object representing this object.
- *         """
- *         def __get__(self):             # <<<<<<<<<<<<<<
- *             return self.py_dtype()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_5dtype___get__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__get__", 0);
-
-  /* "h5py/h5t.pyx":334
- *         """
- *         def __get__(self):
- *             return self.py_dtype()             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_self->__pyx_vtab)->py_dtype(__pyx_v_self); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 334; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.dtype.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":336
- *             return self.py_dtype()
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- *         raise TypeError("No NumPy equivalent for %s exists" % self.__class__.__name__)
- * 
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_6TypeID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":337
- * 
- *     cdef object py_dtype(self):
- *         raise TypeError("No NumPy equivalent for %s exists" % self.__class__.__name__)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s____class__); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s____name__); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 337; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_7commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_6commit[] = "(ObjectID group, STRING name, PropID lcpl=None)\n\n        Commit this (transient) datatype to a named datatype in a file.\n        If present, lcpl may be a link creation property list.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_7commit(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group = 0;
-  char *__pyx_v_name;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("commit (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__group,&__pyx_n_s__name,&__pyx_n_s__lcpl,0};
-    PyObject* values[3] = {0,0,0};
-
-    /* "h5py/h5t.pyx":340
- * 
- * 
- *     def commit(self, ObjectID group not None, char* name, ObjectID lcpl=None):             # <<<<<<<<<<<<<<
- *         """(ObjectID group, STRING name, PropID lcpl=None)
- * 
- */
-    values[2] = (PyObject *)((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__group)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("commit", 0, 2, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lcpl);
-          if (value) { values[2] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "commit") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_group = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[0]);
-    __pyx_v_name = PyBytes_AsString(values[1]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_lcpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[2]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("commit", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID.commit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_group), __pyx_ptype_4h5py_8_objects_ObjectID, 0, "group", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_lcpl), __pyx_ptype_4h5py_8_objects_ObjectID, 1, "lcpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 340; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_6commit(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), __pyx_v_group, __pyx_v_name, __pyx_v_lcpl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_6commit(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_group, char *__pyx_v_name, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_lcpl) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("commit", 0);
-
-  /* "h5py/h5t.pyx":347
- *         """
- *         H5Tcommit2(group.id, name, self.id, pdefault(lcpl),
- *             H5P_DEFAULT, H5P_DEFAULT)             # <<<<<<<<<<<<<<
- * 
- *     def committed(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcommit2(__pyx_v_group->id, __pyx_v_name, __pyx_v_self->__pyx_base.id, __pyx_f_4h5py_8_objects_pdefault(__pyx_v_lcpl), H5P_DEFAULT, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 346; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID.commit", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_9committed(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_8committed[] = "() => BOOL is_comitted\n\n        Determine if a given type object is named (T) or transient (F).\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_9committed(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("committed (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_8committed(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":349
- *             H5P_DEFAULT, H5P_DEFAULT)
- * 
- *     def committed(self):             # <<<<<<<<<<<<<<
- *         """() => BOOL is_comitted
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_8committed(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("committed", 0);
-
-  /* "h5py/h5t.pyx":354
- *         Determine if a given type object is named (T) or transient (F).
- *         """
- *         return <bint>(H5Tcommitted(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcommitted(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.committed", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_11copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_10copy[] = "() => TypeID\n\n        Create a copy of this type object.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_11copy(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("copy (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_10copy(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":357
- * 
- * 
- *     def copy(self):             # <<<<<<<<<<<<<<
- *         """() => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_10copy(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("copy", 0);
-
-  /* "h5py/h5t.pyx":362
- *         Create a copy of this type object.
- *         """
- *         return typewrap(H5Tcopy(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.copy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_13equal(PyObject *__pyx_v_self, PyObject *__pyx_v_typeid); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_12equal[] = "(TypeID typeid) => BOOL\n\n        Logical comparison between datatypes.  Also called by\n        Python's \"==\" operator.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_13equal(PyObject *__pyx_v_self, PyObject *__pyx_v_typeid) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("equal (wrapper)", 0);
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_typeid), __pyx_ptype_4h5py_3h5t_TypeID, 1, "typeid", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 365; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_12equal(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_typeid));
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":365
- * 
- * 
- *     def equal(self, TypeID typeid):             # <<<<<<<<<<<<<<
- *         """(TypeID typeid) => BOOL
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_12equal(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_typeid) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("equal", 0);
-
-  /* "h5py/h5t.pyx":371
- *         Python's "==" operator.
- *         """
- *         return <bint>(H5Tequal(self.id, typeid.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tequal(__pyx_v_self->__pyx_base.id, __pyx_v_typeid->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.equal", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_15lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_14lock[] = "()\n\n        Lock this datatype, which makes it immutable and indestructible.\n        Once locked, it can't be unlocked.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_15lock(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("lock (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_14lock(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":374
- * 
- * 
- *     def lock(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_14lock(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("lock", 0);
-
-  /* "h5py/h5t.pyx":380
- *         Once locked, it can't be unlocked.
- *         """
- *         H5Tlock(self.id)             # <<<<<<<<<<<<<<
- *         self.locked = 1
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tlock(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 380; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":381
- *         """
- *         H5Tlock(self.id)
- *         self.locked = 1             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_v_self->__pyx_base.locked = 1;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID.lock", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_17get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_16get_class[] = "() => INT classcode\n\n        Determine the datatype's class code.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_17get_class(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_class (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_16get_class(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":384
- * 
- * 
- *     def get_class(self):             # <<<<<<<<<<<<<<
- *         """() => INT classcode
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_16get_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  enum H5T_class_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_class", 0);
-
-  /* "h5py/h5t.pyx":389
- *         Determine the datatype's class code.
- *         """
- *         return <int>H5Tget_class(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 389; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.get_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_19set_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_18set_size[] = "(UINT size)\n\n        Set the total size of the datatype, in bytes.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_19set_size(PyObject *__pyx_v_self, PyObject *__pyx_arg_size) {
-  size_t __pyx_v_size;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_size (wrapper)", 0);
-  assert(__pyx_arg_size); {
-    __pyx_v_size = __Pyx_PyInt_AsSize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 392; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID.set_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_18set_size(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((size_t)__pyx_v_size));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":392
- * 
- * 
- *     def set_size(self, size_t size):             # <<<<<<<<<<<<<<
- *         """(UINT size)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_18set_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, size_t __pyx_v_size) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_size", 0);
-
-  /* "h5py/h5t.pyx":397
- *         Set the total size of the datatype, in bytes.
- *         """
- *         H5Tset_size(self.id, size)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_self->__pyx_base.id, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 397; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID.set_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_21get_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_20get_size[] = " () => INT size\n\n            Determine the total size of a datatype, in bytes.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_21get_size(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_size (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_20get_size(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":400
- * 
- * 
- *     def get_size(self):             # <<<<<<<<<<<<<<
- *         """ () => INT size
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_20get_size(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  size_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_size", 0);
-
-  /* "h5py/h5t.pyx":405
- *             Determine the total size of a datatype, in bytes.
- *         """
- *         return H5Tget_size(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_size(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 405; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.get_size", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_23get_super(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_22get_super[] = "() => TypeID\n\n        Determine the parent type of an array, enumeration or vlen datatype.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_23get_super(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_super (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_22get_super(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":408
- * 
- * 
- *     def get_super(self):             # <<<<<<<<<<<<<<
- *         """() => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_22get_super(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_super", 0);
-
-  /* "h5py/h5t.pyx":413
- *         Determine the parent type of an array, enumeration or vlen datatype.
- *         """
- *         return typewrap(H5Tget_super(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_super(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_1, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 413; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.get_super", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_25detect_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_classtype); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_24detect_class[] = "(INT classtype) => BOOL class_is_present\n\n        Determine if a member of the given class exists in a compound\n        datatype.  The search is recursive.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_25detect_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_classtype) {
-  int __pyx_v_classtype;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("detect_class (wrapper)", 0);
-  assert(__pyx_arg_classtype); {
-    __pyx_v_classtype = __Pyx_PyInt_AsInt(__pyx_arg_classtype); if (unlikely((__pyx_v_classtype == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 416; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID.detect_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_24detect_class(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((int)__pyx_v_classtype));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":416
- * 
- * 
- *     def detect_class(self, int classtype):             # <<<<<<<<<<<<<<
- *         """(INT classtype) => BOOL class_is_present
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_24detect_class(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, int __pyx_v_classtype) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("detect_class", 0);
-
-  /* "h5py/h5t.pyx":422
- *         datatype.  The search is recursive.
- *         """
- *         return <bint>(H5Tdetect_class(self.id, <H5T_class_t>classtype))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdetect_class(__pyx_v_self->__pyx_base.id, ((enum H5T_class_t)__pyx_v_classtype)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 422; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.detect_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_27_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_26_close[] = "()\n\n        Close this datatype.  If it's locked, nothing happens.\n\n        You shouldn't ordinarily need to call this function; datatype\n        objects are automatically closed when they're deallocated.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_27_close(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_close (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_26_close(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":425
- * 
- * 
- *     def _close(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_26_close(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  herr_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_close", 0);
-
-  /* "h5py/h5t.pyx":433
- *         objects are automatically closed when they're deallocated.
- *         """
- *         if not self.locked:             # <<<<<<<<<<<<<<
- *             H5Tclose(self.id)
- * 
- */
-  __pyx_t_1 = (!__pyx_v_self->__pyx_base.locked);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":434
- *         """
- *         if not self.locked:
- *             H5Tclose(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_self->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 434; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID._close", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_29encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_6TypeID_28encode[] = "() => STRING\n\n        Serialize an HDF5 type.  Bear in mind you can also use the\n        native Python pickle/unpickle machinery to do this.  The\n        returned string may contain binary values, including NULLs.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_29encode(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("encode (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_28encode(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":437
- * 
- * 
- *     def encode(self):             # <<<<<<<<<<<<<<
- *         """() => STRING
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_28encode(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  size_t __pyx_v_nalloc;
-  char *__pyx_v_buf;
-  PyObject *__pyx_v_pystr = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("encode", 0);
-
-  /* "h5py/h5t.pyx":444
- *         returned string may contain binary values, including NULLs.
- *         """
- *         cdef size_t nalloc = 0             # <<<<<<<<<<<<<<
- *         cdef char* buf = NULL
- * 
- */
-  __pyx_v_nalloc = 0;
-
-  /* "h5py/h5t.pyx":445
- *         """
- *         cdef size_t nalloc = 0
- *         cdef char* buf = NULL             # <<<<<<<<<<<<<<
- * 
- *         H5Tencode(self.id, NULL, &nalloc)
- */
-  __pyx_v_buf = NULL;
-
-  /* "h5py/h5t.pyx":447
- *         cdef char* buf = NULL
- * 
- *         H5Tencode(self.id, NULL, &nalloc)             # <<<<<<<<<<<<<<
- *         buf = <char*>emalloc(sizeof(char)*nalloc)
- *         try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tencode(__pyx_v_self->__pyx_base.id, NULL, (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":448
- * 
- *         H5Tencode(self.id, NULL, &nalloc)
- *         buf = <char*>emalloc(sizeof(char)*nalloc)             # <<<<<<<<<<<<<<
- *         try:
- *             H5Tencode(self.id, <unsigned char*>buf, &nalloc)
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(char)) * __pyx_v_nalloc)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 448; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_buf = ((char *)__pyx_t_2);
-
-  /* "h5py/h5t.pyx":449
- *         H5Tencode(self.id, NULL, &nalloc)
- *         buf = <char*>emalloc(sizeof(char)*nalloc)
- *         try:             # <<<<<<<<<<<<<<
- *             H5Tencode(self.id, <unsigned char*>buf, &nalloc)
- *             pystr = PyBytes_FromStringAndSize(buf, nalloc)
- */
-  /*try:*/ {
-
-    /* "h5py/h5t.pyx":450
- *         buf = <char*>emalloc(sizeof(char)*nalloc)
- *         try:
- *             H5Tencode(self.id, <unsigned char*>buf, &nalloc)             # <<<<<<<<<<<<<<
- *             pystr = PyBytes_FromStringAndSize(buf, nalloc)
- *         finally:
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tencode(__pyx_v_self->__pyx_base.id, ((unsigned char *)__pyx_v_buf), (&__pyx_v_nalloc)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 450; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5t.pyx":451
- *         try:
- *             H5Tencode(self.id, <unsigned char*>buf, &nalloc)
- *             pystr = PyBytes_FromStringAndSize(buf, nalloc)             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(buf)
- */
-    __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_buf, __pyx_v_nalloc); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 451; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_v_pystr = __pyx_t_3;
-    __pyx_t_3 = 0;
-  }
-
-  /* "h5py/h5t.pyx":453
- *             pystr = PyBytes_FromStringAndSize(buf, nalloc)
- *         finally:
- *             efree(buf)             # <<<<<<<<<<<<<<
- * 
- *         return pystr
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_buf);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/h5t.pyx":455
- *             efree(buf)
- * 
- *         return pystr             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_pystr);
-  __pyx_r = __pyx_v_pystr;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.encode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_pystr);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__reduce__ (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":458
- * 
- * 
- *     def __reduce__(self):             # <<<<<<<<<<<<<<
- *         return (type(self), (-1,), self.encode())
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_30__reduce__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__reduce__", 0);
-
-  /* "h5py/h5t.pyx":459
- * 
- *     def __reduce__(self):
- *         return (type(self), (-1,), self.encode())             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
-  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
-  __Pyx_GIVEREF(((PyObject *)Py_TYPE(((PyObject *)__pyx_v_self))));
-  __Pyx_INCREF(((PyObject *)__pyx_k_tuple_6));
-  PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_k_tuple_6));
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
-  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeID.__reduce__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_arg_state); /*proto*/
-static PyObject *__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__(PyObject *__pyx_v_self, PyObject *__pyx_arg_state) {
-  char *__pyx_v_state;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__setstate__ (wrapper)", 0);
-  assert(__pyx_arg_state); {
-    __pyx_v_state = PyBytes_AsString(__pyx_arg_state); if (unlikely((!__pyx_v_state) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 462; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID.__setstate__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_v_self), ((char *)__pyx_v_state));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":462
- * 
- * 
- *     def __setstate__(self, char* state):             # <<<<<<<<<<<<<<
- *         self.id = H5Tdecode(<unsigned char*>state)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_6TypeID_32__setstate__(struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_self, char *__pyx_v_state) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("__setstate__", 0);
-
-  /* "h5py/h5t.pyx":463
- * 
- *     def __setstate__(self, char* state):
- *         self.id = H5Tdecode(<unsigned char*>state)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tdecode(((unsigned char *)__pyx_v_state)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 463; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_self->__pyx_base.id = __pyx_t_1;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeID.__setstate__", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeArrayID_get_array_ndims[] = "() => INT rank\n\n        Get the rank of the given array datatype.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_array_ndims (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":475
- * 
- * 
- *     def get_array_ndims(self):             # <<<<<<<<<<<<<<
- *         """() => INT rank
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_get_array_ndims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_array_ndims", 0);
-
-  /* "h5py/h5t.pyx":480
- *         Get the rank of the given array datatype.
- *         """
- *         return H5Tget_array_ndims(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_ndims(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeArrayID.get_array_ndims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeArrayID_2get_array_dims[] = "() => TUPLE dimensions\n\n        Get the dimensions of the given array datatype as\n        a tuple of integers.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_array_dims (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":483
- * 
- * 
- *     def get_array_dims(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE dimensions
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeArrayID_2get_array_dims(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) {
-  hsize_t __pyx_v_rank;
-  hsize_t *__pyx_v_dims;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  void *__pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_array_dims", 0);
-
-  /* "h5py/h5t.pyx":490
- *         """
- *         cdef hsize_t rank
- *         cdef hsize_t* dims = NULL             # <<<<<<<<<<<<<<
- * 
- *         rank = H5Tget_array_dims(self.id, NULL, NULL)
- */
-  __pyx_v_dims = NULL;
-
-  /* "h5py/h5t.pyx":492
- *         cdef hsize_t* dims = NULL
- * 
- *         rank = H5Tget_array_dims(self.id, NULL, NULL)             # <<<<<<<<<<<<<<
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         try:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_dims(__pyx_v_self->__pyx_base.__pyx_base.id, NULL, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 492; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_rank = __pyx_t_1;
-
-  /* "h5py/h5t.pyx":493
- * 
- *         rank = H5Tget_array_dims(self.id, NULL, NULL)
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)             # <<<<<<<<<<<<<<
- *         try:
- *             H5Tget_array_dims(self.id, dims, NULL)
- */
-  __pyx_t_2 = __pyx_f_4h5py_5utils_emalloc(((sizeof(hsize_t)) * __pyx_v_rank)); if (unlikely(__pyx_t_2 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 493; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_dims = ((hsize_t *)__pyx_t_2);
-
-  /* "h5py/h5t.pyx":494
- *         rank = H5Tget_array_dims(self.id, NULL, NULL)
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         try:             # <<<<<<<<<<<<<<
- *             H5Tget_array_dims(self.id, dims, NULL)
- *             return convert_dims(dims, rank)
- */
-  /*try:*/ {
-
-    /* "h5py/h5t.pyx":495
- *         dims = <hsize_t*>emalloc(sizeof(hsize_t)*rank)
- *         try:
- *             H5Tget_array_dims(self.id, dims, NULL)             # <<<<<<<<<<<<<<
- *             return convert_dims(dims, rank)
- *         finally:
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_array_dims(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 495; __pyx_clineno = __LINE__; goto __pyx_L4;}
-
-    /* "h5py/h5t.pyx":496
- *         try:
- *             H5Tget_array_dims(self.id, dims, NULL)
- *             return convert_dims(dims, rank)             # <<<<<<<<<<<<<<
- *         finally:
- *             efree(dims)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_3 = __pyx_f_4h5py_5utils_convert_dims(__pyx_v_dims, __pyx_v_rank); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 496; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_r = __pyx_t_3;
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":498
- *             return convert_dims(dims, rank)
- *         finally:
- *             efree(dims)             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self):
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.TypeArrayID.get_array_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":500
- *             efree(dims)
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- *         # Numpy translation function for array types
- *         cdef TypeID tmp_type
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_11TypeArrayID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tmp_type = 0;
-  PyObject *__pyx_v_base_dtype = NULL;
-  PyObject *__pyx_v_shape = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":503
- *         # Numpy translation function for array types
- *         cdef TypeID tmp_type
- *         tmp_type = self.get_super()             # <<<<<<<<<<<<<<
- * 
- *         base_dtype = tmp_type.py_dtype()
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_super); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_tmp_type = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":505
- *         tmp_type = self.get_super()
- * 
- *         base_dtype = tmp_type.py_dtype()             # <<<<<<<<<<<<<<
- * 
- *         shape = self.get_array_dims()
- */
-  __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_tmp_type->__pyx_vtab)->py_dtype(__pyx_v_tmp_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_v_base_dtype = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":507
- *         base_dtype = tmp_type.py_dtype()
- * 
- *         shape = self.get_array_dims()             # <<<<<<<<<<<<<<
- *         return dtype( (base_dtype, shape) )
- * 
- */
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_array_dims); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 507; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_v_shape = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":508
- * 
- *         shape = self.get_array_dims()
- *         return dtype( (base_dtype, shape) )             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(__pyx_v_base_dtype);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_base_dtype);
-  __Pyx_GIVEREF(__pyx_v_base_dtype);
-  __Pyx_INCREF(__pyx_v_shape);
-  PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_shape);
-  __Pyx_GIVEREF(__pyx_v_shape);
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_1));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeArrayID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_tmp_type);
-  __Pyx_XDECREF(__pyx_v_base_dtype);
-  __Pyx_XDECREF(__pyx_v_shape);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag(PyObject *__pyx_v_self, PyObject *__pyx_arg_tag); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeOpaqueID_set_tag[] = "(STRING tag)\n\n        Set a string describing the contents of an opaque datatype.\n        Limited to 256 characters.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag(PyObject *__pyx_v_self, PyObject *__pyx_arg_tag) {
-  char *__pyx_v_tag;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_tag (wrapper)", 0);
-  assert(__pyx_arg_tag); {
-    __pyx_v_tag = PyBytes_AsString(__pyx_arg_tag); if (unlikely((!__pyx_v_tag) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 518; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.set_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_v_self), ((char *)__pyx_v_tag));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":518
- * 
- * 
- *     def set_tag(self, char* tag):             # <<<<<<<<<<<<<<
- *         """(STRING tag)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_set_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self, char *__pyx_v_tag) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_tag", 0);
-
-  /* "h5py/h5t.pyx":524
- *         Limited to 256 characters.
- *         """
- *         H5Tset_tag(self.id, tag)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_tag(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_tag); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 524; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.set_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeOpaqueID_2get_tag[] = "() => STRING tag\n\n        Get the tag associated with an opaque datatype.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_tag (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":527
- * 
- * 
- *     def get_tag(self):             # <<<<<<<<<<<<<<
- *         """() => STRING tag
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeOpaqueID_2get_tag(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self) {
-  char *__pyx_v_buf;
-  char *__pyx_v_tag;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  char *__pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_tag", 0);
-
-  /* "h5py/h5t.pyx":532
- *         Get the tag associated with an opaque datatype.
- *         """
- *         cdef char* buf = NULL             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_v_buf = NULL;
-
-  /* "h5py/h5t.pyx":534
- *         cdef char* buf = NULL
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             buf = H5Tget_tag(self.id)
- *             assert buf != NULL
- */
-  /*try:*/ {
-
-    /* "h5py/h5t.pyx":535
- * 
- *         try:
- *             buf = H5Tget_tag(self.id)             # <<<<<<<<<<<<<<
- *             assert buf != NULL
- *             tag = buf
- */
-    __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_tag(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 535; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __pyx_v_buf = __pyx_t_1;
-
-    /* "h5py/h5t.pyx":536
- *         try:
- *             buf = H5Tget_tag(self.id)
- *             assert buf != NULL             # <<<<<<<<<<<<<<
- *             tag = buf
- *             return tag
- */
-    #ifndef CYTHON_WITHOUT_ASSERTIONS
-    if (unlikely(!(__pyx_v_buf != NULL))) {
-      PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 536; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    }
-    #endif
-
-    /* "h5py/h5t.pyx":537
- *             buf = H5Tget_tag(self.id)
- *             assert buf != NULL
- *             tag = buf             # <<<<<<<<<<<<<<
- *             return tag
- *         finally:
- */
-    __pyx_v_tag = __pyx_v_buf;
-
-    /* "h5py/h5t.pyx":538
- *             assert buf != NULL
- *             tag = buf
- *             return tag             # <<<<<<<<<<<<<<
- *         finally:
- *             free(buf)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = PyBytes_FromString(__pyx_v_tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 538; __pyx_clineno = __LINE__; goto __pyx_L4;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-    __pyx_r = ((PyObject *)__pyx_t_2);
-    __pyx_t_2 = 0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":540
- *             return tag
- *         finally:
- *             free(buf)             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self):
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L5;
-    __pyx_L3: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 3; goto __pyx_L5;
-    __pyx_L4: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    free(__pyx_v_buf);
-    switch (__pyx_why) {
-      case 3: goto __pyx_L0;
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.get_tag", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":542
- *             free(buf)
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- *         # Numpy translation function for opaque types
- *         return dtype("|V" + str(self.get_size()))
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_12TypeOpaqueID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":544
- *     cdef object py_dtype(self):
- *         # Numpy translation function for opaque types
- *         return dtype("|V" + str(self.get_size()))             # <<<<<<<<<<<<<<
- * 
- * cdef class TypeStringID(TypeID):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_t_1 = PyNumber_Add(((PyObject *)__pyx_kp_s_7), __pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeOpaqueID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeStringID_is_variable_str[] = "() => BOOL is_variable\n\n        Determine if the given string datatype is a variable-length string.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("is_variable_str (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":553
- * 
- * 
- *     def is_variable_str(self):             # <<<<<<<<<<<<<<
- *         """() => BOOL is_variable
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_is_variable_str(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("is_variable_str", 0);
-
-  /* "h5py/h5t.pyx":558
- *         Determine if the given string datatype is a variable-length string.
- *         """
- *         return <bint>(H5Tis_variable_str(self.id))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tis_variable_str(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 558; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeStringID.is_variable_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeStringID_2get_cset[] = "() => INT character_set\n\n        Retrieve the character set used for a string.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_cset (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":561
- * 
- * 
- *     def get_cset(self):             # <<<<<<<<<<<<<<
- *         """() => INT character_set
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_2get_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5T_cset_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_cset", 0);
-
-  /* "h5py/h5t.pyx":566
- *         Retrieve the character set used for a string.
- *         """
- *         return <int>H5Tget_cset(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_cset(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeStringID.get_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset(PyObject *__pyx_v_self, PyObject *__pyx_arg_cset); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeStringID_4set_cset[] = "(INT character_set)\n\n        Set the character set used for a string.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset(PyObject *__pyx_v_self, PyObject *__pyx_arg_cset) {
-  int __pyx_v_cset;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_cset (wrapper)", 0);
-  assert(__pyx_arg_cset); {
-    __pyx_v_cset = __Pyx_PyInt_AsInt(__pyx_arg_cset); if (unlikely((__pyx_v_cset == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 569; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self), ((int)__pyx_v_cset));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":569
- * 
- * 
- *     def set_cset(self, int cset):             # <<<<<<<<<<<<<<
- *         """(INT character_set)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_4set_cset(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_cset) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_cset", 0);
-
-  /* "h5py/h5t.pyx":574
- *         Set the character set used for a string.
- *         """
- *         H5Tset_cset(self.id, <H5T_cset_t>cset)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_cset(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_cset_t)__pyx_v_cset)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_cset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeStringID_6get_strpad[] = "() => INT padding_type\n\n        Get the padding type.  Legal values are:\n\n        STR_NULLTERM\n            NULL termination only (C style)\n\n        STR_NULLPAD\n            Pad buffer with NULLs\n\n        STR_SPACEPAD\n            Pad buffer with spaces (FORTRAN style)\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_strpad (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":577
- * 
- * 
- *     def get_strpad(self):             # <<<<<<<<<<<<<<
- *         """() => INT padding_type
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_6get_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5T_str_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_strpad", 0);
-
-  /* "h5py/h5t.pyx":591
- *             Pad buffer with spaces (FORTRAN style)
- *         """
- *         return <int>H5Tget_strpad(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_strpad(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 591; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeStringID.get_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeStringID_8set_strpad[] = "(INT pad)\n\n        Set the padding type.  Legal values are:\n\n        STR_NULLTERM\n            NULL termination only (C style)\n\n        STR_NULLPAD\n            Pad buffer with NULLs\n\n        STR_SPACEPAD\n            Pad buffer with spaces (FORTRAN style)\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad) {
-  int __pyx_v_pad;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_strpad (wrapper)", 0);
-  assert(__pyx_arg_pad); {
-    __pyx_v_pad = __Pyx_PyInt_AsInt(__pyx_arg_pad); if (unlikely((__pyx_v_pad == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 594; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_v_self), ((int)__pyx_v_pad));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":594
- * 
- * 
- *     def set_strpad(self, int pad):             # <<<<<<<<<<<<<<
- *         """(INT pad)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeStringID_8set_strpad(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self, int __pyx_v_pad) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_strpad", 0);
-
-  /* "h5py/h5t.pyx":608
- *             Pad buffer with spaces (FORTRAN style)
- *         """
- *         H5Tset_strpad(self.id, <H5T_str_t>pad)             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_strpad(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_str_t)__pyx_v_pad)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 608; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeStringID.set_strpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":610
- *         H5Tset_strpad(self.id, <H5T_str_t>pad)
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- *         # Numpy translation function for string types
- *         if self.is_variable_str():
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_12TypeStringID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":612
- *     cdef object py_dtype(self):
- *         # Numpy translation function for string types
- *         if self.is_variable_str():             # <<<<<<<<<<<<<<
- *             if self.get_cset() == H5T_CSET_ASCII:
- *                 return special_dtype(vlen=bytes)
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__is_variable_str); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 612; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  if (__pyx_t_3) {
-
-    /* "h5py/h5t.pyx":613
- *         # Numpy translation function for string types
- *         if self.is_variable_str():
- *             if self.get_cset() == H5T_CSET_ASCII:             # <<<<<<<<<<<<<<
- *                 return special_dtype(vlen=bytes)
- *             elif self.get_cset() == H5T_CSET_UTF8:
- */
-    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_cset); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_2 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyObject_RichCompare(__pyx_t_1, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    if (__pyx_t_3) {
-
-      /* "h5py/h5t.pyx":614
- *         if self.is_variable_str():
- *             if self.get_cset() == H5T_CSET_ASCII:
- *                 return special_dtype(vlen=bytes)             # <<<<<<<<<<<<<<
- *             elif self.get_cset() == H5T_CSET_UTF8:
- *                 return special_dtype(vlen=unicode)
- */
-      __Pyx_XDECREF(__pyx_r);
-      __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-      if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)((PyObject*)(&PyBytes_Type)))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_1);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-      __pyx_r = __pyx_t_1;
-      __pyx_t_1 = 0;
-      goto __pyx_L0;
-      goto __pyx_L4;
-    }
-
-    /* "h5py/h5t.pyx":615
- *             if self.get_cset() == H5T_CSET_ASCII:
- *                 return special_dtype(vlen=bytes)
- *             elif self.get_cset() == H5T_CSET_UTF8:             # <<<<<<<<<<<<<<
- *                 return special_dtype(vlen=unicode)
- *             else:
- */
-    __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_cset); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyInt_FromLong(H5T_CSET_UTF8); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 615; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    if (__pyx_t_3) {
-
-      /* "h5py/h5t.pyx":616
- *                 return special_dtype(vlen=bytes)
- *             elif self.get_cset() == H5T_CSET_UTF8:
- *                 return special_dtype(vlen=unicode)             # <<<<<<<<<<<<<<
- *             else:
- *                 raise TypeError("Unknown string encoding (value %d)" % self.get_cset())
- */
-      __Pyx_XDECREF(__pyx_r);
-      __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-      if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)((PyObject*)(&PyUnicode_Type)))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 616; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-      __pyx_r = __pyx_t_2;
-      __pyx_t_2 = 0;
-      goto __pyx_L0;
-      goto __pyx_L4;
-    }
-    /*else*/ {
-
-      /* "h5py/h5t.pyx":618
- *                 return special_dtype(vlen=unicode)
- *             else:
- *                 raise TypeError("Unknown string encoding (value %d)" % self.get_cset())             # <<<<<<<<<<<<<<
- * 
- *         return dtype("|S" + str(self.get_size()))
- */
-      __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_cset); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_1);
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __pyx_t_2 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_8), __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_1);
-      PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_2));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_2));
-      __pyx_t_2 = 0;
-      __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-      __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 618; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-    __pyx_L4:;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":620
- *                 raise TypeError("Unknown string encoding (value %d)" % self.get_cset())
- * 
- *         return dtype("|S" + str(self.get_size()))             # <<<<<<<<<<<<<<
- * 
- * cdef class TypeVlenID(TypeID):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_t_2 = PyNumber_Add(((PyObject *)__pyx_kp_s_9), __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 620; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t.TypeStringID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":649
- *     """
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- *         if H5Tequal(self.id, H5T_STD_REF_OBJ):
- *             return special_dtype(ref=Reference)
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_15TypeReferenceID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":650
- * 
- *     cdef object py_dtype(self):
- *         if H5Tequal(self.id, H5T_STD_REF_OBJ):             # <<<<<<<<<<<<<<
- *             return special_dtype(ref=Reference)
- *         elif H5Tequal(self.id, H5T_STD_REF_DSETREG):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tequal(__pyx_v_self->__pyx_base.__pyx_base.id, H5T_STD_REF_OBJ); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":651
- *     cdef object py_dtype(self):
- *         if H5Tequal(self.id, H5T_STD_REF_OBJ):
- *             return special_dtype(ref=Reference)             # <<<<<<<<<<<<<<
- *         elif H5Tequal(self.id, H5T_STD_REF_DSETREG):
- *             return special_dtype(ref=RegionReference)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__ref), ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_r = __pyx_t_4;
-    __pyx_t_4 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":652
- *         if H5Tequal(self.id, H5T_STD_REF_OBJ):
- *             return special_dtype(ref=Reference)
- *         elif H5Tequal(self.id, H5T_STD_REF_DSETREG):             # <<<<<<<<<<<<<<
- *             return special_dtype(ref=RegionReference)
- *         else:
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tequal(__pyx_v_self->__pyx_base.__pyx_base.id, H5T_STD_REF_DSETREG); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":653
- *             return special_dtype(ref=Reference)
- *         elif H5Tequal(self.id, H5T_STD_REF_DSETREG):
- *             return special_dtype(ref=RegionReference)             # <<<<<<<<<<<<<<
- *         else:
- *             raise TypeError("Unknown reference type")
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__ref), ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference))) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_r = __pyx_t_2;
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5t.pyx":655
- *             return special_dtype(ref=RegionReference)
- *         else:
- *             raise TypeError("Unknown reference type")             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_11), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t.TypeReferenceID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_get_order[] = "() => INT order\n\n        Obtain the byte order of the datatype; one of:\n\n        - ORDER_LE\n        - ORDER_BE\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_order (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":667
- * 
- * 
- *     def get_order(self):             # <<<<<<<<<<<<<<
- *         """() => INT order
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_get_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5T_order_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_order", 0);
-
-  /* "h5py/h5t.pyx":675
- *         - ORDER_BE
- *         """
- *         return <int>H5Tget_order(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_order(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 675; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_order); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_2set_order[] = "(INT order)\n\n        Set the byte order of the datatype; one of:\n\n        - ORDER_LE\n        - ORDER_BE\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order(PyObject *__pyx_v_self, PyObject *__pyx_arg_order) {
-  int __pyx_v_order;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_order (wrapper)", 0);
-  assert(__pyx_arg_order); {
-    __pyx_v_order = __Pyx_PyInt_AsInt(__pyx_arg_order); if (unlikely((__pyx_v_order == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 678; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((int)__pyx_v_order));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":678
- * 
- * 
- *     def set_order(self, int order):             # <<<<<<<<<<<<<<
- *         """(INT order)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_2set_order(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_order) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_order", 0);
-
-  /* "h5py/h5t.pyx":686
- *         - ORDER_BE
- *         """
- *         H5Tset_order(self.id, <H5T_order_t>order)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_order(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_order_t)__pyx_v_order)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 686; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_order", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_4get_precision[] = "() => UINT precision\n\n        Get the number of significant bits (excludes padding).\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_precision (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":689
- * 
- * 
- *     def get_precision(self):             # <<<<<<<<<<<<<<
- *         """() => UINT precision
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_4get_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hsize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_precision", 0);
-
-  /* "h5py/h5t.pyx":694
- *         Get the number of significant bits (excludes padding).
- *         """
- *         return H5Tget_precision(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_precision(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision(PyObject *__pyx_v_self, PyObject *__pyx_arg_precision); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_6set_precision[] = "(UINT precision)\n            \n        Set the number of significant bits (excludes padding).\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision(PyObject *__pyx_v_self, PyObject *__pyx_arg_precision) {
-  size_t __pyx_v_precision;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_precision (wrapper)", 0);
-  assert(__pyx_arg_precision); {
-    __pyx_v_precision = __Pyx_PyInt_AsSize_t(__pyx_arg_precision); if (unlikely((__pyx_v_precision == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 697; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((size_t)__pyx_v_precision));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":697
- * 
- * 
- *     def set_precision(self, size_t precision):             # <<<<<<<<<<<<<<
- *         """(UINT precision)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_6set_precision(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_precision) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_precision", 0);
-
-  /* "h5py/h5t.pyx":702
- *         Set the number of significant bits (excludes padding).
- *         """
- *         H5Tset_precision(self.id, precision)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_precision(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_precision); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 702; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_precision", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_8get_offset[] = "() => INT offset\n\n        Get the offset of the first significant bit.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_offset (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":705
- * 
- * 
- *     def get_offset(self):             # <<<<<<<<<<<<<<
- *         """() => INT offset
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_8get_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_offset", 0);
-
-  /* "h5py/h5t.pyx":710
- *         Get the offset of the first significant bit.
- *         """
- *         return H5Tget_offset(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_offset(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_10set_offset[] = "(UINT offset)\n\n        Set the offset of the first significant bit.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_offset) {
-  size_t __pyx_v_offset;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_offset (wrapper)", 0);
-  assert(__pyx_arg_offset); {
-    __pyx_v_offset = __Pyx_PyInt_AsSize_t(__pyx_arg_offset); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), ((size_t)__pyx_v_offset));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":713
- * 
- * 
- *     def set_offset(self, size_t offset):             # <<<<<<<<<<<<<<
- *         """(UINT offset)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_10set_offset(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, size_t __pyx_v_offset) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_offset", 0);
-
-  /* "h5py/h5t.pyx":718
- *         Set the offset of the first significant bit.
- *         """
- *         H5Tset_offset(self.id, offset)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_offset(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_offset); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 718; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_12get_pad[] = "() => (INT lsb_pad_code, INT msb_pad_code)\n\n        Determine the padding type.  Possible values are:\n\n        - PAD_ZERO\n        - PAD_ONE\n        - PAD_BACKGROUND\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_pad (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":721
- * 
- * 
- *     def get_pad(self):             # <<<<<<<<<<<<<<
- *         """() => (INT lsb_pad_code, INT msb_pad_code)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_12get_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self) {
-  H5T_pad_t __pyx_v_lsb;
-  H5T_pad_t __pyx_v_msb;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_pad", 0);
-
-  /* "h5py/h5t.pyx":732
- *         cdef H5T_pad_t lsb
- *         cdef H5T_pad_t msb
- *         H5Tget_pad(self.id, &lsb, &msb)             # <<<<<<<<<<<<<<
- *         return (<int>lsb, <int>msb)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_pad(__pyx_v_self->__pyx_base.__pyx_base.id, (&__pyx_v_lsb), (&__pyx_v_msb)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":733
- *         cdef H5T_pad_t msb
- *         H5Tget_pad(self.id, &lsb, &msb)
- *         return (<int>lsb, <int>msb)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_v_lsb)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyInt_FromLong(((int)__pyx_v_msb)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_4);
-  __pyx_t_4 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.get_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_12TypeAtomicID_14set_pad[] = "(INT lsb_pad_code, INT msb_pad_code)\n\n        Set the padding type.  Possible values are:\n\n        - PAD_ZERO\n        - PAD_ONE\n        - PAD_BACKGROUND\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  int __pyx_v_lsb;
-  int __pyx_v_msb;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_pad (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__lsb,&__pyx_n_s__msb,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__lsb)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msb)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_pad", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_pad") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_lsb = __Pyx_PyInt_AsInt(values[0]); if (unlikely((__pyx_v_lsb == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_msb = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_msb == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_pad", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 736; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)__pyx_v_self), __pyx_v_lsb, __pyx_v_msb);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":736
- * 
- * 
- *     def set_pad(self, int lsb, int msb):             # <<<<<<<<<<<<<<
- *         """(INT lsb_pad_code, INT msb_pad_code)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_12TypeAtomicID_14set_pad(struct __pyx_obj_4h5py_3h5t_TypeAtomicID *__pyx_v_self, int __pyx_v_lsb, int __pyx_v_msb) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_pad", 0);
-
-  /* "h5py/h5t.pyx":745
- *         - PAD_BACKGROUND
- *         """
- *         H5Tset_pad(self.id, <H5T_pad_t>lsb, <H5T_pad_t>msb)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_pad(__pyx_v_self->__pyx_base.__pyx_base.id, ((H5T_pad_t)__pyx_v_lsb), ((H5T_pad_t)__pyx_v_msb)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 745; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeAtomicID.set_pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_13TypeIntegerID_get_sign[] = "() => INT sign\n\n        Get the \"signedness\" of the datatype; one of:\n\n        SGN_NONE\n            Unsigned\n\n        SGN_2\n            Signed 2's complement\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_sign (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":755
- * 
- * 
- *     def get_sign(self):             # <<<<<<<<<<<<<<
- *         """() => INT sign
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_get_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5T_sign_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_sign", 0);
-
-  /* "h5py/h5t.pyx":766
- *             Signed 2's complement
- *         """
- *         return <int>H5Tget_sign(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_sign(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.get_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign(PyObject *__pyx_v_self, PyObject *__pyx_arg_sign); /*proto*/
-static char __pyx_doc_4h5py_3h5t_13TypeIntegerID_2set_sign[] = "(INT sign)\n\n        Set the \"signedness\" of the datatype; one of:\n\n        SGN_NONE\n            Unsigned\n\n        SGN_2\n            Signed 2's complement\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign(PyObject *__pyx_v_self, PyObject *__pyx_arg_sign) {
-  int __pyx_v_sign;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_sign (wrapper)", 0);
-  assert(__pyx_arg_sign); {
-    __pyx_v_sign = __Pyx_PyInt_AsInt(__pyx_arg_sign); if (unlikely((__pyx_v_sign == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.set_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_v_self), ((int)__pyx_v_sign));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":769
- * 
- * 
- *     def set_sign(self, int sign):             # <<<<<<<<<<<<<<
- *         """(INT sign)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_13TypeIntegerID_2set_sign(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self, int __pyx_v_sign) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_sign", 0);
-
-  /* "h5py/h5t.pyx":780
- *             Signed 2's complement
- *         """
- *         H5Tset_sign(self.id, <H5T_sign_t>sign)             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_sign(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_sign_t)__pyx_v_sign)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.set_sign", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":782
- *         H5Tset_sign(self.id, <H5T_sign_t>sign)
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- *         # Translation function for integer types
- *         return dtype( _order_map[self.get_order()] +
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_13TypeIntegerID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":784
- *     cdef object py_dtype(self):
- *         # Translation function for integer types
- *         return dtype( _order_map[self.get_order()] +             # <<<<<<<<<<<<<<
- *                       _sign_map[self.get_sign()] + str(self.get_size()) )
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-
-  /* "h5py/h5t.pyx":785
- *         # Translation function for integer types
- *         return dtype( _order_map[self.get_order()] +
- *                       _sign_map[self.get_sign()] + str(self.get_size()) )             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__order_map) == Py_None)) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-
-  /* "h5py/h5t.pyx":784
- *     cdef object py_dtype(self):
- *         # Translation function for integer types
- *         return dtype( _order_map[self.get_order()] +             # <<<<<<<<<<<<<<
- *                       _sign_map[self.get_sign()] + str(self.get_size()) )
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_4h5py_3h5t__order_map), __pyx_t_2); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":785
- *         # Translation function for integer types
- *         return dtype( _order_map[self.get_order()] +
- *                       _sign_map[self.get_sign()] + str(self.get_size()) )             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__sign_map) == Py_None)) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_sign); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_4h5py_3h5t__sign_map), __pyx_t_3); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.TypeIntegerID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeFloatID_get_fields[] = "() => TUPLE field_info\n\n        Get information about floating-point bit fields.  See the HDF5\n        docs for a full description.  Tuple has the following members:\n\n        0. UINT spos\n        1. UINT epos\n        2. UINT esize\n        3. UINT mpos\n        4. UINT msize\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_fields (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":795
- * 
- * 
- *     def get_fields(self):             # <<<<<<<<<<<<<<
- *         """() => TUPLE field_info
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_get_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
-  size_t __pyx_v_spos;
-  size_t __pyx_v_epos;
-  size_t __pyx_v_esize;
-  size_t __pyx_v_mpos;
-  size_t __pyx_v_msize;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_fields", 0);
-
-  /* "h5py/h5t.pyx":808
- *         """
- *         cdef size_t spos, epos, esize, mpos, msize
- *         H5Tget_fields(self.id, &spos, &epos, &esize, &mpos, &msize)             # <<<<<<<<<<<<<<
- *         return (spos, epos, esize, mpos, msize)
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_fields(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_spos), (&__pyx_v_epos), (&__pyx_v_esize), (&__pyx_v_mpos), (&__pyx_v_msize)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":809
- *         cdef size_t spos, epos, esize, mpos, msize
- *         H5Tget_fields(self.id, &spos, &epos, &esize, &mpos, &msize)
- *         return (spos, epos, esize, mpos, msize)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_spos); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_v_epos); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = __Pyx_PyInt_FromSize_t(__pyx_v_esize); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_v_mpos); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_msize); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __pyx_t_7 = PyTuple_New(5); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_7, 2, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_7, 3, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_7, 4, __pyx_t_6);
-  __Pyx_GIVEREF(__pyx_t_6);
-  __pyx_t_2 = 0;
-  __pyx_t_3 = 0;
-  __pyx_t_4 = 0;
-  __pyx_t_5 = 0;
-  __pyx_t_6 = 0;
-  __pyx_r = ((PyObject *)__pyx_t_7);
-  __pyx_t_7 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeFloatID_2set_fields[] = "(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize)\n\n        Set floating-point bit fields.  Refer to the HDF5 docs for\n        argument definitions.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  size_t __pyx_v_spos;
-  size_t __pyx_v_epos;
-  size_t __pyx_v_esize;
-  size_t __pyx_v_mpos;
-  size_t __pyx_v_msize;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_fields (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__spos,&__pyx_n_s__epos,&__pyx_n_s__esize,&__pyx_n_s__mpos,&__pyx_n_s__msize,0};
-    PyObject* values[5] = {0,0,0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__spos)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__epos)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__esize)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__mpos)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  4:
-        if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__msize)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_fields") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-    }
-    __pyx_v_spos = __Pyx_PyInt_AsSize_t(values[0]); if (unlikely((__pyx_v_spos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_epos = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_epos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_esize = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_esize == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_mpos = __Pyx_PyInt_AsSize_t(values[3]); if (unlikely((__pyx_v_mpos == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_msize = __Pyx_PyInt_AsSize_t(values[4]); if (unlikely((__pyx_v_msize == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("set_fields", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":812
- * 
- * 
- *     def set_fields(self, size_t spos, size_t epos, size_t esize,             # <<<<<<<<<<<<<<
- *                           size_t mpos, size_t msize):
- *         """(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize)
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_2set_fields(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_spos, size_t __pyx_v_epos, size_t __pyx_v_esize, size_t __pyx_v_mpos, size_t __pyx_v_msize) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_fields", 0);
-
-  /* "h5py/h5t.pyx":819
- *         argument definitions.
- *         """
- *         H5Tset_fields(self.id, spos, epos, esize, mpos, msize)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_fields(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_spos, __pyx_v_epos, __pyx_v_esize, __pyx_v_mpos, __pyx_v_msize); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_fields", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeFloatID_4get_ebias[] = "() => UINT ebias\n\n        Get the exponent bias.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_ebias (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":822
- * 
- * 
- *     def get_ebias(self):             # <<<<<<<<<<<<<<
- *         """() => UINT ebias
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_4get_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  size_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_ebias", 0);
-
-  /* "h5py/h5t.pyx":827
- *         Get the exponent bias.
- *         """
- *         return H5Tget_ebias(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_ebias(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias(PyObject *__pyx_v_self, PyObject *__pyx_arg_ebias); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeFloatID_6set_ebias[] = "(UINT ebias)\n\n        Set the exponent bias.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias(PyObject *__pyx_v_self, PyObject *__pyx_arg_ebias) {
-  size_t __pyx_v_ebias;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_ebias (wrapper)", 0);
-  assert(__pyx_arg_ebias); {
-    __pyx_v_ebias = __Pyx_PyInt_AsSize_t(__pyx_arg_ebias); if (unlikely((__pyx_v_ebias == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((size_t)__pyx_v_ebias));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":830
- * 
- * 
- *     def set_ebias(self, size_t ebias):             # <<<<<<<<<<<<<<
- *         """(UINT ebias)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_6set_ebias(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, size_t __pyx_v_ebias) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_ebias", 0);
-
-  /* "h5py/h5t.pyx":835
- *         Set the exponent bias.
- *         """
- *         H5Tset_ebias(self.id, ebias)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_ebias(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_ebias); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_ebias", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeFloatID_8get_norm[] = "() => INT normalization_code\n\n        Get the normalization strategy.  Legal values are:\n\n        - NORM_IMPLIED\n        - NORM_MSBSET\n        - NORM_NONE\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_norm (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":838
- * 
- * 
- *     def get_norm(self):             # <<<<<<<<<<<<<<
- *         """() => INT normalization_code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_8get_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5T_norm_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_norm", 0);
-
-  /* "h5py/h5t.pyx":847
- *         - NORM_NONE
- *         """
- *         return <int>H5Tget_norm(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_norm(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm(PyObject *__pyx_v_self, PyObject *__pyx_arg_norm); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeFloatID_10set_norm[] = "(INT normalization_code)\n\n        Set the normalization strategy.  Legal values are:\n\n        - NORM_IMPLIED\n        - NORM_MSBSET\n        - NORM_NONE\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm(PyObject *__pyx_v_self, PyObject *__pyx_arg_norm) {
-  int __pyx_v_norm;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_norm (wrapper)", 0);
-  assert(__pyx_arg_norm); {
-    __pyx_v_norm = __Pyx_PyInt_AsInt(__pyx_arg_norm); if (unlikely((__pyx_v_norm == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((int)__pyx_v_norm));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":850
- * 
- * 
- *     def set_norm(self, int norm):             # <<<<<<<<<<<<<<
- *         """(INT normalization_code)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_10set_norm(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_norm) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_norm", 0);
-
-  /* "h5py/h5t.pyx":859
- *         - NORM_NONE
- *         """
- *         H5Tset_norm(self.id, <H5T_norm_t>norm)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_norm(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_norm_t)__pyx_v_norm)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_norm", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeFloatID_12get_inpad[] = "() => INT pad_code\n\n        Determine the internal padding strategy.  Legal values are:\n\n        - PAD_ZERO\n        - PAD_ONE\n        - PAD_BACKGROUND\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_inpad (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":862
- * 
- * 
- *     def get_inpad(self):             # <<<<<<<<<<<<<<
- *         """() => INT pad_code
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_12get_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  H5T_pad_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_inpad", 0);
-
-  /* "h5py/h5t.pyx":871
- *         - PAD_BACKGROUND
- *         """
- *         return <int>H5Tget_inpad(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_inpad(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.get_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad_code); /*proto*/
-static char __pyx_doc_4h5py_3h5t_11TypeFloatID_14set_inpad[] = "(INT pad_code)\n\n        Set the internal padding strategy.  Legal values are:\n\n        - PAD_ZERO\n        - PAD_ONE\n        - PAD_BACKGROUND\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad(PyObject *__pyx_v_self, PyObject *__pyx_arg_pad_code) {
-  int __pyx_v_pad_code;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("set_inpad (wrapper)", 0);
-  assert(__pyx_arg_pad_code); {
-    __pyx_v_pad_code = __Pyx_PyInt_AsInt(__pyx_arg_pad_code); if (unlikely((__pyx_v_pad_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_v_self), ((int)__pyx_v_pad_code));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":874
- * 
- * 
- *     def set_inpad(self, int pad_code):             # <<<<<<<<<<<<<<
- *         """(INT pad_code)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_11TypeFloatID_14set_inpad(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self, int __pyx_v_pad_code) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("set_inpad", 0);
-
-  /* "h5py/h5t.pyx":883
- *         - PAD_BACKGROUND
- *         """
- *         H5Tset_inpad(self.id, <H5T_pad_t>pad_code)             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tset_inpad(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, ((H5T_pad_t)__pyx_v_pad_code)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.set_inpad", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":885
- *         H5Tset_inpad(self.id, <H5T_pad_t>pad_code)
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- *         # Translation function for floating-point types
- *         size = self.get_size()                  # int giving number of bytes
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_11TypeFloatID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_v_self) {
-  PyObject *__pyx_v_size = NULL;
-  PyObject *__pyx_v_order = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":887
- *     cdef object py_dtype(self):
- *         # Translation function for floating-point types
- *         size = self.get_size()                  # int giving number of bytes             # <<<<<<<<<<<<<<
- *         order = _order_map[self.get_order()]    # string with '<' or '>'
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_v_size = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":888
- *         # Translation function for floating-point types
- *         size = self.get_size()                  # int giving number of bytes
- *         order = _order_map[self.get_order()]    # string with '<' or '>'             # <<<<<<<<<<<<<<
- * 
- *         if size == 2 and not hasattr(np, 'float16'):
- */
-  if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__order_map) == Py_None)) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_4h5py_3h5t__order_map), __pyx_t_1); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_v_order = __pyx_t_2;
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":890
- *         order = _order_map[self.get_order()]    # string with '<' or '>'
- * 
- *         if size == 2 and not hasattr(np, 'float16'):             # <<<<<<<<<<<<<<
- *             # This build doesn't have float16; promote to float32
- *             return dtype(order+"f4")
- */
-  __pyx_t_2 = PyObject_RichCompare(__pyx_v_size, __pyx_int_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  if (__pyx_t_3) {
-    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyObject_HasAttr(__pyx_t_2, ((PyObject *)__pyx_n_s__float16)); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_5 = (!__pyx_t_4);
-    __pyx_t_4 = __pyx_t_5;
-  } else {
-    __pyx_t_4 = __pyx_t_3;
-  }
-  if (__pyx_t_4) {
-
-    /* "h5py/h5t.pyx":892
- *         if size == 2 and not hasattr(np, 'float16'):
- *             # This build doesn't have float16; promote to float32
- *             return dtype(order+"f4")             # <<<<<<<<<<<<<<
- * 
- *         if size > 8:
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = PyNumber_Add(__pyx_v_order, ((PyObject *)__pyx_n_s__f4)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_2);
-    __Pyx_GIVEREF(__pyx_t_2);
-    __pyx_t_2 = 0;
-    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 892; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-    __pyx_r = __pyx_t_2;
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":894
- *             return dtype(order+"f4")
- * 
- *         if size > 8:             # <<<<<<<<<<<<<<
- *             # The native NumPy longdouble is used for 96 and 128-bit floats
- *             return dtype(order + "f" + str(np.longdouble(1).dtype.itemsize))
- */
-  __pyx_t_2 = PyObject_RichCompare(__pyx_v_size, __pyx_int_8, Py_GT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 894; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  if (__pyx_t_4) {
-
-    /* "h5py/h5t.pyx":896
- *         if size > 8:
- *             # The native NumPy longdouble is used for 96 and 128-bit floats
- *             return dtype(order + "f" + str(np.longdouble(1).dtype.itemsize))             # <<<<<<<<<<<<<<
- * 
- *         return dtype( _order_map[self.get_order()] + "f" + \
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = PyNumber_Add(__pyx_v_order, ((PyObject *)__pyx_n_s__f)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_6 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__longdouble); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_12), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __pyx_t_6 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__dtype); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
-    __Pyx_GIVEREF(__pyx_t_1);
-    __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-    __pyx_t_6 = PyNumber_Add(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6);
-    __Pyx_GIVEREF(__pyx_t_6);
-    __pyx_t_6 = 0;
-    __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-    __pyx_r = __pyx_t_6;
-    __pyx_t_6 = 0;
-    goto __pyx_L0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5t.pyx":898
- *             return dtype(order + "f" + str(np.longdouble(1).dtype.itemsize))
- * 
- *         return dtype( _order_map[self.get_order()] + "f" + \             # <<<<<<<<<<<<<<
- *                       str(self.get_size()) )
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__order_map) == Py_None)) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_order); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __pyx_t_1 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-  __pyx_t_6 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_4h5py_3h5t__order_map), __pyx_t_1); if (!__pyx_t_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyNumber_Add(__pyx_t_6, ((PyObject *)__pyx_n_s__f)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-  /* "h5py/h5t.pyx":899
- * 
- *         return dtype( _order_map[self.get_order()] + "f" + \
- *                       str(self.get_size()) )             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_size); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __pyx_t_2 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-  __pyx_t_6 = PyNumber_Add(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6);
-  __Pyx_GIVEREF(__pyx_t_6);
-  __pyx_t_6 = 0;
-  __pyx_t_6 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_6);
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_r = __pyx_t_6;
-  __pyx_t_6 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5t.TypeFloatID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_size);
-  __Pyx_XDECREF(__pyx_v_order);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_get_nmembers[] = "() => INT number_of_members\n\n        Determine the number of members in a compound or enumerated type.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_nmembers (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":911
- * 
- * 
- *     def get_nmembers(self):             # <<<<<<<<<<<<<<
- *         """() => INT number_of_members
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_get_nmembers(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_nmembers", 0);
-
-  /* "h5py/h5t.pyx":916
- *         Determine the number of members in a compound or enumerated type.
- *         """
- *         return H5Tget_nmembers(self.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_nmembers(__pyx_v_self->__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_nmembers", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/
-static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_2get_member_name[] = "(INT member) => STRING name\n        \n        Determine the name of a member of a compound or enumerated type,\n        identified by its index (0 <= member < nmembers).\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) {
-  int __pyx_v_member;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_member_name (wrapper)", 0);
-  assert(__pyx_arg_member); {
-    __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 919; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self), ((int)__pyx_v_member));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":919
- * 
- * 
- *     def get_member_name(self, int member):             # <<<<<<<<<<<<<<
- *         """(INT member) => STRING name
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_2get_member_name(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, int __pyx_v_member) {
-  char *__pyx_v_name;
-  PyObject *__pyx_v_pyname = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  char *__pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_member_name", 0);
-
-  /* "h5py/h5t.pyx":926
- *         """
- *         cdef char* name
- *         name = NULL             # <<<<<<<<<<<<<<
- * 
- *         if member < 0:
- */
-  __pyx_v_name = NULL;
-
-  /* "h5py/h5t.pyx":928
- *         name = NULL
- * 
- *         if member < 0:             # <<<<<<<<<<<<<<
- *             raise ValueError("Member index must be non-negative.")
- * 
- */
-  __pyx_t_1 = (__pyx_v_member < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":929
- * 
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_14), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":931
- *             raise ValueError("Member index must be non-negative.")
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             name = H5Tget_member_name(self.id, member)
- *             assert name != NULL
- */
-  /*try:*/ {
-
-    /* "h5py/h5t.pyx":932
- * 
- *         try:
- *             name = H5Tget_member_name(self.id, member)             # <<<<<<<<<<<<<<
- *             assert name != NULL
- *             pyname = <bytes>name
- */
-    __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_name(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __pyx_v_name = __pyx_t_3;
-
-    /* "h5py/h5t.pyx":933
- *         try:
- *             name = H5Tget_member_name(self.id, member)
- *             assert name != NULL             # <<<<<<<<<<<<<<
- *             pyname = <bytes>name
- *         finally:
- */
-    #ifndef CYTHON_WITHOUT_ASSERTIONS
-    if (unlikely(!(__pyx_v_name != NULL))) {
-      PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 933; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    }
-    #endif
-
-    /* "h5py/h5t.pyx":934
- *             name = H5Tget_member_name(self.id, member)
- *             assert name != NULL
- *             pyname = <bytes>name             # <<<<<<<<<<<<<<
- *         finally:
- *             free(name)
- */
-    __pyx_t_2 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-    __Pyx_INCREF(((PyObject*)__pyx_t_2));
-    __pyx_v_pyname = ((PyObject*)__pyx_t_2);
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  }
-
-  /* "h5py/h5t.pyx":936
- *             pyname = <bytes>name
- *         finally:
- *             free(name)             # <<<<<<<<<<<<<<
- * 
- *         return pyname
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L6;
-    __pyx_L5: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    free(__pyx_v_name);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/h5t.pyx":938
- *             free(name)
- * 
- *         return pyname             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_pyname));
-  __pyx_r = ((PyObject *)__pyx_v_pyname);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_pyname);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
-static char __pyx_doc_4h5py_3h5t_15TypeCompositeID_4get_member_index[] = "(STRING name) => INT index\n\n        Determine the index of a member of a compound or enumerated datatype\n        identified by a string name.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_member_index (wrapper)", 0);
-  assert(__pyx_arg_name); {
-    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)__pyx_v_self), ((char *)__pyx_v_name));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":941
- * 
- * 
- *     def get_member_index(self, char* name):             # <<<<<<<<<<<<<<
- *         """(STRING name) => INT index
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_15TypeCompositeID_4get_member_index(struct __pyx_obj_4h5py_3h5t_TypeCompositeID *__pyx_v_self, char *__pyx_v_name) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_member_index", 0);
-
-  /* "h5py/h5t.pyx":947
- *         identified by a string name.
- *         """
- *         return H5Tget_member_index(self.id, name)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_member_index(__pyx_v_self->__pyx_base.__pyx_base.id, __pyx_v_name); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 947; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeCompositeID.get_member_index", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/
-static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_get_member_class[] = "(INT member) => INT class\n\n        Determine the datatype class of the member of a compound type,\n        identified by its index (0 <= member < nmembers).\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) {
-  int __pyx_v_member;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_member_class (wrapper)", 0);
-  assert(__pyx_arg_member); {
-    __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":958
- * 
- * 
- *     def get_member_class(self, int member):             # <<<<<<<<<<<<<<
- *         """(INT member) => INT class
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_get_member_class(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  enum H5T_class_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_member_class", 0);
-
-  /* "h5py/h5t.pyx":964
- *         identified by its index (0 <= member < nmembers).
- *         """
- *         if member < 0:             # <<<<<<<<<<<<<<
- *             raise ValueError("Member index must be non-negative.")
- *         return H5Tget_member_class(self.id, member)
- */
-  __pyx_t_1 = (__pyx_v_member < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":965
- *         """
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
- *         return H5Tget_member_class(self.id, member)
- * 
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_15), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":966
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")
- *         return H5Tget_member_class(self.id, member)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_class(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_class", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/
-static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_2get_member_offset[] = "(INT member) => INT offset\n\n        Determine the offset, in bytes, of the beginning of the specified\n        member of a compound datatype.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) {
-  int __pyx_v_member;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_member_offset (wrapper)", 0);
-  assert(__pyx_arg_member); {
-    __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 970; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":970
- * 
- * 
- *     def get_member_offset(self, int member):             # <<<<<<<<<<<<<<
- *         """(INT member) => INT offset
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_2get_member_offset(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_member_offset", 0);
-
-  /* "h5py/h5t.pyx":976
- *         member of a compound datatype.
- *         """
- *         if member < 0:             # <<<<<<<<<<<<<<
- *             raise ValueError("Member index must be non-negative.")
- *         return H5Tget_member_offset(self.id, member)
- */
-  __pyx_t_1 = (__pyx_v_member < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":977
- *         """
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
- *         return H5Tget_member_offset(self.id, member)
- * 
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_16), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":978
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")
- *         return H5Tget_member_offset(self.id, member)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_offset(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = PyInt_FromLong(__pyx_t_3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 978; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type(PyObject *__pyx_v_self, PyObject *__pyx_arg_member); /*proto*/
-static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_4get_member_type[] = "(INT member) => TypeID\n\n        Create a copy of a member of a compound datatype, identified by its\n        index.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type(PyObject *__pyx_v_self, PyObject *__pyx_arg_member) {
-  int __pyx_v_member;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_member_type (wrapper)", 0);
-  assert(__pyx_arg_member); {
-    __pyx_v_member = __Pyx_PyInt_AsInt(__pyx_arg_member); if (unlikely((__pyx_v_member == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 981; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), ((int)__pyx_v_member));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":981
- * 
- * 
- *     def get_member_type(self, int member):             # <<<<<<<<<<<<<<
- *         """(INT member) => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_4get_member_type(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, int __pyx_v_member) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  hid_t __pyx_t_3;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_member_type", 0);
-
-  /* "h5py/h5t.pyx":987
- *         index.
- *         """
- *         if member < 0:             # <<<<<<<<<<<<<<
- *             raise ValueError("Member index must be non-negative.")
- *         return typewrap(H5Tget_member_type(self.id, member))
- */
-  __pyx_t_1 = (__pyx_v_member < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":988
- *         """
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
- *         return typewrap(H5Tget_member_type(self.id, member))
- * 
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_17), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":989
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")
- *         return typewrap(H5Tget_member_type(self.id, member))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_type(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_member); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 989; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t_typewrap(__pyx_t_3, 0)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 989; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.get_member_type", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_6insert[] = "(STRING name, UINT offset, TypeID field)\n\n        Add a named member datatype to a compound datatype.  The parameter\n        offset indicates the offset from the start of the compound datatype,\n        in bytes.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_name;
-  size_t __pyx_v_offset;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("insert (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__offset,&__pyx_n_s__field,0};
-    PyObject* values[3] = {0,0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__offset)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__field)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "insert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-    }
-    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_offset = __Pyx_PyInt_AsSize_t(values[1]); if (unlikely((__pyx_v_offset == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_field = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[2]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("insert", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_field), __pyx_ptype_4h5py_3h5t_TypeID, 0, "field", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 992; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self), __pyx_v_name, __pyx_v_offset, __pyx_v_field);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":992
- * 
- * 
- *     def insert(self, char* name, size_t offset, TypeID field not None):             # <<<<<<<<<<<<<<
- *         """(STRING name, UINT offset, TypeID field)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_6insert(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self, char *__pyx_v_name, size_t __pyx_v_offset, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_field) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("insert", 0);
-
-  /* "h5py/h5t.pyx":999
- *         in bytes.
- *         """
- *         H5Tinsert(self.id, name, offset, field.id)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, __pyx_v_offset, __pyx_v_field->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 999; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static char __pyx_doc_4h5py_3h5t_14TypeCompoundID_8pack[] = "()\n\n        Recursively removes padding (introduced on account of e.g. compiler\n        alignment rules) from a compound datatype.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack(PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("pack (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_v_self));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1002
- * 
- * 
- *     def pack(self):             # <<<<<<<<<<<<<<
- *         """()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_14TypeCompoundID_8pack(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("pack", 0);
-
-  /* "h5py/h5t.pyx":1008
- *         alignment rules) from a compound datatype.
- *         """
- *         H5Tpack(self.id)             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self):
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tpack(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1008; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.pack", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1010
- *         H5Tpack(self.id)
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- * 
- *         cdef TypeID tmp_type
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_14TypeCompoundID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_tmp_type = 0;
-  PyObject *__pyx_v_field_names = 0;
-  PyObject *__pyx_v_field_types = 0;
-  int __pyx_v_nfields;
-  long __pyx_v_i;
-  PyObject *__pyx_v_name = NULL;
-  PyObject *__pyx_v_bstring = NULL;
-  PyObject *__pyx_v_blen = NULL;
-  PyObject *__pyx_v_nstring = NULL;
-  PyArray_Descr *__pyx_v_typeobj = NULL;
-  PyObject *__pyx_v_x = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_t_5;
-  Py_ssize_t __pyx_t_6;
-  int __pyx_t_7;
-  PyObject *__pyx_t_8 = NULL;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  int __pyx_t_11;
-  int __pyx_t_12;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":1016
- *         cdef list field_types
- *         cdef int nfields
- *         field_names = []             # <<<<<<<<<<<<<<
- *         field_types = []
- *         nfields = self.get_nmembers()
- */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1016; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_field_names = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1017
- *         cdef int nfields
- *         field_names = []
- *         field_types = []             # <<<<<<<<<<<<<<
- *         nfields = self.get_nmembers()
- * 
- */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1017; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_field_types = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1018
- *         field_names = []
- *         field_types = []
- *         nfields = self.get_nmembers()             # <<<<<<<<<<<<<<
- * 
- *         # First step: read field names and their Numpy dtypes into
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_nmembers); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_3 = __Pyx_PyInt_AsInt(__pyx_t_2); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1018; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_v_nfields = __pyx_t_3;
-
-  /* "h5py/h5t.pyx":1022
- *         # First step: read field names and their Numpy dtypes into
- *         # two separate arrays.
- *         for i from 0 <= i < nfields:             # <<<<<<<<<<<<<<
- *             tmp_type = self.get_member_type(i)
- *             name = self.get_member_name(i)
- */
-  __pyx_t_3 = __pyx_v_nfields;
-  for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_3; __pyx_v_i++) {
-
-    /* "h5py/h5t.pyx":1023
- *         # two separate arrays.
- *         for i from 0 <= i < nfields:
- *             tmp_type = self.get_member_type(i)             # <<<<<<<<<<<<<<
- *             name = self.get_member_name(i)
- *             field_names.append(name)
- */
-    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_type); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_1 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
-    __Pyx_GIVEREF(__pyx_t_1);
-    __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1023; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_XDECREF(((PyObject *)__pyx_v_tmp_type));
-    __pyx_v_tmp_type = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1);
-    __pyx_t_1 = 0;
-
-    /* "h5py/h5t.pyx":1024
- *         for i from 0 <= i < nfields:
- *             tmp_type = self.get_member_type(i)
- *             name = self.get_member_name(i)             # <<<<<<<<<<<<<<
- *             field_names.append(name)
- *             field_types.append(tmp_type.py_dtype())
- */
-    __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_4 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4);
-    __Pyx_GIVEREF(__pyx_t_4);
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1024; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/h5t.pyx":1025
- *             tmp_type = self.get_member_type(i)
- *             name = self.get_member_name(i)
- *             field_names.append(name)             # <<<<<<<<<<<<<<
- *             field_types.append(tmp_type.py_dtype())
- * 
- */
-    __pyx_t_5 = PyList_Append(__pyx_v_field_names, __pyx_v_name); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1025; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-    /* "h5py/h5t.pyx":1026
- *             name = self.get_member_name(i)
- *             field_names.append(name)
- *             field_types.append(tmp_type.py_dtype())             # <<<<<<<<<<<<<<
- * 
- * 
- */
-    __pyx_t_4 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_tmp_type->__pyx_vtab)->py_dtype(__pyx_v_tmp_type); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = PyList_Append(__pyx_v_field_types, __pyx_t_4); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1026; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  }
-
-  /* "h5py/h5t.pyx":1030
- * 
- *         # 1. Check if it should be converted to a complex number
- *         if len(field_names) == 2                                and \             # <<<<<<<<<<<<<<
- *             tuple(field_names) == (cfg._r_name, cfg._i_name)    and \
- *             field_types[0] == field_types[1]                    and \
- */
-  __pyx_t_6 = PyList_GET_SIZE(((PyObject *)__pyx_v_field_names)); if (unlikely(__pyx_t_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1030; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_7 = (__pyx_t_6 == 2);
-  if (__pyx_t_7) {
-
-    /* "h5py/h5t.pyx":1031
- *         # 1. Check if it should be converted to a complex number
- *         if len(field_names) == 2                                and \
- *             tuple(field_names) == (cfg._r_name, cfg._i_name)    and \             # <<<<<<<<<<<<<<
- *             field_types[0] == field_types[1]                    and \
- *             field_types[0].kind == 'f':
- */
-    __pyx_t_4 = ((PyObject *)PyList_AsTuple(__pyx_v_field_names)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_1 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___r_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_8 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___i_name); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
-    __Pyx_GIVEREF(__pyx_t_1);
-    PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_8);
-    __Pyx_GIVEREF(__pyx_t_8);
-    __pyx_t_1 = 0;
-    __pyx_t_8 = 0;
-    __pyx_t_8 = PyObject_RichCompare(((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_2), Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1031; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-    if (__pyx_t_9) {
-
-      /* "h5py/h5t.pyx":1032
- *         if len(field_names) == 2                                and \
- *             tuple(field_names) == (cfg._r_name, cfg._i_name)    and \
- *             field_types[0] == field_types[1]                    and \             # <<<<<<<<<<<<<<
- *             field_types[0].kind == 'f':
- * 
- */
-      __pyx_t_8 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_8);
-      __pyx_t_2 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __pyx_t_4 = PyObject_RichCompare(__pyx_t_8, __pyx_t_2, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1032; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      if (__pyx_t_10) {
-
-        /* "h5py/h5t.pyx":1033
- *             tuple(field_names) == (cfg._r_name, cfg._i_name)    and \
- *             field_types[0] == field_types[1]                    and \
- *             field_types[0].kind == 'f':             # <<<<<<<<<<<<<<
- * 
- *             bstring = field_types[0].str
- */
-        __pyx_t_4 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_4);
-        __pyx_t_2 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__kind); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_2);
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __pyx_t_4 = PyObject_RichCompare(__pyx_t_2, ((PyObject *)__pyx_n_s__f), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1033; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __pyx_t_12 = __pyx_t_11;
-      } else {
-        __pyx_t_12 = __pyx_t_10;
-      }
-      __pyx_t_10 = __pyx_t_12;
-    } else {
-      __pyx_t_10 = __pyx_t_9;
-    }
-    __pyx_t_9 = __pyx_t_10;
-  } else {
-    __pyx_t_9 = __pyx_t_7;
-  }
-  if (__pyx_t_9) {
-
-    /* "h5py/h5t.pyx":1035
- *             field_types[0].kind == 'f':
- * 
- *             bstring = field_types[0].str             # <<<<<<<<<<<<<<
- *             blen = int(bstring[2:])
- *             nstring = bstring[0] + "c" + str(2*blen)
- */
-    __pyx_t_4 = __Pyx_GetItemInt_List(((PyObject *)__pyx_v_field_types), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_2 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__str); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1035; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_v_bstring = __pyx_t_2;
-    __pyx_t_2 = 0;
-
-    /* "h5py/h5t.pyx":1036
- * 
- *             bstring = field_types[0].str
- *             blen = int(bstring[2:])             # <<<<<<<<<<<<<<
- *             nstring = bstring[0] + "c" + str(2*blen)
- *             typeobj = dtype(nstring)
- */
-    __pyx_t_2 = __Pyx_PySequence_GetSlice(__pyx_v_bstring, 2, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2);
-    __Pyx_GIVEREF(__pyx_t_2);
-    __pyx_t_2 = 0;
-    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1036; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    __pyx_v_blen = __pyx_t_2;
-    __pyx_t_2 = 0;
-
-    /* "h5py/h5t.pyx":1037
- *             bstring = field_types[0].str
- *             blen = int(bstring[2:])
- *             nstring = bstring[0] + "c" + str(2*blen)             # <<<<<<<<<<<<<<
- *             typeobj = dtype(nstring)
- * 
- */
-    __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_bstring, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_4 = PyNumber_Add(__pyx_t_2, ((PyObject *)__pyx_n_s__c)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_2 = PyNumber_Multiply(__pyx_int_2, __pyx_v_blen); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2);
-    __Pyx_GIVEREF(__pyx_t_2);
-    __pyx_t_2 = 0;
-    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)(&PyString_Type))), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-    __pyx_t_8 = PyNumber_Add(__pyx_t_4, __pyx_t_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1037; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_v_nstring = __pyx_t_8;
-    __pyx_t_8 = 0;
-
-    /* "h5py/h5t.pyx":1038
- *             blen = int(bstring[2:])
- *             nstring = bstring[0] + "c" + str(2*blen)
- *             typeobj = dtype(nstring)             # <<<<<<<<<<<<<<
- * 
- *         # 2. Otherwise, read all fields of the compound type, in HDF5 order.
- */
-    __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_INCREF(__pyx_v_nstring);
-    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_nstring);
-    __Pyx_GIVEREF(__pyx_v_nstring);
-    __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1038; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-    __pyx_v_typeobj = ((PyArray_Descr *)__pyx_t_2);
-    __pyx_t_2 = 0;
-    goto __pyx_L5;
-  }
-  /*else*/ {
-
-    /* "h5py/h5t.pyx":1042
- *         # 2. Otherwise, read all fields of the compound type, in HDF5 order.
- *         else:
- *             if sys.version[0] == '3':             # <<<<<<<<<<<<<<
- *                 field_names = [x.decode('utf8') for x in field_names]
- *             typeobj = dtype(list(zip(field_names, field_types)))
- */
-    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_8 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s__version); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_8, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-    __pyx_t_8 = PyObject_RichCompare(__pyx_t_2, ((PyObject *)__pyx_kp_s__3), Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1042; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-    if (__pyx_t_9) {
-
-      /* "h5py/h5t.pyx":1043
- *         else:
- *             if sys.version[0] == '3':
- *                 field_names = [x.decode('utf8') for x in field_names]             # <<<<<<<<<<<<<<
- *             typeobj = dtype(list(zip(field_names, field_types)))
- * 
- */
-      __pyx_t_8 = PyList_New(0); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_8);
-      __pyx_t_2 = ((PyObject *)__pyx_v_field_names); __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
-      for (;;) {
-        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
-        #if CYTHON_COMPILING_IN_CPYTHON
-        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        #else
-        __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        #endif
-        __Pyx_XDECREF(__pyx_v_x);
-        __pyx_v_x = __pyx_t_4;
-        __pyx_t_4 = 0;
-        __pyx_t_4 = PyObject_GetAttr(__pyx_v_x, __pyx_n_s__decode); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_4);
-        __pyx_t_1 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_k_tuple_18), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_1);
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        if (unlikely(__Pyx_PyList_Append(__pyx_t_8, (PyObject*)__pyx_t_1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-      }
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __pyx_t_2 = ((PyObject *)__pyx_t_8);
-      __Pyx_INCREF(__pyx_t_2);
-      __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-      __Pyx_DECREF(((PyObject *)__pyx_v_field_names));
-      __pyx_v_field_names = ((PyObject*)__pyx_t_2);
-      __pyx_t_2 = 0;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-
-    /* "h5py/h5t.pyx":1044
- *             if sys.version[0] == '3':
- *                 field_names = [x.decode('utf8') for x in field_names]
- *             typeobj = dtype(list(zip(field_names, field_types)))             # <<<<<<<<<<<<<<
- * 
- *         return typeobj
- */
-    __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_INCREF(((PyObject *)__pyx_v_field_names));
-    PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_v_field_names));
-    __Pyx_GIVEREF(((PyObject *)__pyx_v_field_names));
-    __Pyx_INCREF(((PyObject *)__pyx_v_field_types));
-    PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_field_types));
-    __Pyx_GIVEREF(((PyObject *)__pyx_v_field_types));
-    __pyx_t_8 = PyObject_Call(__pyx_builtin_zip, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
-    __Pyx_GIVEREF(__pyx_t_8);
-    __pyx_t_8 = 0;
-    __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)(&PyList_Type))), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8);
-    __Pyx_GIVEREF(__pyx_t_8);
-    __pyx_t_8 = 0;
-    __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __pyx_v_typeobj = ((PyArray_Descr *)__pyx_t_8);
-    __pyx_t_8 = 0;
-  }
-  __pyx_L5:;
-
-  /* "h5py/h5t.pyx":1046
- *             typeobj = dtype(list(zip(field_names, field_types)))
- * 
- *         return typeobj             # <<<<<<<<<<<<<<
- * 
- * cdef class TypeEnumID(TypeCompositeID):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_typeobj));
-  __pyx_r = ((PyObject *)__pyx_v_typeobj);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_AddTraceback("h5py.h5t.TypeCompoundID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_tmp_type);
-  __Pyx_XDECREF(__pyx_v_field_names);
-  __Pyx_XDECREF(__pyx_v_field_types);
-  __Pyx_XDECREF(__pyx_v_name);
-  __Pyx_XDECREF(__pyx_v_bstring);
-  __Pyx_XDECREF(__pyx_v_blen);
-  __Pyx_XDECREF(__pyx_v_nstring);
-  __Pyx_XDECREF((PyObject *)__pyx_v_typeobj);
-  __Pyx_XDECREF(__pyx_v_x);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1054
- *     """
- * 
- *     cdef int enum_convert(self, long long *buf, int reverse) except -1:             # <<<<<<<<<<<<<<
- *         # Convert the long long value in "buf" to the native representation
- *         # of this (enumerated) type.  Conversion performed in-place.
- */
-
-static int __pyx_f_4h5py_3h5t_10TypeEnumID_enum_convert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG *__pyx_v_buf, int __pyx_v_reverse) {
-  hid_t __pyx_v_basetype;
-  enum H5T_class_t __pyx_v_class_code;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  enum H5T_class_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  hid_t __pyx_t_5;
-  herr_t __pyx_t_6;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("enum_convert", 0);
-
-  /* "h5py/h5t.pyx":1062
- *         cdef H5T_class_t class_code
- * 
- *         class_code = H5Tget_class(self.id)             # <<<<<<<<<<<<<<
- *         if class_code != H5T_ENUM:
- *             raise ValueError("This type (class %d) is not of class ENUM" % class_code)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tget_class(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1062; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_class_code = __pyx_t_1;
-
-  /* "h5py/h5t.pyx":1063
- * 
- *         class_code = H5Tget_class(self.id)
- *         if class_code != H5T_ENUM:             # <<<<<<<<<<<<<<
- *             raise ValueError("This type (class %d) is not of class ENUM" % class_code)
- * 
- */
-  __pyx_t_2 = (__pyx_v_class_code != H5T_ENUM);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":1064
- *         class_code = H5Tget_class(self.id)
- *         if class_code != H5T_ENUM:
- *             raise ValueError("This type (class %d) is not of class ENUM" % class_code)             # <<<<<<<<<<<<<<
- * 
- *         basetype = H5Tget_super(self.id)
- */
-    __pyx_t_3 = PyInt_FromLong(__pyx_v_class_code); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_19), __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1064; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":1066
- *             raise ValueError("This type (class %d) is not of class ENUM" % class_code)
- * 
- *         basetype = H5Tget_super(self.id)             # <<<<<<<<<<<<<<
- *         assert basetype > 0
- * 
- */
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tget_super(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1066; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_basetype = __pyx_t_5;
-
-  /* "h5py/h5t.pyx":1067
- * 
- *         basetype = H5Tget_super(self.id)
- *         assert basetype > 0             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  #ifndef CYTHON_WITHOUT_ASSERTIONS
-  if (unlikely(!(__pyx_v_basetype > 0))) {
-    PyErr_SetNone(PyExc_AssertionError);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1067; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  #endif
-
-  /* "h5py/h5t.pyx":1069
- *         assert basetype > 0
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             if not reverse:
- *                 H5Tconvert(H5T_NATIVE_LLONG, basetype, 1, buf, NULL, H5P_DEFAULT)
- */
-  /*try:*/ {
-
-    /* "h5py/h5t.pyx":1070
- * 
- *         try:
- *             if not reverse:             # <<<<<<<<<<<<<<
- *                 H5Tconvert(H5T_NATIVE_LLONG, basetype, 1, buf, NULL, H5P_DEFAULT)
- *             else:
- */
-    __pyx_t_2 = (!__pyx_v_reverse);
-    if (__pyx_t_2) {
-
-      /* "h5py/h5t.pyx":1071
- *         try:
- *             if not reverse:
- *                 H5Tconvert(H5T_NATIVE_LLONG, basetype, 1, buf, NULL, H5P_DEFAULT)             # <<<<<<<<<<<<<<
- *             else:
- *                 H5Tconvert(basetype, H5T_NATIVE_LLONG, 1, buf, NULL, H5P_DEFAULT)
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tconvert(H5T_NATIVE_LLONG, __pyx_v_basetype, 1, __pyx_v_buf, NULL, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1071; __pyx_clineno = __LINE__; goto __pyx_L5;}
-      goto __pyx_L7;
-    }
-    /*else*/ {
-
-      /* "h5py/h5t.pyx":1073
- *                 H5Tconvert(H5T_NATIVE_LLONG, basetype, 1, buf, NULL, H5P_DEFAULT)
- *             else:
- *                 H5Tconvert(basetype, H5T_NATIVE_LLONG, 1, buf, NULL, H5P_DEFAULT)             # <<<<<<<<<<<<<<
- *         finally:
- *             H5Tclose(basetype)
- */
-      __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_basetype, H5T_NATIVE_LLONG, 1, __pyx_v_buf, NULL, H5P_DEFAULT); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1073; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    }
-    __pyx_L7:;
-  }
-
-  /* "h5py/h5t.pyx":1075
- *                 H5Tconvert(basetype, H5T_NATIVE_LLONG, 1, buf, NULL, H5P_DEFAULT)
- *         finally:
- *             H5Tclose(basetype)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L6;
-    __pyx_L5: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tclose(__pyx_v_basetype); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1075; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
-    goto __pyx_L9;
-    __pyx_L8_error:;
-    if (__pyx_why == 4) {
-      Py_XDECREF(__pyx_exc_type);
-      Py_XDECREF(__pyx_exc_value);
-      Py_XDECREF(__pyx_exc_tb);
-    }
-    goto __pyx_L1_error;
-    __pyx_L9:;
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_convert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_10TypeEnumID_enum_insert[] = "(STRING name, INT/LONG value)\n\n        Define a new member of an enumerated type.  The value will be\n        automatically converted to the base type defined for this enum.  If\n        the conversion results in overflow, the value will be silently \n        clipped.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_name;
-  PY_LONG_LONG __pyx_v_value;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("enum_insert (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__name,&__pyx_n_s__value,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__name)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__value)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("enum_insert", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "enum_insert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_name = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_value = __Pyx_PyInt_AsLongLong(values[1]); if (unlikely((__pyx_v_value == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("enum_insert", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1078; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), __pyx_v_name, __pyx_v_value);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1078
- * 
- * 
- *     def enum_insert(self, char* name, long long value):             # <<<<<<<<<<<<<<
- *         """(STRING name, INT/LONG value)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_enum_insert(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name, PY_LONG_LONG __pyx_v_value) {
-  PY_LONG_LONG __pyx_v_buf;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  herr_t __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("enum_insert", 0);
-
-  /* "h5py/h5t.pyx":1088
- *         cdef long long buf
- * 
- *         buf = value             # <<<<<<<<<<<<<<
- *         self.enum_convert(&buf, 0)
- *         H5Tenum_insert(self.id, name, &buf)
- */
-  __pyx_v_buf = __pyx_v_value;
-
-  /* "h5py/h5t.pyx":1089
- * 
- *         buf = value
- *         self.enum_convert(&buf, 0)             # <<<<<<<<<<<<<<
- *         H5Tenum_insert(self.id, name, &buf)
- * 
- */
-  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1089; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1090
- *         buf = value
- *         self.enum_convert(&buf, 0)
- *         H5Tenum_insert(self.id, name, &buf)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_insert(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, (&__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1090; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_insert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof(PyObject *__pyx_v_self, PyObject *__pyx_arg_value); /*proto*/
-static char __pyx_doc_4h5py_3h5t_10TypeEnumID_2enum_nameof[] = "(LONG value) => STRING name\n\n        Determine the name associated with the given value.  Due to a\n        limitation of the HDF5 library, this can only retrieve names up to\n        1023 characters in length.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof(PyObject *__pyx_v_self, PyObject *__pyx_arg_value) {
-  PY_LONG_LONG __pyx_v_value;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("enum_nameof (wrapper)", 0);
-  assert(__pyx_arg_value); {
-    __pyx_v_value = __Pyx_PyInt_AsLongLong(__pyx_arg_value); if (unlikely((__pyx_v_value == (PY_LONG_LONG)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1093; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_nameof", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((PY_LONG_LONG)__pyx_v_value));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1093
- * 
- * 
- *     def enum_nameof(self, long long value):             # <<<<<<<<<<<<<<
- *         """(LONG value) => STRING name
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_2enum_nameof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, PY_LONG_LONG __pyx_v_value) {
-  herr_t __pyx_v_retval;
-  char __pyx_v_name[1024];
-  PY_LONG_LONG __pyx_v_buf;
-  PyObject *__pyx_v_retstring = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  herr_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("enum_nameof", 0);
-
-  /* "h5py/h5t.pyx":1104
- *         cdef long long buf
- * 
- *         buf = value             # <<<<<<<<<<<<<<
- *         self.enum_convert(&buf, 0)
- *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)
- */
-  __pyx_v_buf = __pyx_v_value;
-
-  /* "h5py/h5t.pyx":1105
- * 
- *         buf = value
- *         self.enum_convert(&buf, 0)             # <<<<<<<<<<<<<<
- *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)
- *         assert retval >= 0
- */
-  __pyx_t_1 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 0); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1106
- *         buf = value
- *         self.enum_convert(&buf, 0)
- *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)             # <<<<<<<<<<<<<<
- *         assert retval >= 0
- *         retstring = name
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_nameof(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, (&__pyx_v_buf), __pyx_v_name, 1024); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_retval = __pyx_t_2;
-
-  /* "h5py/h5t.pyx":1107
- *         self.enum_convert(&buf, 0)
- *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)
- *         assert retval >= 0             # <<<<<<<<<<<<<<
- *         retstring = name
- *         return retstring
- */
-  #ifndef CYTHON_WITHOUT_ASSERTIONS
-  if (unlikely(!(__pyx_v_retval >= 0))) {
-    PyErr_SetNone(PyExc_AssertionError);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1107; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  #endif
-
-  /* "h5py/h5t.pyx":1108
- *         retval = H5Tenum_nameof(self.id, &buf, name, 1024)
- *         assert retval >= 0
- *         retstring = name             # <<<<<<<<<<<<<<
- *         return retstring
- * 
- */
-  __pyx_t_3 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  __pyx_v_retstring = ((PyObject *)__pyx_t_3);
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5t.pyx":1109
- *         assert retval >= 0
- *         retstring = name
- *         return retstring             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(__pyx_v_retstring);
-  __pyx_r = __pyx_v_retstring;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_nameof", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_retstring);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof(PyObject *__pyx_v_self, PyObject *__pyx_arg_name); /*proto*/
-static char __pyx_doc_4h5py_3h5t_10TypeEnumID_4enum_valueof[] = "(STRING name) => LONG value\n\n        Get the value associated with an enum name.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof(PyObject *__pyx_v_self, PyObject *__pyx_arg_name) {
-  char *__pyx_v_name;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("enum_valueof (wrapper)", 0);
-  assert(__pyx_arg_name); {
-    __pyx_v_name = PyBytes_AsString(__pyx_arg_name); if (unlikely((!__pyx_v_name) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1112; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_valueof", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((char *)__pyx_v_name));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1112
- * 
- * 
- *     def enum_valueof(self, char* name):             # <<<<<<<<<<<<<<
- *         """(STRING name) => LONG value
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_4enum_valueof(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, char *__pyx_v_name) {
-  PY_LONG_LONG __pyx_v_buf;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("enum_valueof", 0);
-
-  /* "h5py/h5t.pyx":1119
- *         cdef long long buf
- * 
- *         H5Tenum_valueof(self.id, name, &buf)             # <<<<<<<<<<<<<<
- *         self.enum_convert(&buf, 1)
- *         return buf
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_valueof(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_name, (&__pyx_v_buf)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1120
- * 
- *         H5Tenum_valueof(self.id, name, &buf)
- *         self.enum_convert(&buf, 1)             # <<<<<<<<<<<<<<
- *         return buf
- * 
- */
-  __pyx_t_2 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_buf), 1); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1120; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1121
- *         H5Tenum_valueof(self.id, name, &buf)
- *         self.enum_convert(&buf, 1)
- *         return buf             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = PyLong_FromLongLong(__pyx_v_buf); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.enum_valueof", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx); /*proto*/
-static char __pyx_doc_4h5py_3h5t_10TypeEnumID_6get_member_value[] = "(UINT index) => LONG value\n\n        Determine the value for the member at the given zero-based index.\n        ";
-static PyObject *__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value(PyObject *__pyx_v_self, PyObject *__pyx_arg_idx) {
-  int __pyx_v_idx;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_member_value (wrapper)", 0);
-  assert(__pyx_arg_idx); {
-    __pyx_v_idx = __Pyx_PyInt_AsInt(__pyx_arg_idx); if (unlikely((__pyx_v_idx == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1124; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.get_member_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_v_self), ((int)__pyx_v_idx));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1124
- * 
- * 
- *     def get_member_value(self, int idx):             # <<<<<<<<<<<<<<
- *         """(UINT index) => LONG value
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_10TypeEnumID_6get_member_value(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self, int __pyx_v_idx) {
-  CYTHON_UNUSED hid_t __pyx_v_ptype;
-  PY_LONG_LONG __pyx_v_val;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  herr_t __pyx_t_3;
-  int __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_member_value", 0);
-
-  /* "h5py/h5t.pyx":1132
- *         cdef hid_t ptype
- *         cdef long long val
- *         ptype = 0             # <<<<<<<<<<<<<<
- * 
- *         if idx < 0:
- */
-  __pyx_v_ptype = 0;
-
-  /* "h5py/h5t.pyx":1134
- *         ptype = 0
- * 
- *         if idx < 0:             # <<<<<<<<<<<<<<
- *             raise ValueError("Index must be non-negative.")
- * 
- */
-  __pyx_t_1 = (__pyx_v_idx < 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":1135
- * 
- *         if idx < 0:
- *             raise ValueError("Index must be non-negative.")             # <<<<<<<<<<<<<<
- * 
- *         H5Tget_member_value(self.id, idx, &val)
- */
-    __pyx_t_2 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_21), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":1137
- *             raise ValueError("Index must be non-negative.")
- * 
- *         H5Tget_member_value(self.id, idx, &val)             # <<<<<<<<<<<<<<
- *         self.enum_convert(&val, 1)
- *         return val
- */
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tget_member_value(__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.id, __pyx_v_idx, (&__pyx_v_val)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1137; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1138
- * 
- *         H5Tget_member_value(self.id, idx, &val)
- *         self.enum_convert(&val, 1)             # <<<<<<<<<<<<<<
- *         return val
- * 
- */
-  __pyx_t_4 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_vtab)->enum_convert(__pyx_v_self, (&__pyx_v_val), 1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1139
- *         H5Tget_member_value(self.id, idx, &val)
- *         self.enum_convert(&val, 1)
- *         return val             # <<<<<<<<<<<<<<
- * 
- *     cdef object py_dtype(self):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromLongLong(__pyx_v_val); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.get_member_value", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1141
- *         return val
- * 
- *     cdef object py_dtype(self):             # <<<<<<<<<<<<<<
- *         # Translation function for enum types
- * 
- */
-
-static PyObject *__pyx_f_4h5py_3h5t_10TypeEnumID_py_dtype(struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_self) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_basetype = 0;
-  PyObject *__pyx_v_nmembers = NULL;
-  PyObject *__pyx_v_members = NULL;
-  PyObject *__pyx_v_idx = NULL;
-  PyObject *__pyx_v_name = NULL;
-  PyObject *__pyx_v_val = NULL;
-  PyObject *__pyx_v_ref = NULL;
-  PyObject *__pyx_v_members_conv = NULL;
-  PyObject *__pyx_v_uname = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  Py_ssize_t __pyx_t_3;
-  PyObject *(*__pyx_t_4)(PyObject *);
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  int __pyx_t_7;
-  Py_ssize_t __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_t_10;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  PyObject *__pyx_t_13 = NULL;
-  PyObject *__pyx_t_14 = NULL;
-  PyObject *__pyx_t_15 = NULL;
-  PyObject *__pyx_t_16 = NULL;
-  PyObject *__pyx_t_17 = NULL;
-  PyObject *__pyx_t_18 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_dtype", 0);
-
-  /* "h5py/h5t.pyx":1144
- *         # Translation function for enum types
- * 
- *         cdef TypeID basetype = self.get_super()             # <<<<<<<<<<<<<<
- * 
- *         nmembers = self.get_nmembers()
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_super); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_basetype = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":1146
- *         cdef TypeID basetype = self.get_super()
- * 
- *         nmembers = self.get_nmembers()             # <<<<<<<<<<<<<<
- *         members = {}
- * 
- */
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_nmembers); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_v_nmembers = __pyx_t_1;
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1147
- * 
- *         nmembers = self.get_nmembers()
- *         members = {}             # <<<<<<<<<<<<<<
- * 
- *         for idx in xrange(nmembers):
- */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_v_members = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1149
- *         members = {}
- * 
- *         for idx in xrange(nmembers):             # <<<<<<<<<<<<<<
- *             name = self.get_member_name(idx)
- *             val = self.get_member_value(idx)
- */
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(__pyx_v_nmembers);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_nmembers);
-  __Pyx_GIVEREF(__pyx_v_nmembers);
-  __pyx_t_2 = PyObject_Call(__pyx_builtin_xrange, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  if (PyList_CheckExact(__pyx_t_2) || PyTuple_CheckExact(__pyx_t_2)) {
-    __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
-    __pyx_t_4 = NULL;
-  } else {
-    __pyx_t_3 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_4 = Py_TYPE(__pyx_t_1)->tp_iternext;
-  }
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  for (;;) {
-    if (!__pyx_t_4 && PyList_CheckExact(__pyx_t_1)) {
-      if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_1)) break;
-      #if CYTHON_COMPILING_IN_CPYTHON
-      __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #else
-      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #endif
-    } else if (!__pyx_t_4 && PyTuple_CheckExact(__pyx_t_1)) {
-      if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
-      #if CYTHON_COMPILING_IN_CPYTHON
-      __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_2); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #else
-      __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #endif
-    } else {
-      __pyx_t_2 = __pyx_t_4(__pyx_t_1);
-      if (unlikely(!__pyx_t_2)) {
-        if (PyErr_Occurred()) {
-          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
-          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        }
-        break;
-      }
-      __Pyx_GOTREF(__pyx_t_2);
-    }
-    __Pyx_XDECREF(__pyx_v_idx);
-    __pyx_v_idx = __pyx_t_2;
-    __pyx_t_2 = 0;
-
-    /* "h5py/h5t.pyx":1150
- * 
- *         for idx in xrange(nmembers):
- *             name = self.get_member_name(idx)             # <<<<<<<<<<<<<<
- *             val = self.get_member_value(idx)
- *             members[name] = val
- */
-    __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_INCREF(__pyx_v_idx);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_idx);
-    __Pyx_GIVEREF(__pyx_v_idx);
-    __pyx_t_6 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    __Pyx_XDECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_t_6;
-    __pyx_t_6 = 0;
-
-    /* "h5py/h5t.pyx":1151
- *         for idx in xrange(nmembers):
- *             name = self.get_member_name(idx)
- *             val = self.get_member_value(idx)             # <<<<<<<<<<<<<<
- *             members[name] = val
- * 
- */
-    __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_self), __pyx_n_s__get_member_value); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_INCREF(__pyx_v_idx);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_idx);
-    __Pyx_GIVEREF(__pyx_v_idx);
-    __pyx_t_2 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    __Pyx_XDECREF(__pyx_v_val);
-    __pyx_v_val = __pyx_t_2;
-    __pyx_t_2 = 0;
-
-    /* "h5py/h5t.pyx":1152
- *             name = self.get_member_name(idx)
- *             val = self.get_member_value(idx)
- *             members[name] = val             # <<<<<<<<<<<<<<
- * 
- *         ref = {cfg._f_name: 0, cfg._t_name: 1}
- */
-    if (PyDict_SetItem(((PyObject *)__pyx_v_members), __pyx_v_name, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1154
- *             members[name] = val
- * 
- *         ref = {cfg._f_name: 0, cfg._t_name: 1}             # <<<<<<<<<<<<<<
- * 
- *         # Boolean types have priority over standard enums
- */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_2, __pyx_n_s___f_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_5, __pyx_int_0) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_2 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___t_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_2, __pyx_int_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_v_ref = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1157
- * 
- *         # Boolean types have priority over standard enums
- *         if members == ref:             # <<<<<<<<<<<<<<
- *             return dtype('bool')
- * 
- */
-  __pyx_t_1 = PyObject_RichCompare(((PyObject *)__pyx_v_members), ((PyObject *)__pyx_v_ref), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  if (__pyx_t_7) {
-
-    /* "h5py/h5t.pyx":1158
- *         # Boolean types have priority over standard enums
- *         if members == ref:
- *             return dtype('bool')             # <<<<<<<<<<<<<<
- * 
- *         # Convert strings to appropriate representation
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_k_tuple_22), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_r = __pyx_t_1;
-    __pyx_t_1 = 0;
-    goto __pyx_L0;
-    goto __pyx_L5;
-  }
-  __pyx_L5:;
-
-  /* "h5py/h5t.pyx":1161
- * 
- *         # Convert strings to appropriate representation
- *         members_conv = {}             # <<<<<<<<<<<<<<
- *         for name, val in members.iteritems():
- *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
- */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_v_members_conv = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1162
- *         # Convert strings to appropriate representation
- *         members_conv = {}
- *         for name, val in members.iteritems():             # <<<<<<<<<<<<<<
- *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
- *                 uname = name.decode('ascii')
- */
-  __pyx_t_3 = 0;
-  __pyx_t_2 = __Pyx_dict_iterator(((PyObject *)__pyx_v_members), 1, ((PyObject *)__pyx_n_s__iteritems), (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_1);
-  __pyx_t_1 = __pyx_t_2;
-  __pyx_t_2 = 0;
-  while (1) {
-    __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_8, &__pyx_t_3, &__pyx_t_2, &__pyx_t_5, NULL, __pyx_t_9);
-    if (unlikely(__pyx_t_10 == 0)) break;
-    if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_XDECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_t_2;
-    __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_v_val);
-    __pyx_v_val = __pyx_t_5;
-    __pyx_t_5 = 0;
-
-    /* "h5py/h5t.pyx":1163
- *         members_conv = {}
- *         for name, val in members.iteritems():
- *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode             # <<<<<<<<<<<<<<
- *                 uname = name.decode('ascii')
- *                 if PY3:
- */
-    {
-      __Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
-      __Pyx_XGOTREF(__pyx_t_11);
-      __Pyx_XGOTREF(__pyx_t_12);
-      __Pyx_XGOTREF(__pyx_t_13);
-      /*try:*/ {
-
-        /* "h5py/h5t.pyx":1164
- *         for name, val in members.iteritems():
- *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
- *                 uname = name.decode('ascii')             # <<<<<<<<<<<<<<
- *                 if PY3:
- *                     name = uname
- */
-        __pyx_t_5 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__decode); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
-        __Pyx_GOTREF(__pyx_t_5);
-        __pyx_t_2 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_23), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
-        __Pyx_GOTREF(__pyx_t_2);
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_v_uname);
-        __pyx_v_uname = __pyx_t_2;
-        __pyx_t_2 = 0;
-
-        /* "h5py/h5t.pyx":1165
- *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
- *                 uname = name.decode('ascii')
- *                 if PY3:             # <<<<<<<<<<<<<<
- *                     name = uname
- *             except UnicodeDecodeError:
- */
-        __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__PY3); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
-        __Pyx_GOTREF(__pyx_t_2);
-        __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1165; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        if (__pyx_t_7) {
-
-          /* "h5py/h5t.pyx":1166
- *                 uname = name.decode('ascii')
- *                 if PY3:
- *                     name = uname             # <<<<<<<<<<<<<<
- *             except UnicodeDecodeError:
- *                 try:    # Non-ascii; all platforms try unicode
- */
-          __Pyx_INCREF(__pyx_v_uname);
-          __Pyx_DECREF(__pyx_v_name);
-          __pyx_v_name = __pyx_v_uname;
-          goto __pyx_L16;
-        }
-        __pyx_L16:;
-      }
-      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
-      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
-      goto __pyx_L15_try_end;
-      __pyx_L8_error:;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-      /* "h5py/h5t.pyx":1167
- *                 if PY3:
- *                     name = uname
- *             except UnicodeDecodeError:             # <<<<<<<<<<<<<<
- *                 try:    # Non-ascii; all platforms try unicode
- *                     name = name.decode('utf8')
- */
-      __pyx_t_10 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
-      if (__pyx_t_10) {
-        __Pyx_AddTraceback("h5py.h5t.TypeEnumID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-        if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_5, &__pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1167; __pyx_clineno = __LINE__; goto __pyx_L10_except_error;}
-        __Pyx_GOTREF(__pyx_t_2);
-        __Pyx_GOTREF(__pyx_t_5);
-        __Pyx_GOTREF(__pyx_t_6);
-
-        /* "h5py/h5t.pyx":1168
- *                     name = uname
- *             except UnicodeDecodeError:
- *                 try:    # Non-ascii; all platforms try unicode             # <<<<<<<<<<<<<<
- *                     name = name.decode('utf8')
- *                 except UnicodeDecodeError:
- */
-        {
-          __Pyx_ExceptionSave(&__pyx_t_14, &__pyx_t_15, &__pyx_t_16);
-          __Pyx_XGOTREF(__pyx_t_14);
-          __Pyx_XGOTREF(__pyx_t_15);
-          __Pyx_XGOTREF(__pyx_t_16);
-          /*try:*/ {
-
-            /* "h5py/h5t.pyx":1169
- *             except UnicodeDecodeError:
- *                 try:    # Non-ascii; all platforms try unicode
- *                     name = name.decode('utf8')             # <<<<<<<<<<<<<<
- *                 except UnicodeDecodeError:
- *                     pass    # Last resort: return byte string
- */
-            __pyx_t_17 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__decode); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L19_error;}
-            __Pyx_GOTREF(__pyx_t_17);
-            __pyx_t_18 = PyObject_Call(__pyx_t_17, ((PyObject *)__pyx_k_tuple_24), NULL); if (unlikely(!__pyx_t_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L19_error;}
-            __Pyx_GOTREF(__pyx_t_18);
-            __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0;
-            __Pyx_DECREF(__pyx_v_name);
-            __pyx_v_name = __pyx_t_18;
-            __pyx_t_18 = 0;
-          }
-          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
-          __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
-          __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
-          goto __pyx_L26_try_end;
-          __pyx_L19_error:;
-          __Pyx_XDECREF(__pyx_t_17); __pyx_t_17 = 0;
-          __Pyx_XDECREF(__pyx_t_18); __pyx_t_18 = 0;
-
-          /* "h5py/h5t.pyx":1170
- *                 try:    # Non-ascii; all platforms try unicode
- *                     name = name.decode('utf8')
- *                 except UnicodeDecodeError:             # <<<<<<<<<<<<<<
- *                     pass    # Last resort: return byte string
- *             members_conv[name] = val
- */
-          __pyx_t_10 = PyErr_ExceptionMatches(__pyx_builtin_UnicodeDecodeError);
-          if (__pyx_t_10) {
-            PyErr_Restore(0,0,0);
-            goto __pyx_L20_exception_handled;
-          }
-          __Pyx_XGIVEREF(__pyx_t_14);
-          __Pyx_XGIVEREF(__pyx_t_15);
-          __Pyx_XGIVEREF(__pyx_t_16);
-          __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
-          goto __pyx_L10_except_error;
-          __pyx_L20_exception_handled:;
-          __Pyx_XGIVEREF(__pyx_t_14);
-          __Pyx_XGIVEREF(__pyx_t_15);
-          __Pyx_XGIVEREF(__pyx_t_16);
-          __Pyx_ExceptionReset(__pyx_t_14, __pyx_t_15, __pyx_t_16);
-          __pyx_L26_try_end:;
-        }
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-        goto __pyx_L9_exception_handled;
-      }
-      __pyx_L10_except_error:;
-      __Pyx_XGIVEREF(__pyx_t_11);
-      __Pyx_XGIVEREF(__pyx_t_12);
-      __Pyx_XGIVEREF(__pyx_t_13);
-      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
-      goto __pyx_L1_error;
-      __pyx_L9_exception_handled:;
-      __Pyx_XGIVEREF(__pyx_t_11);
-      __Pyx_XGIVEREF(__pyx_t_12);
-      __Pyx_XGIVEREF(__pyx_t_13);
-      __Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
-      __pyx_L15_try_end:;
-    }
-
-    /* "h5py/h5t.pyx":1172
- *                 except UnicodeDecodeError:
- *                     pass    # Last resort: return byte string
- *             members_conv[name] = val             # <<<<<<<<<<<<<<
- *         return special_dtype(enum=(basetype.py_dtype(), members_conv))
- * 
- */
-    if (PyDict_SetItem(((PyObject *)__pyx_v_members_conv), __pyx_v_name, __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1173
- *                     pass    # Last resort: return byte string
- *             members_conv[name] = val
- *         return special_dtype(enum=(basetype.py_dtype(), members_conv))             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_6));
-  __pyx_t_5 = ((struct __pyx_vtabstruct_4h5py_3h5t_TypeID *)__pyx_v_basetype->__pyx_vtab)->py_dtype(__pyx_v_basetype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  __Pyx_INCREF(((PyObject *)__pyx_v_members_conv));
-  PyTuple_SET_ITEM(__pyx_t_2, 1, ((PyObject *)__pyx_v_members_conv));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_members_conv));
-  __pyx_t_5 = 0;
-  if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_17);
-  __Pyx_XDECREF(__pyx_t_18);
-  __Pyx_AddTraceback("h5py.h5t.TypeEnumID.py_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_basetype);
-  __Pyx_XDECREF(__pyx_v_nmembers);
-  __Pyx_XDECREF(__pyx_v_members);
-  __Pyx_XDECREF(__pyx_v_idx);
-  __Pyx_XDECREF(__pyx_v_name);
-  __Pyx_XDECREF(__pyx_v_val);
-  __Pyx_XDECREF(__pyx_v_ref);
-  __Pyx_XDECREF(__pyx_v_members_conv);
-  __Pyx_XDECREF(__pyx_v_uname);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1194
- * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64}
- * 
- * cdef TypeFloatID _c_float(dtype dt):             # <<<<<<<<<<<<<<
- *     # Floats (single and double)
- *     cdef hid_t tid
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_f_4h5py_3h5t__c_float(PyArray_Descr *__pyx_v_dt) {
-  hid_t __pyx_v_tid;
-  struct __pyx_obj_4h5py_3h5t_TypeFloatID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  hid_t __pyx_t_5;
-  int __pyx_t_6;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_float", 0);
-
-  /* "h5py/h5t.pyx":1198
- *     cdef hid_t tid
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         if dt.byteorder == c'<':
- *             tid =  _float_le[dt.elsize]
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
-    __Pyx_XGOTREF(__pyx_t_1);
-    __Pyx_XGOTREF(__pyx_t_2);
-    __Pyx_XGOTREF(__pyx_t_3);
-    /*try:*/ {
-
-      /* "h5py/h5t.pyx":1201
- *         if dt.byteorder == c'<':
- *             tid =  _float_le[dt.elsize]
- *         elif dt.byteorder == c'>':             # <<<<<<<<<<<<<<
- *             tid =  _float_be[dt.elsize]
- *         else:
- */
-      switch (__pyx_v_dt->byteorder) {
-
-        /* "h5py/h5t.pyx":1199
- * 
- *     try:
- *         if dt.byteorder == c'<':             # <<<<<<<<<<<<<<
- *             tid =  _float_le[dt.elsize]
- *         elif dt.byteorder == c'>':
- */
-        case '<':
-
-        /* "h5py/h5t.pyx":1200
- *     try:
- *         if dt.byteorder == c'<':
- *             tid =  _float_le[dt.elsize]             # <<<<<<<<<<<<<<
- *         elif dt.byteorder == c'>':
- *             tid =  _float_be[dt.elsize]
- */
-        if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_le) == Py_None)) {
-          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(__pyx_t_4);
-        __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1200; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __pyx_v_tid = __pyx_t_5;
-        break;
-
-        /* "h5py/h5t.pyx":1201
- *         if dt.byteorder == c'<':
- *             tid =  _float_le[dt.elsize]
- *         elif dt.byteorder == c'>':             # <<<<<<<<<<<<<<
- *             tid =  _float_be[dt.elsize]
- *         else:
- */
-        case '>':
-
-        /* "h5py/h5t.pyx":1202
- *             tid =  _float_le[dt.elsize]
- *         elif dt.byteorder == c'>':
- *             tid =  _float_be[dt.elsize]             # <<<<<<<<<<<<<<
- *         else:
- *             tid =  _float_nt[dt.elsize]
- */
-        if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_be) == Py_None)) {
-          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(__pyx_t_4);
-        __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1202; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __pyx_v_tid = __pyx_t_5;
-        break;
-        default:
-
-        /* "h5py/h5t.pyx":1204
- *             tid =  _float_be[dt.elsize]
- *         else:
- *             tid =  _float_nt[dt.elsize]             # <<<<<<<<<<<<<<
- *     except KeyError:
- *         raise TypeError("Unsupported float size (%s)" % dt.elsize)
- */
-        if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__float_nt) == Py_None)) {
-          PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        __pyx_t_4 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__float_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(__pyx_t_4);
-        __pyx_t_5 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_5 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1204; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __pyx_v_tid = __pyx_t_5;
-        break;
-      }
-    }
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L10_try_end;
-    __pyx_L3_error:;
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-    /* "h5py/h5t.pyx":1205
- *         else:
- *             tid =  _float_nt[dt.elsize]
- *     except KeyError:             # <<<<<<<<<<<<<<
- *         raise TypeError("Unsupported float size (%s)" % dt.elsize)
- * 
- */
-    __pyx_t_6 = PyErr_ExceptionMatches(__pyx_builtin_KeyError);
-    if (__pyx_t_6) {
-      __Pyx_AddTraceback("h5py.h5t._c_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_7, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_GOTREF(__pyx_t_8);
-
-      /* "h5py/h5t.pyx":1206
- *             tid =  _float_nt[dt.elsize]
- *     except KeyError:
- *         raise TypeError("Unsupported float size (%s)" % dt.elsize)             # <<<<<<<<<<<<<<
- * 
- *     return TypeFloatID(H5Tcopy(tid))
- */
-      __pyx_t_9 = PyInt_FromLong(__pyx_v_dt->elsize); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_9);
-      __pyx_t_10 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_25), __pyx_t_9); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_10));
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-      __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_9);
-      PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_10));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_10));
-      __pyx_t_10 = 0;
-      __pyx_t_10 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_9), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_10);
-      __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0;
-      __Pyx_Raise(__pyx_t_10, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1206; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-      goto __pyx_L4_exception_handled;
-    }
-    __pyx_L5_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    goto __pyx_L1_error;
-    __pyx_L4_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    __pyx_L10_try_end:;
-  }
-
-  /* "h5py/h5t.pyx":1208
- *         raise TypeError("Unsupported float size (%s)" % dt.elsize)
- * 
- *     return TypeFloatID(H5Tcopy(tid))             # <<<<<<<<<<<<<<
- * 
- * cdef TypeIntegerID _c_int(dtype dt):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_5 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_8 = __Pyx_PyInt_to_py_hid_t(__pyx_t_5); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_7);
-  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_8);
-  __Pyx_GIVEREF(__pyx_t_8);
-  __pyx_t_8 = 0;
-  __pyx_t_8 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeFloatID)), ((PyObject *)__pyx_t_7), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)__pyx_t_8);
-  __pyx_t_8 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_AddTraceback("h5py.h5t._c_float", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1210
- *     return TypeFloatID(H5Tcopy(tid))
- * 
- * cdef TypeIntegerID _c_int(dtype dt):             # <<<<<<<<<<<<<<
- *     # Integers (ints and uints)
- *     cdef hid_t tid
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_f_4h5py_3h5t__c_int(PyArray_Descr *__pyx_v_dt) {
-  hid_t __pyx_v_tid;
-  struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  hid_t __pyx_t_6;
-  PyObject *__pyx_t_7 = NULL;
-  int __pyx_t_8;
-  PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_int", 0);
-
-  /* "h5py/h5t.pyx":1214
- *     cdef hid_t tid
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         if dt.kind == c'i':
- *             if dt.byteorder == c'<':
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
-    __Pyx_XGOTREF(__pyx_t_1);
-    __Pyx_XGOTREF(__pyx_t_2);
-    __Pyx_XGOTREF(__pyx_t_3);
-    /*try:*/ {
-
-      /* "h5py/h5t.pyx":1222
- *             else:
- *                 tid = _int_nt[dt.elsize]
- *         elif dt.kind == c'u':             # <<<<<<<<<<<<<<
- *             if dt.byteorder == c'<':
- *                 tid = _uint_le[dt.elsize]
- */
-      switch (__pyx_v_dt->kind) {
-
-        /* "h5py/h5t.pyx":1215
- * 
- *     try:
- *         if dt.kind == c'i':             # <<<<<<<<<<<<<<
- *             if dt.byteorder == c'<':
- *                 tid = _int_le[dt.elsize]
- */
-        case 'i':
-
-        /* "h5py/h5t.pyx":1216
- *     try:
- *         if dt.kind == c'i':
- *             if dt.byteorder == c'<':             # <<<<<<<<<<<<<<
- *                 tid = _int_le[dt.elsize]
- *             elif dt.byteorder == c'>':
- */
-        __pyx_t_4 = (__pyx_v_dt->byteorder == '<');
-        if (__pyx_t_4) {
-
-          /* "h5py/h5t.pyx":1217
- *         if dt.kind == c'i':
- *             if dt.byteorder == c'<':
- *                 tid = _int_le[dt.elsize]             # <<<<<<<<<<<<<<
- *             elif dt.byteorder == c'>':
- *                 tid = _int_be[dt.elsize]
- */
-          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_le) == Py_None)) {
-            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          }
-          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1217; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __pyx_v_tid = __pyx_t_6;
-          goto __pyx_L11;
-        }
-
-        /* "h5py/h5t.pyx":1218
- *             if dt.byteorder == c'<':
- *                 tid = _int_le[dt.elsize]
- *             elif dt.byteorder == c'>':             # <<<<<<<<<<<<<<
- *                 tid = _int_be[dt.elsize]
- *             else:
- */
-        __pyx_t_4 = (__pyx_v_dt->byteorder == '>');
-        if (__pyx_t_4) {
-
-          /* "h5py/h5t.pyx":1219
- *                 tid = _int_le[dt.elsize]
- *             elif dt.byteorder == c'>':
- *                 tid = _int_be[dt.elsize]             # <<<<<<<<<<<<<<
- *             else:
- *                 tid = _int_nt[dt.elsize]
- */
-          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_be) == Py_None)) {
-            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          }
-          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1219; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __pyx_v_tid = __pyx_t_6;
-          goto __pyx_L11;
-        }
-        /*else*/ {
-
-          /* "h5py/h5t.pyx":1221
- *                 tid = _int_be[dt.elsize]
- *             else:
- *                 tid = _int_nt[dt.elsize]             # <<<<<<<<<<<<<<
- *         elif dt.kind == c'u':
- *             if dt.byteorder == c'<':
- */
-          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__int_nt) == Py_None)) {
-            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          }
-          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__int_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1221; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __pyx_v_tid = __pyx_t_6;
-        }
-        __pyx_L11:;
-        break;
-
-        /* "h5py/h5t.pyx":1222
- *             else:
- *                 tid = _int_nt[dt.elsize]
- *         elif dt.kind == c'u':             # <<<<<<<<<<<<<<
- *             if dt.byteorder == c'<':
- *                 tid = _uint_le[dt.elsize]
- */
-        case 'u':
-
-        /* "h5py/h5t.pyx":1223
- *                 tid = _int_nt[dt.elsize]
- *         elif dt.kind == c'u':
- *             if dt.byteorder == c'<':             # <<<<<<<<<<<<<<
- *                 tid = _uint_le[dt.elsize]
- *             elif dt.byteorder == c'>':
- */
-        __pyx_t_4 = (__pyx_v_dt->byteorder == '<');
-        if (__pyx_t_4) {
-
-          /* "h5py/h5t.pyx":1224
- *         elif dt.kind == c'u':
- *             if dt.byteorder == c'<':
- *                 tid = _uint_le[dt.elsize]             # <<<<<<<<<<<<<<
- *             elif dt.byteorder == c'>':
- *                 tid = _uint_be[dt.elsize]
- */
-          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_le) == Py_None)) {
-            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          }
-          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_le), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1224; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __pyx_v_tid = __pyx_t_6;
-          goto __pyx_L12;
-        }
-
-        /* "h5py/h5t.pyx":1225
- *             if dt.byteorder == c'<':
- *                 tid = _uint_le[dt.elsize]
- *             elif dt.byteorder == c'>':             # <<<<<<<<<<<<<<
- *                 tid = _uint_be[dt.elsize]
- *             else:
- */
-        __pyx_t_4 = (__pyx_v_dt->byteorder == '>');
-        if (__pyx_t_4) {
-
-          /* "h5py/h5t.pyx":1226
- *                 tid = _uint_le[dt.elsize]
- *             elif dt.byteorder == c'>':
- *                 tid = _uint_be[dt.elsize]             # <<<<<<<<<<<<<<
- *             else:
- *                 tid = _uint_nt[dt.elsize]
- */
-          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_be) == Py_None)) {
-            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          }
-          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_be), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1226; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __pyx_v_tid = __pyx_t_6;
-          goto __pyx_L12;
-        }
-        /*else*/ {
-
-          /* "h5py/h5t.pyx":1228
- *                 tid = _uint_be[dt.elsize]
- *             else:
- *                 tid = _uint_nt[dt.elsize]             # <<<<<<<<<<<<<<
- *         else:
- *             raise TypeError('Illegal int kind "%s"' % dt.kind)
- */
-          if (unlikely(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt) == Py_None)) {
-            PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          }
-          __pyx_t_5 = __Pyx_GetItemInt(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt), __pyx_v_dt->elsize, sizeof(int), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          __pyx_t_6 = __Pyx_PyInt_from_py_hid_t(__pyx_t_5); if (unlikely((__pyx_t_6 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1228; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-          __pyx_v_tid = __pyx_t_6;
-        }
-        __pyx_L12:;
-        break;
-        default:
-
-        /* "h5py/h5t.pyx":1230
- *                 tid = _uint_nt[dt.elsize]
- *         else:
- *             raise TypeError('Illegal int kind "%s"' % dt.kind)             # <<<<<<<<<<<<<<
- *     except KeyError:
- *         raise TypeError("Unsupported integer size (%s)" % dt.elsize)
- */
-        __pyx_t_5 = PyInt_FromLong(__pyx_v_dt->kind); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(__pyx_t_5);
-        __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_26), __pyx_t_5); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(((PyObject *)__pyx_t_7));
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(__pyx_t_5);
-        PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_7));
-        __Pyx_GIVEREF(((PyObject *)__pyx_t_7));
-        __pyx_t_7 = 0;
-        __pyx_t_7 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        __Pyx_GOTREF(__pyx_t_7);
-        __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-        __Pyx_Raise(__pyx_t_7, 0, 0, 0);
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1230; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        break;
-      }
-    }
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L10_try_end;
-    __pyx_L3_error:;
-    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-    /* "h5py/h5t.pyx":1231
- *         else:
- *             raise TypeError('Illegal int kind "%s"' % dt.kind)
- *     except KeyError:             # <<<<<<<<<<<<<<
- *         raise TypeError("Unsupported integer size (%s)" % dt.elsize)
- * 
- */
-    __pyx_t_8 = PyErr_ExceptionMatches(__pyx_builtin_KeyError);
-    if (__pyx_t_8) {
-      __Pyx_AddTraceback("h5py.h5t._c_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_5, &__pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1231; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_GOTREF(__pyx_t_9);
-
-      /* "h5py/h5t.pyx":1232
- *             raise TypeError('Illegal int kind "%s"' % dt.kind)
- *     except KeyError:
- *         raise TypeError("Unsupported integer size (%s)" % dt.elsize)             # <<<<<<<<<<<<<<
- * 
- *     return TypeIntegerID(H5Tcopy(tid))
- */
-      __pyx_t_10 = PyInt_FromLong(__pyx_v_dt->elsize); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_10);
-      __pyx_t_11 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_27), __pyx_t_10); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_11));
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-      __pyx_t_10 = PyTuple_New(1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_10);
-      PyTuple_SET_ITEM(__pyx_t_10, 0, ((PyObject *)__pyx_t_11));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_11));
-      __pyx_t_11 = 0;
-      __pyx_t_11 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_10), NULL); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_11);
-      __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
-      __Pyx_Raise(__pyx_t_11, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1232; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-      goto __pyx_L4_exception_handled;
-    }
-    __pyx_L5_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    goto __pyx_L1_error;
-    __pyx_L4_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    __pyx_L10_try_end:;
-  }
-
-  /* "h5py/h5t.pyx":1234
- *         raise TypeError("Unsupported integer size (%s)" % dt.elsize)
- * 
- *     return TypeIntegerID(H5Tcopy(tid))             # <<<<<<<<<<<<<<
- * 
- * cdef TypeEnumID _c_enum(dtype dt, dict vals):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tcopy(__pyx_v_tid); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_9 = __Pyx_PyInt_to_py_hid_t(__pyx_t_6); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9);
-  __Pyx_GIVEREF(__pyx_t_9);
-  __pyx_t_9 = 0;
-  __pyx_t_9 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeIntegerID)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1234; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_t_9);
-  __pyx_t_9 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_AddTraceback("h5py.h5t._c_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1236
- *     return TypeIntegerID(H5Tcopy(tid))
- * 
- * cdef TypeEnumID _c_enum(dtype dt, dict vals):             # <<<<<<<<<<<<<<
- *     # Enums
- *     cdef TypeIntegerID base
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_enum(PyArray_Descr *__pyx_v_dt, PyObject *__pyx_v_vals) {
-  struct __pyx_obj_4h5py_3h5t_TypeIntegerID *__pyx_v_base = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_out = 0;
-  PyObject *__pyx_v_name = NULL;
-  PyObject *__pyx_v_bname = NULL;
-  struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  Py_ssize_t __pyx_t_4;
-  PyObject *(*__pyx_t_5)(PyObject *);
-  int __pyx_t_6;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_enum", 0);
-
-  /* "h5py/h5t.pyx":1241
- *     cdef TypeEnumID out
- * 
- *     base = _c_int(dt)             # <<<<<<<<<<<<<<
- * 
- *     out = TypeEnumID(H5Tenum_create(base.id))
- */
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t__c_int(__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_base = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1243
- *     base = _c_int(dt)
- * 
- *     out = TypeEnumID(H5Tenum_create(base.id))             # <<<<<<<<<<<<<<
- *     for name in sorted(vals):
- *         if isinstance(name, bytes):
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tenum_create(__pyx_v_base->__pyx_base.__pyx_base.__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_t_2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1243; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_v_out = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1244
- * 
- *     out = TypeEnumID(H5Tenum_create(base.id))
- *     for name in sorted(vals):             # <<<<<<<<<<<<<<
- *         if isinstance(name, bytes):
- *             bname = name
- */
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(((PyObject *)__pyx_v_vals));
-  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_vals));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_vals));
-  __pyx_t_3 = PyObject_Call(__pyx_builtin_sorted, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  if (PyList_CheckExact(__pyx_t_3) || PyTuple_CheckExact(__pyx_t_3)) {
-    __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0;
-    __pyx_t_5 = NULL;
-  } else {
-    __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext;
-  }
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  for (;;) {
-    if (!__pyx_t_5 && PyList_CheckExact(__pyx_t_1)) {
-      if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break;
-      #if CYTHON_COMPILING_IN_CPYTHON
-      __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #else
-      __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #endif
-    } else if (!__pyx_t_5 && PyTuple_CheckExact(__pyx_t_1)) {
-      if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
-      #if CYTHON_COMPILING_IN_CPYTHON
-      __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #else
-      __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      #endif
-    } else {
-      __pyx_t_3 = __pyx_t_5(__pyx_t_1);
-      if (unlikely(!__pyx_t_3)) {
-        if (PyErr_Occurred()) {
-          if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) PyErr_Clear();
-          else {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        }
-        break;
-      }
-      __Pyx_GOTREF(__pyx_t_3);
-    }
-    __Pyx_XDECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_t_3;
-    __pyx_t_3 = 0;
-
-    /* "h5py/h5t.pyx":1245
- *     out = TypeEnumID(H5Tenum_create(base.id))
- *     for name in sorted(vals):
- *         if isinstance(name, bytes):             # <<<<<<<<<<<<<<
- *             bname = name
- *         else:
- */
-    __pyx_t_6 = PyBytes_Check(__pyx_v_name); 
-    if (__pyx_t_6) {
-
-      /* "h5py/h5t.pyx":1246
- *     for name in sorted(vals):
- *         if isinstance(name, bytes):
- *             bname = name             # <<<<<<<<<<<<<<
- *         else:
- *             bname = unicode(name).encode('utf8')
- */
-      __Pyx_INCREF(__pyx_v_name);
-      __Pyx_XDECREF(__pyx_v_bname);
-      __pyx_v_bname = __pyx_v_name;
-      goto __pyx_L5;
-    }
-    /*else*/ {
-
-      /* "h5py/h5t.pyx":1248
- *             bname = name
- *         else:
- *             bname = unicode(name).encode('utf8')             # <<<<<<<<<<<<<<
- *         out.enum_insert(bname, vals[name])
- *     return out
- */
-      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_3);
-      __Pyx_INCREF(__pyx_v_name);
-      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_name);
-      __Pyx_GIVEREF(__pyx_v_name);
-      __pyx_t_7 = PyObject_Call(((PyObject *)((PyObject*)(&PyUnicode_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-      __pyx_t_3 = ((PyObject *)PyUnicode_AsUTF8String(((PyObject*)__pyx_t_7))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_XDECREF(__pyx_v_bname);
-      __pyx_v_bname = ((PyObject *)__pyx_t_3);
-      __pyx_t_3 = 0;
-    }
-    __pyx_L5:;
-
-    /* "h5py/h5t.pyx":1249
- *         else:
- *             bname = unicode(name).encode('utf8')
- *         out.enum_insert(bname, vals[name])             # <<<<<<<<<<<<<<
- *     return out
- * 
- */
-    __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_out), __pyx_n_s__enum_insert); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    if (unlikely(((PyObject *)__pyx_v_vals) == Py_None)) {
-      PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-    __pyx_t_7 = __Pyx_PyDict_GetItem(((PyObject *)__pyx_v_vals), __pyx_v_name); if (!__pyx_t_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_7);
-    __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_INCREF(__pyx_v_bname);
-    PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_bname);
-    __Pyx_GIVEREF(__pyx_v_bname);
-    PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_7);
-    __Pyx_GIVEREF(__pyx_t_7);
-    __pyx_t_7 = 0;
-    __pyx_t_7 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1249; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_7);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-  }
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1250
- *             bname = unicode(name).encode('utf8')
- *         out.enum_insert(bname, vals[name])
- *     return out             # <<<<<<<<<<<<<<
- * 
- * cdef TypeEnumID _c_bool(dtype dt):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __Pyx_INCREF(((PyObject *)__pyx_v_out));
-  __pyx_r = __pyx_v_out;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_AddTraceback("h5py.h5t._c_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_base);
-  __Pyx_XDECREF((PyObject *)__pyx_v_out);
-  __Pyx_XDECREF(__pyx_v_name);
-  __Pyx_XDECREF(__pyx_v_bname);
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1252
- *     return out
- * 
- * cdef TypeEnumID _c_bool(dtype dt):             # <<<<<<<<<<<<<<
- *     # Booleans
- *     global cfg
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_f_4h5py_3h5t__c_bool(CYTHON_UNUSED PyArray_Descr *__pyx_v_dt) {
-  struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_v_out = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeEnumID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_bool", 0);
-
-  /* "h5py/h5t.pyx":1257
- * 
- *     cdef TypeEnumID out
- *     out = TypeEnumID(H5Tenum_create(H5T_NATIVE_INT8))             # <<<<<<<<<<<<<<
- * 
- *     out.enum_insert(cfg._f_name, 0)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tenum_create(H5T_NATIVE_INT8); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeEnumID)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1257; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_v_out = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":1259
- *     out = TypeEnumID(H5Tenum_create(H5T_NATIVE_INT8))
- * 
- *     out.enum_insert(cfg._f_name, 0)             # <<<<<<<<<<<<<<
- *     out.enum_insert(cfg._t_name, 1)
- * 
- */
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_out), __pyx_n_s__enum_insert); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s___f_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __Pyx_INCREF(__pyx_int_0);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_0);
-  __Pyx_GIVEREF(__pyx_int_0);
-  __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1259; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1260
- * 
- *     out.enum_insert(cfg._f_name, 0)
- *     out.enum_insert(cfg._t_name, 1)             # <<<<<<<<<<<<<<
- * 
- *     return out
- */
-  __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_out), __pyx_n_s__enum_insert); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_3 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_2 = PyObject_GetAttr(__pyx_t_3, __pyx_n_s___t_name); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __Pyx_INCREF(__pyx_int_1);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_int_1);
-  __Pyx_GIVEREF(__pyx_int_1);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1260; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":1262
- *     out.enum_insert(cfg._t_name, 1)
- * 
- *     return out             # <<<<<<<<<<<<<<
- * 
- * cdef TypeArrayID _c_array(dtype dt, int logical):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __Pyx_INCREF(((PyObject *)__pyx_v_out));
-  __pyx_r = __pyx_v_out;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t._c_bool", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_out);
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1264
- *     return out
- * 
- * cdef TypeArrayID _c_array(dtype dt, int logical):             # <<<<<<<<<<<<<<
- *     # Arrays
- *     cdef dtype base
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_f_4h5py_3h5t__c_array(PyArray_Descr *__pyx_v_dt, int __pyx_v_logical) {
-  PyArray_Descr *__pyx_v_base = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_type_base = 0;
-  PyObject *__pyx_v_shape = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeArrayID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *(*__pyx_t_5)(PyObject *);
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  PyObject *__pyx_t_13 = NULL;
-  PyObject *__pyx_t_14 = NULL;
-  PyObject *__pyx_t_15 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_array", 0);
-
-  /* "h5py/h5t.pyx":1270
- *     cdef object shape
- * 
- *     base, shape = dt.subdtype             # <<<<<<<<<<<<<<
- *     try:
- *         shape = tuple(shape)
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__subdtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
-    PyObject* sequence = __pyx_t_1;
-    #if CYTHON_COMPILING_IN_CPYTHON
-    Py_ssize_t size = Py_SIZE(sequence);
-    #else
-    Py_ssize_t size = PySequence_Size(sequence);
-    #endif
-    if (unlikely(size != 2)) {
-      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
-      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-    #if CYTHON_COMPILING_IN_CPYTHON
-    if (likely(PyTuple_CheckExact(sequence))) {
-      __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); 
-      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); 
-    } else {
-      __pyx_t_2 = PyList_GET_ITEM(sequence, 0); 
-      __pyx_t_3 = PyList_GET_ITEM(sequence, 1); 
-    }
-    __Pyx_INCREF(__pyx_t_2);
-    __Pyx_INCREF(__pyx_t_3);
-    #else
-    __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    #endif
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  } else
-  {
-    Py_ssize_t index = -1;
-    __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_5 = Py_TYPE(__pyx_t_4)->tp_iternext;
-    index = 0; __pyx_t_2 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L3_unpacking_failed;
-    __Pyx_GOTREF(__pyx_t_2);
-    index = 1; __pyx_t_3 = __pyx_t_5(__pyx_t_4); if (unlikely(!__pyx_t_3)) goto __pyx_L3_unpacking_failed;
-    __Pyx_GOTREF(__pyx_t_3);
-    if (__Pyx_IternextUnpackEndCheck(__pyx_t_5(__pyx_t_4), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_5 = NULL;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    goto __pyx_L4_unpacking_done;
-    __pyx_L3_unpacking_failed:;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_5 = NULL;
-    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_L4_unpacking_done:;
-  }
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_base = ((PyArray_Descr *)__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_v_shape = __pyx_t_3;
-  __pyx_t_3 = 0;
-
-  /* "h5py/h5t.pyx":1271
- * 
- *     base, shape = dt.subdtype
- *     try:             # <<<<<<<<<<<<<<
- *         shape = tuple(shape)
- *     except TypeError:
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_6, &__pyx_t_7, &__pyx_t_8);
-    __Pyx_XGOTREF(__pyx_t_6);
-    __Pyx_XGOTREF(__pyx_t_7);
-    __Pyx_XGOTREF(__pyx_t_8);
-    /*try:*/ {
-
-      /* "h5py/h5t.pyx":1272
- *     base, shape = dt.subdtype
- *     try:
- *         shape = tuple(shape)             # <<<<<<<<<<<<<<
- *     except TypeError:
- *         try:
- */
-      __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
-      __Pyx_GOTREF(__pyx_t_1);
-      __Pyx_INCREF(__pyx_v_shape);
-      PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_shape);
-      __Pyx_GIVEREF(__pyx_v_shape);
-      __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)(&PyTuple_Type))), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1272; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
-      __Pyx_GOTREF(__pyx_t_3);
-      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-      __Pyx_DECREF(__pyx_v_shape);
-      __pyx_v_shape = __pyx_t_3;
-      __pyx_t_3 = 0;
-    }
-    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-    goto __pyx_L12_try_end;
-    __pyx_L5_error:;
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-    /* "h5py/h5t.pyx":1273
- *     try:
- *         shape = tuple(shape)
- *     except TypeError:             # <<<<<<<<<<<<<<
- *         try:
- *             shape = (int(shape),)
- */
-    __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
-    if (__pyx_t_9) {
-      __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_1, &__pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1273; __pyx_clineno = __LINE__; goto __pyx_L7_except_error;}
-      __Pyx_GOTREF(__pyx_t_3);
-      __Pyx_GOTREF(__pyx_t_1);
-      __Pyx_GOTREF(__pyx_t_2);
-
-      /* "h5py/h5t.pyx":1274
- *         shape = tuple(shape)
- *     except TypeError:
- *         try:             # <<<<<<<<<<<<<<
- *             shape = (int(shape),)
- *         except TypeError:
- */
-      {
-        __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
-        __Pyx_XGOTREF(__pyx_t_10);
-        __Pyx_XGOTREF(__pyx_t_11);
-        __Pyx_XGOTREF(__pyx_t_12);
-        /*try:*/ {
-
-          /* "h5py/h5t.pyx":1275
- *     except TypeError:
- *         try:
- *             shape = (int(shape),)             # <<<<<<<<<<<<<<
- *         except TypeError:
- *             raise TypeError("Array shape for dtype must be a sequence or integer")
- */
-          __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L15_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_v_shape);
-          PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_shape);
-          __Pyx_GIVEREF(__pyx_v_shape);
-          __pyx_t_13 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L15_error;}
-          __Pyx_GOTREF(__pyx_t_13);
-          __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-          __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1275; __pyx_clineno = __LINE__; goto __pyx_L15_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_13);
-          __Pyx_GIVEREF(__pyx_t_13);
-          __pyx_t_13 = 0;
-          __Pyx_DECREF(__pyx_v_shape);
-          __pyx_v_shape = ((PyObject *)__pyx_t_4);
-          __pyx_t_4 = 0;
-        }
-        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-        __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
-        goto __pyx_L22_try_end;
-        __pyx_L15_error:;
-        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-        /* "h5py/h5t.pyx":1276
- *         try:
- *             shape = (int(shape),)
- *         except TypeError:             # <<<<<<<<<<<<<<
- *             raise TypeError("Array shape for dtype must be a sequence or integer")
- *     type_base = py_create(base, logical=logical)
- */
-        __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
-        if (__pyx_t_9) {
-          __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
-          if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_13, &__pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1276; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __Pyx_GOTREF(__pyx_t_13);
-          __Pyx_GOTREF(__pyx_t_14);
-
-          /* "h5py/h5t.pyx":1277
- *             shape = (int(shape),)
- *         except TypeError:
- *             raise TypeError("Array shape for dtype must be a sequence or integer")             # <<<<<<<<<<<<<<
- *     type_base = py_create(base, logical=logical)
- *     return array_create(type_base, shape)
- */
-          __pyx_t_15 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_29), NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
-          __Pyx_GOTREF(__pyx_t_15);
-          __Pyx_Raise(__pyx_t_15, 0, 0, 0);
-          __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
-          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L17_except_error;}
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-          goto __pyx_L16_exception_handled;
-        }
-        __pyx_L17_except_error:;
-        __Pyx_XGIVEREF(__pyx_t_10);
-        __Pyx_XGIVEREF(__pyx_t_11);
-        __Pyx_XGIVEREF(__pyx_t_12);
-        __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
-        goto __pyx_L7_except_error;
-        __pyx_L16_exception_handled:;
-        __Pyx_XGIVEREF(__pyx_t_10);
-        __Pyx_XGIVEREF(__pyx_t_11);
-        __Pyx_XGIVEREF(__pyx_t_12);
-        __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
-        __pyx_L22_try_end:;
-      }
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      goto __pyx_L6_exception_handled;
-    }
-    __pyx_L7_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_6);
-    __Pyx_XGIVEREF(__pyx_t_7);
-    __Pyx_XGIVEREF(__pyx_t_8);
-    __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
-    goto __pyx_L1_error;
-    __pyx_L6_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_6);
-    __Pyx_XGIVEREF(__pyx_t_7);
-    __Pyx_XGIVEREF(__pyx_t_8);
-    __Pyx_ExceptionReset(__pyx_t_6, __pyx_t_7, __pyx_t_8);
-    __pyx_L12_try_end:;
-  }
-
-  /* "h5py/h5t.pyx":1278
- *         except TypeError:
- *             raise TypeError("Array shape for dtype must be a sequence or integer")
- *     type_base = py_create(base, logical=logical)             # <<<<<<<<<<<<<<
- *     return array_create(type_base, shape)
- * 
- */
-  __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__py_create); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(((PyObject *)__pyx_v_base));
-  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_v_base));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_base));
-  __pyx_t_3 = PyDict_New(); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  __pyx_t_14 = PyInt_FromLong(__pyx_v_logical); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_14);
-  if (PyDict_SetItem(__pyx_t_3, ((PyObject *)__pyx_n_s__logical), __pyx_t_14) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-  __pyx_t_14 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_1), ((PyObject *)__pyx_t_3)); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_14);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  if (!(likely(((__pyx_t_14) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1278; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_type_base = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_14);
-  __pyx_t_14 = 0;
-
-  /* "h5py/h5t.pyx":1279
- *             raise TypeError("Array shape for dtype must be a sequence or integer")
- *     type_base = py_create(base, logical=logical)
- *     return array_create(type_base, shape)             # <<<<<<<<<<<<<<
- * 
- * cdef TypeOpaqueID _c_opaque(dtype dt):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_14 = __Pyx_GetName(__pyx_m, __pyx_n_s__array_create); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_14);
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_INCREF(((PyObject *)__pyx_v_type_base));
-  PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_v_type_base));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_type_base));
-  __Pyx_INCREF(__pyx_v_shape);
-  PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_shape);
-  __Pyx_GIVEREF(__pyx_v_shape);
-  __pyx_t_1 = PyObject_Call(__pyx_t_14, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeArrayID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_13);
-  __Pyx_XDECREF(__pyx_t_14);
-  __Pyx_XDECREF(__pyx_t_15);
-  __Pyx_AddTraceback("h5py.h5t._c_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_base);
-  __Pyx_XDECREF((PyObject *)__pyx_v_type_base);
-  __Pyx_XDECREF(__pyx_v_shape);
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1281
- *     return array_create(type_base, shape)
- * 
- * cdef TypeOpaqueID _c_opaque(dtype dt):             # <<<<<<<<<<<<<<
- *     # Opaque
- *     return TypeOpaqueID(H5Tcreate(H5T_OPAQUE, dt.itemsize))
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_f_4h5py_3h5t__c_opaque(PyArray_Descr *__pyx_v_dt) {
-  struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  size_t __pyx_t_2;
-  hid_t __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_opaque", 0);
-
-  /* "h5py/h5t.pyx":1283
- * cdef TypeOpaqueID _c_opaque(dtype dt):
- *     # Opaque
- *     return TypeOpaqueID(H5Tcreate(H5T_OPAQUE, dt.itemsize))             # <<<<<<<<<<<<<<
- * 
- * cdef TypeStringID _c_string(dtype dt):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __Pyx_PyInt_AsSize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_3 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_OPAQUE, __pyx_t_2); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_t_3); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeOpaqueID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1283; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t._c_opaque", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1285
- *     return TypeOpaqueID(H5Tcreate(H5T_OPAQUE, dt.itemsize))
- * 
- * cdef TypeStringID _c_string(dtype dt):             # <<<<<<<<<<<<<<
- *     # Strings (fixed-length)
- *     cdef hid_t tid
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_string(PyArray_Descr *__pyx_v_dt) {
-  hid_t __pyx_v_tid;
-  struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  size_t __pyx_t_3;
-  herr_t __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_string", 0);
-
-  /* "h5py/h5t.pyx":1289
- *     cdef hid_t tid
- * 
- *     tid = H5Tcopy(H5T_C_S1)             # <<<<<<<<<<<<<<
- *     H5Tset_size(tid, dt.itemsize)
- *     H5Tset_strpad(tid, H5T_STR_NULLPAD)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(H5T_C_S1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1289; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_tid = __pyx_t_1;
-
-  /* "h5py/h5t.pyx":1290
- * 
- *     tid = H5Tcopy(H5T_C_S1)
- *     H5Tset_size(tid, dt.itemsize)             # <<<<<<<<<<<<<<
- *     H5Tset_strpad(tid, H5T_STR_NULLPAD)
- *     return TypeStringID(tid)
- */
-  __pyx_t_2 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__itemsize); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_3 = __Pyx_PyInt_AsSize_t(__pyx_t_2); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, __pyx_t_3); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1290; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1291
- *     tid = H5Tcopy(H5T_C_S1)
- *     H5Tset_size(tid, dt.itemsize)
- *     H5Tset_strpad(tid, H5T_STR_NULLPAD)             # <<<<<<<<<<<<<<
- *     return TypeStringID(tid)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tset_strpad(__pyx_v_tid, H5T_STR_NULLPAD); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1292
- *     H5Tset_size(tid, dt.itemsize)
- *     H5Tset_strpad(tid, H5T_STR_NULLPAD)
- *     return TypeStringID(tid)             # <<<<<<<<<<<<<<
- * 
- * cdef TypeCompoundID _c_complex(dtype dt):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_2 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2);
-  __Pyx_GIVEREF(__pyx_t_2);
-  __pyx_t_2 = 0;
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1292; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_t_2);
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5t._c_string", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1294
- *     return TypeStringID(tid)
- * 
- * cdef TypeCompoundID _c_complex(dtype dt):             # <<<<<<<<<<<<<<
- *     # Complex numbers (names depend on cfg)
- *     global cfg
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_complex(PyArray_Descr *__pyx_v_dt) {
-  hid_t __pyx_v_tid;
-  hid_t __pyx_v_tid_sub;
-  size_t __pyx_v_size;
-  size_t __pyx_v_off_r;
-  size_t __pyx_v_off_i;
-  size_t __pyx_v_length;
-  char __pyx_v_byteorder;
-  struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  size_t __pyx_t_2;
-  char __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  hid_t __pyx_t_6;
-  char *__pyx_t_7;
-  herr_t __pyx_t_8;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_complex", 0);
-
-  /* "h5py/h5t.pyx":1301
- *     cdef size_t size, off_r, off_i
- * 
- *     cdef size_t length = dt.itemsize             # <<<<<<<<<<<<<<
- *     cdef char byteorder = dt.byteorder
- * 
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__itemsize); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = __Pyx_PyInt_AsSize_t(__pyx_t_1); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1301; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_v_length = __pyx_t_2;
-
-  /* "h5py/h5t.pyx":1302
- * 
- *     cdef size_t length = dt.itemsize
- *     cdef char byteorder = dt.byteorder             # <<<<<<<<<<<<<<
- * 
- *     if length == 8:
- */
-  __pyx_t_3 = __pyx_v_dt->byteorder;
-  __pyx_v_byteorder = __pyx_t_3;
-
-  /* "h5py/h5t.pyx":1314
- *         else:
- *             tid_sub = H5T_NATIVE_FLOAT
- *     elif length == 16:             # <<<<<<<<<<<<<<
- *         size = h5py_size_n128
- *         off_r = h5py_offset_n128_real
- */
-  switch (__pyx_v_length) {
-
-    /* "h5py/h5t.pyx":1304
- *     cdef char byteorder = dt.byteorder
- * 
- *     if length == 8:             # <<<<<<<<<<<<<<
- *         size = h5py_size_n64
- *         off_r = h5py_offset_n64_real
- */
-    case 8:
-
-    /* "h5py/h5t.pyx":1305
- * 
- *     if length == 8:
- *         size = h5py_size_n64             # <<<<<<<<<<<<<<
- *         off_r = h5py_offset_n64_real
- *         off_i = h5py_offset_n64_imag
- */
-    __pyx_v_size = h5py_size_n64;
-
-    /* "h5py/h5t.pyx":1306
- *     if length == 8:
- *         size = h5py_size_n64
- *         off_r = h5py_offset_n64_real             # <<<<<<<<<<<<<<
- *         off_i = h5py_offset_n64_imag
- *         if byteorder == c'<':
- */
-    __pyx_v_off_r = h5py_offset_n64_real;
-
-    /* "h5py/h5t.pyx":1307
- *         size = h5py_size_n64
- *         off_r = h5py_offset_n64_real
- *         off_i = h5py_offset_n64_imag             # <<<<<<<<<<<<<<
- *         if byteorder == c'<':
- *             tid_sub = H5T_IEEE_F32LE
- */
-    __pyx_v_off_i = h5py_offset_n64_imag;
-
-    /* "h5py/h5t.pyx":1308
- *         off_r = h5py_offset_n64_real
- *         off_i = h5py_offset_n64_imag
- *         if byteorder == c'<':             # <<<<<<<<<<<<<<
- *             tid_sub = H5T_IEEE_F32LE
- *         elif byteorder == c'>':
- */
-    __pyx_t_4 = (__pyx_v_byteorder == '<');
-    if (__pyx_t_4) {
-
-      /* "h5py/h5t.pyx":1309
- *         off_i = h5py_offset_n64_imag
- *         if byteorder == c'<':
- *             tid_sub = H5T_IEEE_F32LE             # <<<<<<<<<<<<<<
- *         elif byteorder == c'>':
- *             tid_sub = H5T_IEEE_F32BE
- */
-      __pyx_v_tid_sub = H5T_IEEE_F32LE;
-      goto __pyx_L3;
-    }
-
-    /* "h5py/h5t.pyx":1310
- *         if byteorder == c'<':
- *             tid_sub = H5T_IEEE_F32LE
- *         elif byteorder == c'>':             # <<<<<<<<<<<<<<
- *             tid_sub = H5T_IEEE_F32BE
- *         else:
- */
-    __pyx_t_4 = (__pyx_v_byteorder == '>');
-    if (__pyx_t_4) {
-
-      /* "h5py/h5t.pyx":1311
- *             tid_sub = H5T_IEEE_F32LE
- *         elif byteorder == c'>':
- *             tid_sub = H5T_IEEE_F32BE             # <<<<<<<<<<<<<<
- *         else:
- *             tid_sub = H5T_NATIVE_FLOAT
- */
-      __pyx_v_tid_sub = H5T_IEEE_F32BE;
-      goto __pyx_L3;
-    }
-    /*else*/ {
-
-      /* "h5py/h5t.pyx":1313
- *             tid_sub = H5T_IEEE_F32BE
- *         else:
- *             tid_sub = H5T_NATIVE_FLOAT             # <<<<<<<<<<<<<<
- *     elif length == 16:
- *         size = h5py_size_n128
- */
-      __pyx_v_tid_sub = H5T_NATIVE_FLOAT;
-    }
-    __pyx_L3:;
-    break;
-
-    /* "h5py/h5t.pyx":1314
- *         else:
- *             tid_sub = H5T_NATIVE_FLOAT
- *     elif length == 16:             # <<<<<<<<<<<<<<
- *         size = h5py_size_n128
- *         off_r = h5py_offset_n128_real
- */
-    case 16:
-
-    /* "h5py/h5t.pyx":1315
- *             tid_sub = H5T_NATIVE_FLOAT
- *     elif length == 16:
- *         size = h5py_size_n128             # <<<<<<<<<<<<<<
- *         off_r = h5py_offset_n128_real
- *         off_i = h5py_offset_n128_imag
- */
-    __pyx_v_size = h5py_size_n128;
-
-    /* "h5py/h5t.pyx":1316
- *     elif length == 16:
- *         size = h5py_size_n128
- *         off_r = h5py_offset_n128_real             # <<<<<<<<<<<<<<
- *         off_i = h5py_offset_n128_imag
- *         if byteorder == c'<':
- */
-    __pyx_v_off_r = h5py_offset_n128_real;
-
-    /* "h5py/h5t.pyx":1317
- *         size = h5py_size_n128
- *         off_r = h5py_offset_n128_real
- *         off_i = h5py_offset_n128_imag             # <<<<<<<<<<<<<<
- *         if byteorder == c'<':
- *             tid_sub = H5T_IEEE_F64LE
- */
-    __pyx_v_off_i = h5py_offset_n128_imag;
-
-    /* "h5py/h5t.pyx":1318
- *         off_r = h5py_offset_n128_real
- *         off_i = h5py_offset_n128_imag
- *         if byteorder == c'<':             # <<<<<<<<<<<<<<
- *             tid_sub = H5T_IEEE_F64LE
- *         elif byteorder == c'>':
- */
-    __pyx_t_4 = (__pyx_v_byteorder == '<');
-    if (__pyx_t_4) {
-
-      /* "h5py/h5t.pyx":1319
- *         off_i = h5py_offset_n128_imag
- *         if byteorder == c'<':
- *             tid_sub = H5T_IEEE_F64LE             # <<<<<<<<<<<<<<
- *         elif byteorder == c'>':
- *             tid_sub = H5T_IEEE_F64BE
- */
-      __pyx_v_tid_sub = H5T_IEEE_F64LE;
-      goto __pyx_L4;
-    }
-
-    /* "h5py/h5t.pyx":1320
- *         if byteorder == c'<':
- *             tid_sub = H5T_IEEE_F64LE
- *         elif byteorder == c'>':             # <<<<<<<<<<<<<<
- *             tid_sub = H5T_IEEE_F64BE
- *         else:
- */
-    __pyx_t_4 = (__pyx_v_byteorder == '>');
-    if (__pyx_t_4) {
-
-      /* "h5py/h5t.pyx":1321
- *             tid_sub = H5T_IEEE_F64LE
- *         elif byteorder == c'>':
- *             tid_sub = H5T_IEEE_F64BE             # <<<<<<<<<<<<<<
- *         else:
- *             tid_sub = H5T_NATIVE_DOUBLE
- */
-      __pyx_v_tid_sub = H5T_IEEE_F64BE;
-      goto __pyx_L4;
-    }
-    /*else*/ {
-
-      /* "h5py/h5t.pyx":1323
- *             tid_sub = H5T_IEEE_F64BE
- *         else:
- *             tid_sub = H5T_NATIVE_DOUBLE             # <<<<<<<<<<<<<<
- *     else:
- *         raise TypeError("Illegal length %d for complex dtype" % length)
- */
-      __pyx_v_tid_sub = H5T_NATIVE_DOUBLE;
-    }
-    __pyx_L4:;
-    break;
-    default:
-
-    /* "h5py/h5t.pyx":1325
- *             tid_sub = H5T_NATIVE_DOUBLE
- *     else:
- *         raise TypeError("Illegal length %d for complex dtype" % length)             # <<<<<<<<<<<<<<
- * 
- *     tid = H5Tcreate(H5T_COMPOUND, size)
- */
-    __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_v_length); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_30), __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_5));
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_5));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
-    __pyx_t_5 = 0;
-    __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1325; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    break;
-  }
-
-  /* "h5py/h5t.pyx":1327
- *         raise TypeError("Illegal length %d for complex dtype" % length)
- * 
- *     tid = H5Tcreate(H5T_COMPOUND, size)             # <<<<<<<<<<<<<<
- *     H5Tinsert(tid, cfg._r_name, off_r, tid_sub)
- *     H5Tinsert(tid, cfg._i_name, off_i, tid_sub)
- */
-  __pyx_t_6 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_COMPOUND, __pyx_v_size); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1327; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_tid = __pyx_t_6;
-
-  /* "h5py/h5t.pyx":1328
- * 
- *     tid = H5Tcreate(H5T_COMPOUND, size)
- *     H5Tinsert(tid, cfg._r_name, off_r, tid_sub)             # <<<<<<<<<<<<<<
- *     H5Tinsert(tid, cfg._i_name, off_i, tid_sub)
- * 
- */
-  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_1 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___r_name); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_7 = PyBytes_AsString(__pyx_t_1); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_7, __pyx_v_off_r, __pyx_v_tid_sub); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1328; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1329
- *     tid = H5Tcreate(H5T_COMPOUND, size)
- *     H5Tinsert(tid, cfg._r_name, off_r, tid_sub)
- *     H5Tinsert(tid, cfg._i_name, off_i, tid_sub)             # <<<<<<<<<<<<<<
- * 
- *     return TypeCompoundID(tid)
- */
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__cfg); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s___i_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_7 = PyBytes_AsString(__pyx_t_5); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_8 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_7, __pyx_v_off_i, __pyx_v_tid_sub); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1329; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1331
- *     H5Tinsert(tid, cfg._i_name, off_i, tid_sub)
- * 
- *     return TypeCompoundID(tid)             # <<<<<<<<<<<<<<
- * 
- * cdef TypeCompoundID _c_compound(dtype dt, int logical):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_5 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5);
-  __Pyx_GIVEREF(__pyx_t_5);
-  __pyx_t_5 = 0;
-  __pyx_t_5 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1331; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_t_5);
-  __pyx_t_5 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5t._c_complex", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1333
- *     return TypeCompoundID(tid)
- * 
- * cdef TypeCompoundID _c_compound(dtype dt, int logical):             # <<<<<<<<<<<<<<
- *     # Compound datatypes
- * 
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_f_4h5py_3h5t__c_compound(PyArray_Descr *__pyx_v_dt, int __pyx_v_logical) {
-  hid_t __pyx_v_tid;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_type_tmp = 0;
-  PyArray_Descr *__pyx_v_dt_tmp = 0;
-  size_t __pyx_v_offset;
-  CYTHON_UNUSED PyObject *__pyx_v_fields = 0;
-  PyObject *__pyx_v_names = 0;
-  PyObject *__pyx_v_name = NULL;
-  PyObject *__pyx_v_ename = NULL;
-  struct __pyx_obj_4h5py_3h5t_TypeCompoundID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hid_t __pyx_t_2;
-  Py_ssize_t __pyx_t_3;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  size_t __pyx_t_9;
-  herr_t __pyx_t_10;
-  char *__pyx_t_11;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_compound", 0);
-
-  /* "h5py/h5t.pyx":1341
- *     cdef size_t offset
- * 
- *     cdef dict fields = dt.fields             # <<<<<<<<<<<<<<
- *     cdef tuple names = dt.names
- * 
- */
-  if (!(likely(PyDict_CheckExact(__pyx_v_dt->fields))||((__pyx_v_dt->fields) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_v_dt->fields)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1341; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_INCREF(__pyx_v_dt->fields);
-  __pyx_v_fields = ((PyObject*)__pyx_v_dt->fields);
-
-  /* "h5py/h5t.pyx":1342
- * 
- *     cdef dict fields = dt.fields
- *     cdef tuple names = dt.names             # <<<<<<<<<<<<<<
- * 
- *     # Initial size MUST be 1 to avoid segfaults (issue 166)
- */
-  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__names); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  if (!(likely(PyTuple_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_1)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1342; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_names = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1345
- * 
- *     # Initial size MUST be 1 to avoid segfaults (issue 166)
- *     tid = H5Tcreate(H5T_COMPOUND, 1)             # <<<<<<<<<<<<<<
- * 
- *     offset = 0
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tcreate(H5T_COMPOUND, 1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1345; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_tid = __pyx_t_2;
-
-  /* "h5py/h5t.pyx":1347
- *     tid = H5Tcreate(H5T_COMPOUND, 1)
- * 
- *     offset = 0             # <<<<<<<<<<<<<<
- *     for name in names:
- *         ename = name.encode('utf8') if isinstance(name, unicode) else name
- */
-  __pyx_v_offset = 0;
-
-  /* "h5py/h5t.pyx":1348
- * 
- *     offset = 0
- *     for name in names:             # <<<<<<<<<<<<<<
- *         ename = name.encode('utf8') if isinstance(name, unicode) else name
- *         dt_tmp = dt.fields[name][0]
- */
-  if (unlikely(((PyObject *)__pyx_v_names) == Py_None)) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_t_1 = ((PyObject *)__pyx_v_names); __Pyx_INCREF(__pyx_t_1); __pyx_t_3 = 0;
-  for (;;) {
-    if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
-    #if CYTHON_COMPILING_IN_CPYTHON
-    __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_3); __Pyx_INCREF(__pyx_t_4); __pyx_t_3++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    #else
-    __pyx_t_4 = PySequence_ITEM(__pyx_t_1, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1348; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    #endif
-    __Pyx_XDECREF(__pyx_v_name);
-    __pyx_v_name = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/h5t.pyx":1349
- *     offset = 0
- *     for name in names:
- *         ename = name.encode('utf8') if isinstance(name, unicode) else name             # <<<<<<<<<<<<<<
- *         dt_tmp = dt.fields[name][0]
- *         type_tmp = py_create(dt_tmp, logical=logical)
- */
-    __pyx_t_5 = PyUnicode_Check(__pyx_v_name); 
-    if (__pyx_t_5) {
-      __pyx_t_6 = PyObject_GetAttr(__pyx_v_name, __pyx_n_s__encode); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __pyx_t_7 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_k_tuple_31), NULL); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __pyx_t_4 = __pyx_t_7;
-      __pyx_t_7 = 0;
-    } else {
-      __Pyx_INCREF(__pyx_v_name);
-      __pyx_t_4 = __pyx_v_name;
-    }
-    __Pyx_XDECREF(__pyx_v_ename);
-    __pyx_v_ename = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/h5t.pyx":1350
- *     for name in names:
- *         ename = name.encode('utf8') if isinstance(name, unicode) else name
- *         dt_tmp = dt.fields[name][0]             # <<<<<<<<<<<<<<
- *         type_tmp = py_create(dt_tmp, logical=logical)
- *         H5Tset_size(tid, offset+type_tmp.get_size())
- */
-    __pyx_t_4 = PyObject_GetItem(__pyx_v_dt->fields, __pyx_v_name); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_7 = __Pyx_GetItemInt(__pyx_t_4, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_7);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    if (!(likely(((__pyx_t_7) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_7, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1350; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_XDECREF(((PyObject *)__pyx_v_dt_tmp));
-    __pyx_v_dt_tmp = ((PyArray_Descr *)__pyx_t_7);
-    __pyx_t_7 = 0;
-
-    /* "h5py/h5t.pyx":1351
- *         ename = name.encode('utf8') if isinstance(name, unicode) else name
- *         dt_tmp = dt.fields[name][0]
- *         type_tmp = py_create(dt_tmp, logical=logical)             # <<<<<<<<<<<<<<
- *         H5Tset_size(tid, offset+type_tmp.get_size())
- *         H5Tinsert(tid, ename, offset, type_tmp.id)
- */
-    __pyx_t_7 = __Pyx_GetName(__pyx_m, __pyx_n_s__py_create); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_7);
-    __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_INCREF(((PyObject *)__pyx_v_dt_tmp));
-    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_v_dt_tmp));
-    __Pyx_GIVEREF(((PyObject *)__pyx_v_dt_tmp));
-    __pyx_t_6 = PyDict_New(); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_6));
-    __pyx_t_8 = PyInt_FromLong(__pyx_v_logical); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    if (PyDict_SetItem(__pyx_t_6, ((PyObject *)__pyx_n_s__logical), __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-    __pyx_t_8 = PyObject_Call(__pyx_t_7, ((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_6)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
-    if (!(likely(((__pyx_t_8) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_8, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1351; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_XDECREF(((PyObject *)__pyx_v_type_tmp));
-    __pyx_v_type_tmp = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_8);
-    __pyx_t_8 = 0;
-
-    /* "h5py/h5t.pyx":1352
- *         dt_tmp = dt.fields[name][0]
- *         type_tmp = py_create(dt_tmp, logical=logical)
- *         H5Tset_size(tid, offset+type_tmp.get_size())             # <<<<<<<<<<<<<<
- *         H5Tinsert(tid, ename, offset, type_tmp.id)
- *         offset += type_tmp.get_size()
- */
-    __pyx_t_8 = __Pyx_PyInt_FromSize_t(__pyx_v_offset); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __pyx_t_6 = PyObject_GetAttr(((PyObject *)__pyx_v_type_tmp), __pyx_n_s__get_size); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __pyx_t_4 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __pyx_t_6 = PyNumber_Add(__pyx_t_8, __pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_6); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __pyx_t_10 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, __pyx_t_9); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1352; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-    /* "h5py/h5t.pyx":1353
- *         type_tmp = py_create(dt_tmp, logical=logical)
- *         H5Tset_size(tid, offset+type_tmp.get_size())
- *         H5Tinsert(tid, ename, offset, type_tmp.id)             # <<<<<<<<<<<<<<
- *         offset += type_tmp.get_size()
- * 
- */
-    __pyx_t_11 = PyBytes_AsString(__pyx_v_ename); if (unlikely((!__pyx_t_11) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_10 = __pyx_f_4h5py_4defs_H5Tinsert(__pyx_v_tid, __pyx_t_11, __pyx_v_offset, __pyx_v_type_tmp->__pyx_base.id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1353; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-    /* "h5py/h5t.pyx":1354
- *         H5Tset_size(tid, offset+type_tmp.get_size())
- *         H5Tinsert(tid, ename, offset, type_tmp.id)
- *         offset += type_tmp.get_size()             # <<<<<<<<<<<<<<
- * 
- *     return TypeCompoundID(tid)
- */
-    __pyx_t_6 = __Pyx_PyInt_FromSize_t(__pyx_v_offset); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_type_tmp), __pyx_n_s__get_size); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_8 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_t_6, __pyx_t_8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-    __pyx_t_9 = __Pyx_PyInt_AsSize_t(__pyx_t_4); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1354; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_v_offset = __pyx_t_9;
-  }
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-  /* "h5py/h5t.pyx":1356
- *         offset += type_tmp.get_size()
- * 
- *     return TypeCompoundID(tid)             # <<<<<<<<<<<<<<
- * 
- * cdef TypeStringID _c_vlen_str():
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_1 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeCompoundID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1356; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_AddTraceback("h5py.h5t._c_compound", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_type_tmp);
-  __Pyx_XDECREF((PyObject *)__pyx_v_dt_tmp);
-  __Pyx_XDECREF(__pyx_v_fields);
-  __Pyx_XDECREF(__pyx_v_names);
-  __Pyx_XDECREF(__pyx_v_name);
-  __Pyx_XDECREF(__pyx_v_ename);
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1358
- *     return TypeCompoundID(tid)
- * 
- * cdef TypeStringID _c_vlen_str():             # <<<<<<<<<<<<<<
- *     # Variable-length strings
- *     cdef hid_t tid
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_str(void) {
-  hid_t __pyx_v_tid;
-  struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  herr_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_vlen_str", 0);
-
-  /* "h5py/h5t.pyx":1361
- *     # Variable-length strings
- *     cdef hid_t tid
- *     tid = H5Tcopy(H5T_C_S1)             # <<<<<<<<<<<<<<
- *     H5Tset_size(tid, H5T_VARIABLE)
- *     return TypeStringID(tid)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(H5T_C_S1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1361; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_tid = __pyx_t_1;
-
-  /* "h5py/h5t.pyx":1362
- *     cdef hid_t tid
- *     tid = H5Tcopy(H5T_C_S1)
- *     H5Tset_size(tid, H5T_VARIABLE)             # <<<<<<<<<<<<<<
- *     return TypeStringID(tid)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, H5T_VARIABLE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1362; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1363
- *     tid = H5Tcopy(H5T_C_S1)
- *     H5Tset_size(tid, H5T_VARIABLE)
- *     return TypeStringID(tid)             # <<<<<<<<<<<<<<
- * 
- * cdef TypeStringID _c_vlen_unicode():
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1363; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t._c_vlen_str", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1365
- *     return TypeStringID(tid)
- * 
- * cdef TypeStringID _c_vlen_unicode():             # <<<<<<<<<<<<<<
- *     cdef hid_t tid
- *     tid = H5Tcopy(H5T_C_S1)
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_f_4h5py_3h5t__c_vlen_unicode(void) {
-  hid_t __pyx_v_tid;
-  struct __pyx_obj_4h5py_3h5t_TypeStringID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  hid_t __pyx_t_1;
-  herr_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_vlen_unicode", 0);
-
-  /* "h5py/h5t.pyx":1367
- * cdef TypeStringID _c_vlen_unicode():
- *     cdef hid_t tid
- *     tid = H5Tcopy(H5T_C_S1)             # <<<<<<<<<<<<<<
- *     H5Tset_size(tid, H5T_VARIABLE)
- *     H5Tset_cset(tid, H5T_CSET_UTF8)
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Tcopy(H5T_C_S1); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1367; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_tid = __pyx_t_1;
-
-  /* "h5py/h5t.pyx":1368
- *     cdef hid_t tid
- *     tid = H5Tcopy(H5T_C_S1)
- *     H5Tset_size(tid, H5T_VARIABLE)             # <<<<<<<<<<<<<<
- *     H5Tset_cset(tid, H5T_CSET_UTF8)
- *     return TypeStringID(tid)
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tset_size(__pyx_v_tid, H5T_VARIABLE); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1368; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1369
- *     tid = H5Tcopy(H5T_C_S1)
- *     H5Tset_size(tid, H5T_VARIABLE)
- *     H5Tset_cset(tid, H5T_CSET_UTF8)             # <<<<<<<<<<<<<<
- *     return TypeStringID(tid)
- * 
- */
-  __pyx_t_2 = __pyx_f_4h5py_4defs_H5Tset_cset(__pyx_v_tid, ((H5T_cset_t)H5T_CSET_UTF8)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1370
- *     H5Tset_size(tid, H5T_VARIABLE)
- *     H5Tset_cset(tid, H5T_CSET_UTF8)
- *     return TypeStringID(tid)             # <<<<<<<<<<<<<<
- * 
- * cdef TypeReferenceID _c_ref(object refclass):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_3 = __Pyx_PyInt_to_py_hid_t(__pyx_v_tid); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);
-  __Pyx_GIVEREF(__pyx_t_3);
-  __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5t_TypeStringID)), ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1370; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_AddTraceback("h5py.h5t._c_vlen_unicode", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1372
- *     return TypeStringID(tid)
- * 
- * cdef TypeReferenceID _c_ref(object refclass):             # <<<<<<<<<<<<<<
- *     if refclass is Reference:
- *         return STD_REF_OBJ
- */
-
-static struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_f_4h5py_3h5t__c_ref(PyObject *__pyx_v_refclass) {
-  struct __pyx_obj_4h5py_3h5t_TypeReferenceID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_c_ref", 0);
-
-  /* "h5py/h5t.pyx":1373
- * 
- * cdef TypeReferenceID _c_ref(object refclass):
- *     if refclass is Reference:             # <<<<<<<<<<<<<<
- *         return STD_REF_OBJ
- *     elif refclass is RegionReference:
- */
-  __pyx_t_1 = (__pyx_v_refclass == ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)));
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":1374
- * cdef TypeReferenceID _c_ref(object refclass):
- *     if refclass is Reference:
- *         return STD_REF_OBJ             # <<<<<<<<<<<<<<
- *     elif refclass is RegionReference:
- *         return STD_REF_DSETREG
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__STD_REF_OBJ); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeReferenceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1374; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeReferenceID *)__pyx_t_2);
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":1375
- *     if refclass is Reference:
- *         return STD_REF_OBJ
- *     elif refclass is RegionReference:             # <<<<<<<<<<<<<<
- *         return STD_REF_DSETREG
- *     raise TypeError("Unrecognized reference code")
- */
-  __pyx_t_1 = (__pyx_v_refclass == ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)));
-  if (__pyx_t_1) {
-
-    /* "h5py/h5t.pyx":1376
- *         return STD_REF_OBJ
- *     elif refclass is RegionReference:
- *         return STD_REF_DSETREG             # <<<<<<<<<<<<<<
- *     raise TypeError("Unrecognized reference code")
- * 
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__STD_REF_DSETREG); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_4h5py_3h5t_TypeReferenceID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1376; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeReferenceID *)__pyx_t_2);
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":1377
- *     elif refclass is RegionReference:
- *         return STD_REF_DSETREG
- *     raise TypeError("Unrecognized reference code")             # <<<<<<<<<<<<<<
- * 
- * cpdef TypeID py_create(object dtype_in, bint logical=0):
- */
-  __pyx_t_2 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_33), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeReferenceID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5t._c_ref", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1379
- *     raise TypeError("Unrecognized reference code")
- * 
- * cpdef TypeID py_create(object dtype_in, bint logical=0):             # <<<<<<<<<<<<<<
- *     """(OBJECT dtype_in, BOOL logical=False) => TypeID
- * 
- */
-
-static PyObject *__pyx_pw_4h5py_3h5t_15py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_f_4h5py_3h5t_py_create(PyObject *__pyx_v_dtype_in, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args) {
-  int __pyx_v_logical = ((int)0);
-  PyArray_Descr *__pyx_v_dt = 0;
-  char __pyx_v_kind;
-  PyObject *__pyx_v_enum_vals = NULL;
-  PyObject *__pyx_v_vlen = NULL;
-  PyObject *__pyx_v_refclass = NULL;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  char __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_t_6;
-  int __pyx_t_7;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_create", 0);
-  if (__pyx_optional_args) {
-    if (__pyx_optional_args->__pyx_n > 0) {
-      __pyx_v_logical = __pyx_optional_args->logical;
-    }
-  }
-
-  /* "h5py/h5t.pyx":1396
- *         length string type.
- *     """
- *     cdef dtype dt = dtype(dtype_in)             # <<<<<<<<<<<<<<
- *     cdef char kind = dt.kind
- * 
- */
-  __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __Pyx_INCREF(__pyx_v_dtype_in);
-  PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_dtype_in);
-  __Pyx_GIVEREF(__pyx_v_dtype_in);
-  __pyx_t_2 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1396; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  __pyx_v_dt = ((PyArray_Descr *)__pyx_t_2);
-  __pyx_t_2 = 0;
-
-  /* "h5py/h5t.pyx":1397
- *     """
- *     cdef dtype dt = dtype(dtype_in)
- *     cdef char kind = dt.kind             # <<<<<<<<<<<<<<
- * 
- *     # Float
- */
-  __pyx_t_3 = __pyx_v_dt->kind;
-  __pyx_v_kind = __pyx_t_3;
-
-  /* "h5py/h5t.pyx":1400
- * 
- *     # Float
- *     if kind == c'f':             # <<<<<<<<<<<<<<
- *         return _c_float(dt)
- * 
- */
-  __pyx_t_4 = (__pyx_v_kind == 'f');
-  if (__pyx_t_4) {
-
-    /* "h5py/h5t.pyx":1401
- *     # Float
- *     if kind == c'f':
- *         return _c_float(dt)             # <<<<<<<<<<<<<<
- * 
- *     # Integer
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t__c_float(__pyx_v_dt)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1401; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
-    __pyx_t_2 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":1404
- * 
- *     # Integer
- *     elif kind == c'u' or kind == c'i':             # <<<<<<<<<<<<<<
- * 
- *         if logical:
- */
-  switch (__pyx_v_kind) {
-    case 'u':
-    case 'i':
-    __pyx_t_4 = 1;
-    break;
-    default:
-    __pyx_t_4 = 0;
-    break;
-  }
-  if (__pyx_t_4) {
-
-    /* "h5py/h5t.pyx":1406
- *     elif kind == c'u' or kind == c'i':
- * 
- *         if logical:             # <<<<<<<<<<<<<<
- *             # Check for an enumeration hint
- *             enum_vals = check_dtype(enum=dt)
- */
-    if (__pyx_v_logical) {
-
-      /* "h5py/h5t.pyx":1408
- *         if logical:
- *             # Check for an enumeration hint
- *             enum_vals = check_dtype(enum=dt)             # <<<<<<<<<<<<<<
- *             if enum_vals is not None:
- *                 return _c_enum(dt, enum_vals)
- */
-      __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-      if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_5 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1408; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-      __pyx_v_enum_vals = __pyx_t_5;
-      __pyx_t_5 = 0;
-
-      /* "h5py/h5t.pyx":1409
- *             # Check for an enumeration hint
- *             enum_vals = check_dtype(enum=dt)
- *             if enum_vals is not None:             # <<<<<<<<<<<<<<
- *                 return _c_enum(dt, enum_vals)
- * 
- */
-      __pyx_t_4 = (__pyx_v_enum_vals != Py_None);
-      if (__pyx_t_4) {
-
-        /* "h5py/h5t.pyx":1410
- *             enum_vals = check_dtype(enum=dt)
- *             if enum_vals is not None:
- *                 return _c_enum(dt, enum_vals)             # <<<<<<<<<<<<<<
- * 
- *         return _c_int(dt)
- */
-        __Pyx_XDECREF(((PyObject *)__pyx_r));
-        if (!(likely(PyDict_CheckExact(__pyx_v_enum_vals))||((__pyx_v_enum_vals) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_v_enum_vals)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_enum(__pyx_v_dt, ((PyObject*)__pyx_v_enum_vals))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1410; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_5);
-        __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-        __pyx_t_5 = 0;
-        goto __pyx_L0;
-        goto __pyx_L5;
-      }
-      __pyx_L5:;
-      goto __pyx_L4;
-    }
-    __pyx_L4:;
-
-    /* "h5py/h5t.pyx":1412
- *                 return _c_enum(dt, enum_vals)
- * 
- *         return _c_int(dt)             # <<<<<<<<<<<<<<
- * 
- *     # Complex
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_int(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1412; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-    __pyx_t_5 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":1415
- * 
- *     # Complex
- *     elif kind == c'c':             # <<<<<<<<<<<<<<
- *         return _c_complex(dt)
- * 
- */
-  __pyx_t_4 = (__pyx_v_kind == 'c');
-  if (__pyx_t_4) {
-
-    /* "h5py/h5t.pyx":1416
- *     # Complex
- *     elif kind == c'c':
- *         return _c_complex(dt)             # <<<<<<<<<<<<<<
- * 
- *     # Compound
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_complex(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1416; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-    __pyx_t_5 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":1419
- * 
- *     # Compound
- *     elif kind == c'V' and dt.names is not None:             # <<<<<<<<<<<<<<
- *         return _c_compound(dt, logical)
- * 
- */
-  __pyx_t_4 = (__pyx_v_kind == 'V');
-  if (__pyx_t_4) {
-    __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__names); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1419; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_t_6 = (__pyx_t_5 != Py_None);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __pyx_t_7 = __pyx_t_6;
-  } else {
-    __pyx_t_7 = __pyx_t_4;
-  }
-  if (__pyx_t_7) {
-
-    /* "h5py/h5t.pyx":1420
- *     # Compound
- *     elif kind == c'V' and dt.names is not None:
- *         return _c_compound(dt, logical)             # <<<<<<<<<<<<<<
- * 
- *     # Array or opaque
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_compound(__pyx_v_dt, __pyx_v_logical)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1420; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-    __pyx_t_5 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":1423
- * 
- *     # Array or opaque
- *     elif kind == c'V':             # <<<<<<<<<<<<<<
- *         if dt.subdtype is not None:
- *             return _c_array(dt, logical)
- */
-  __pyx_t_7 = (__pyx_v_kind == 'V');
-  if (__pyx_t_7) {
-
-    /* "h5py/h5t.pyx":1424
- *     # Array or opaque
- *     elif kind == c'V':
- *         if dt.subdtype is not None:             # <<<<<<<<<<<<<<
- *             return _c_array(dt, logical)
- *         else:
- */
-    __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_dt), __pyx_n_s__subdtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1424; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_t_7 = (__pyx_t_5 != Py_None);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    if (__pyx_t_7) {
-
-      /* "h5py/h5t.pyx":1425
- *     elif kind == c'V':
- *         if dt.subdtype is not None:
- *             return _c_array(dt, logical)             # <<<<<<<<<<<<<<
- *         else:
- *             return _c_opaque(dt)
- */
-      __Pyx_XDECREF(((PyObject *)__pyx_r));
-      __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_array(__pyx_v_dt, __pyx_v_logical)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1425; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-      __pyx_t_5 = 0;
-      goto __pyx_L0;
-      goto __pyx_L6;
-    }
-    /*else*/ {
-
-      /* "h5py/h5t.pyx":1427
- *             return _c_array(dt, logical)
- *         else:
- *             return _c_opaque(dt)             # <<<<<<<<<<<<<<
- * 
- *     # String
- */
-      __Pyx_XDECREF(((PyObject *)__pyx_r));
-      __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_opaque(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1427; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-      __pyx_t_5 = 0;
-      goto __pyx_L0;
-    }
-    __pyx_L6:;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":1430
- * 
- *     # String
- *     elif kind == c'S':             # <<<<<<<<<<<<<<
- *         return _c_string(dt)
- * 
- */
-  __pyx_t_7 = (__pyx_v_kind == 'S');
-  if (__pyx_t_7) {
-
-    /* "h5py/h5t.pyx":1431
- *     # String
- *     elif kind == c'S':
- *         return _c_string(dt)             # <<<<<<<<<<<<<<
- * 
- *     # Boolean
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_string(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1431; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-    __pyx_t_5 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":1434
- * 
- *     # Boolean
- *     elif kind == c'b':             # <<<<<<<<<<<<<<
- *         return _c_bool(dt)
- * 
- */
-  __pyx_t_7 = (__pyx_v_kind == 'b');
-  if (__pyx_t_7) {
-
-    /* "h5py/h5t.pyx":1435
- *     # Boolean
- *     elif kind == c'b':
- *         return _c_bool(dt)             # <<<<<<<<<<<<<<
- * 
- *     # Object types (including those with vlen hints)
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_bool(__pyx_v_dt)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-    __pyx_t_5 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/h5t.pyx":1438
- * 
- *     # Object types (including those with vlen hints)
- *     elif kind == c'O':             # <<<<<<<<<<<<<<
- * 
- *         if logical:
- */
-  __pyx_t_7 = (__pyx_v_kind == 'O');
-  if (__pyx_t_7) {
-
-    /* "h5py/h5t.pyx":1440
- *     elif kind == c'O':
- * 
- *         if logical:             # <<<<<<<<<<<<<<
- *             vlen = check_dtype(vlen=dt)
- *             if vlen is bytes:
- */
-    if (__pyx_v_logical) {
-
-      /* "h5py/h5t.pyx":1441
- * 
- *         if logical:
- *             vlen = check_dtype(vlen=dt)             # <<<<<<<<<<<<<<
- *             if vlen is bytes:
- *                 return _c_vlen_str()
- */
-      __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-      if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__vlen), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_2 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1441; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-      __pyx_v_vlen = __pyx_t_2;
-      __pyx_t_2 = 0;
-
-      /* "h5py/h5t.pyx":1442
- *         if logical:
- *             vlen = check_dtype(vlen=dt)
- *             if vlen is bytes:             # <<<<<<<<<<<<<<
- *                 return _c_vlen_str()
- *             elif vlen is unicode:
- */
-      __pyx_t_7 = (__pyx_v_vlen == ((PyObject *)((PyObject*)(&PyBytes_Type))));
-      if (__pyx_t_7) {
-
-        /* "h5py/h5t.pyx":1443
- *             vlen = check_dtype(vlen=dt)
- *             if vlen is bytes:
- *                 return _c_vlen_str()             # <<<<<<<<<<<<<<
- *             elif vlen is unicode:
- *                 return _c_vlen_unicode()
- */
-        __Pyx_XDECREF(((PyObject *)__pyx_r));
-        __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t__c_vlen_str()); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1443; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_2);
-        __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
-        __pyx_t_2 = 0;
-        goto __pyx_L0;
-        goto __pyx_L8;
-      }
-
-      /* "h5py/h5t.pyx":1444
- *             if vlen is bytes:
- *                 return _c_vlen_str()
- *             elif vlen is unicode:             # <<<<<<<<<<<<<<
- *                 return _c_vlen_unicode()
- * 
- */
-      __pyx_t_7 = (__pyx_v_vlen == ((PyObject *)((PyObject*)(&PyUnicode_Type))));
-      if (__pyx_t_7) {
-
-        /* "h5py/h5t.pyx":1445
- *                 return _c_vlen_str()
- *             elif vlen is unicode:
- *                 return _c_vlen_unicode()             # <<<<<<<<<<<<<<
- * 
- *             refclass = check_dtype(ref=dt)
- */
-        __Pyx_XDECREF(((PyObject *)__pyx_r));
-        __pyx_t_2 = ((PyObject *)__pyx_f_4h5py_3h5t__c_vlen_unicode()); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1445; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_2);
-        __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_2);
-        __pyx_t_2 = 0;
-        goto __pyx_L0;
-        goto __pyx_L8;
-      }
-      __pyx_L8:;
-
-      /* "h5py/h5t.pyx":1447
- *                 return _c_vlen_unicode()
- * 
- *             refclass = check_dtype(ref=dt)             # <<<<<<<<<<<<<<
- *             if refclass is not None:
- *                     return _c_ref(refclass)
- */
-      __pyx_t_2 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_2);
-      __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-      if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__ref), ((PyObject *)__pyx_v_dt)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_5 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1447; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-      __pyx_v_refclass = __pyx_t_5;
-      __pyx_t_5 = 0;
-
-      /* "h5py/h5t.pyx":1448
- * 
- *             refclass = check_dtype(ref=dt)
- *             if refclass is not None:             # <<<<<<<<<<<<<<
- *                     return _c_ref(refclass)
- * 
- */
-      __pyx_t_7 = (__pyx_v_refclass != Py_None);
-      if (__pyx_t_7) {
-
-        /* "h5py/h5t.pyx":1449
- *             refclass = check_dtype(ref=dt)
- *             if refclass is not None:
- *                     return _c_ref(refclass)             # <<<<<<<<<<<<<<
- * 
- *             raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,))
- */
-        __Pyx_XDECREF(((PyObject *)__pyx_r));
-        __pyx_t_5 = ((PyObject *)__pyx_f_4h5py_3h5t__c_ref(__pyx_v_refclass)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_5);
-        __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_5);
-        __pyx_t_5 = 0;
-        goto __pyx_L0;
-        goto __pyx_L9;
-      }
-      __pyx_L9:;
-
-      /* "h5py/h5t.pyx":1451
- *                     return _c_ref(refclass)
- * 
- *             raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,))             # <<<<<<<<<<<<<<
- * 
- *         return PYTHON_OBJECT
- */
-      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_INCREF(((PyObject *)__pyx_v_dt));
-      PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_v_dt));
-      __Pyx_GIVEREF(((PyObject *)__pyx_v_dt));
-      __pyx_t_1 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_34), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_1));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_1));
-      __pyx_t_1 = 0;
-      __pyx_t_1 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_1);
-      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-      __Pyx_Raise(__pyx_t_1, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1451; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L7;
-    }
-    __pyx_L7:;
-
-    /* "h5py/h5t.pyx":1453
- *             raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,))
- * 
- *         return PYTHON_OBJECT             # <<<<<<<<<<<<<<
- * 
- *     # Unrecognized
- */
-    __Pyx_XDECREF(((PyObject *)__pyx_r));
-    __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__PYTHON_OBJECT); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4h5py_3h5t_TypeID))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1453; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)__pyx_t_1);
-    __pyx_t_1 = 0;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/h5t.pyx":1457
- *     # Unrecognized
- *     else:
- *         raise TypeError("No conversion path for dtype: %s" % repr(dt))             # <<<<<<<<<<<<<<
- * 
- * def special_dtype(**kwds):
- */
-    __pyx_t_1 = PyObject_Repr(((PyObject *)__pyx_v_dt)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_35), __pyx_t_1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_5));
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_t_5));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
-    __pyx_t_5 = 0;
-    __pyx_t_5 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_1), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-    __Pyx_Raise(__pyx_t_5, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1457; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  __pyx_r = ((struct __pyx_obj_4h5py_3h5t_TypeID *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_dt);
-  __Pyx_XDECREF(__pyx_v_enum_vals);
-  __Pyx_XDECREF(__pyx_v_vlen);
-  __Pyx_XDECREF(__pyx_v_refclass);
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_15py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_14py_create[] = "(OBJECT dtype_in, BOOL logical=False) => TypeID\n\n    Given a Numpy dtype object, generate a byte-for-byte memory-compatible\n    HDF5 datatype object.  The result is guaranteed to be transient and\n    unlocked.\n\n    Argument dtype_in may be a dtype object, or anything which can be\n    converted to a dtype, including strings like '<i4'.\n\n    logical\n        If this flag is set, instead of returning a byte-for-byte identical\n      [...]
-static PyObject *__pyx_pw_4h5py_3h5t_15py_create(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_dtype_in = 0;
-  int __pyx_v_logical;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("py_create (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dtype_in,&__pyx_n_s__logical,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dtype_in)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__logical);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "py_create") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_dtype_in = values[0];
-    if (values[1]) {
-      __pyx_v_logical = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_logical == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_logical = ((int)0);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("py_create", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5t_14py_create(__pyx_self, __pyx_v_dtype_in, __pyx_v_logical);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1379
- *     raise TypeError("Unrecognized reference code")
- * 
- * cpdef TypeID py_create(object dtype_in, bint logical=0):             # <<<<<<<<<<<<<<
- *     """(OBJECT dtype_in, BOOL logical=False) => TypeID
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_14py_create(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dtype_in, int __pyx_v_logical) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  struct __pyx_opt_args_4h5py_3h5t_py_create __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_create", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2.__pyx_n = 1;
-  __pyx_t_2.logical = __pyx_v_logical;
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_create(__pyx_v_dtype_in, 0, &__pyx_t_2)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5t.py_create", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_17special_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_16special_dtype[] = " Create a new h5py \"special\" type.  Only one keyword may be given.\n\n    Legal keywords are:\n\n    vlen = basetype\n        Base type for HDF5 variable-length datatype.  Currently only the\n        builtin string class (str) is allowed.\n        Example: special_dtype( vlen=str )\n\n    enum = (basetype, values_dict)\n        Create a NumPy representation of an HDF5 enumerated type.  Provide\n        a 2-tuple containing an (integ [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5t_17special_dtype = {__Pyx_NAMESTR("special_dtype"), (PyCFunction)__pyx_pw_4h5py_3h5t_17special_dtype, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_16special_dtype)};
-static PyObject *__pyx_pw_4h5py_3h5t_17special_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_kwds = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("special_dtype (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("special_dtype", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
-  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "special_dtype", 1))) return NULL;
-  __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
-  if (unlikely(!__pyx_v_kwds)) return NULL;
-  __Pyx_GOTREF(__pyx_v_kwds);
-  __pyx_r = __pyx_pf_4h5py_3h5t_16special_dtype(__pyx_self, __pyx_v_kwds);
-  __Pyx_XDECREF(__pyx_v_kwds);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1459
- *         raise TypeError("No conversion path for dtype: %s" % repr(dt))
- * 
- * def special_dtype(**kwds):             # <<<<<<<<<<<<<<
- *     """ Create a new h5py "special" type.  Only one keyword may be given.
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_16special_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds) {
-  PyObject *__pyx_v_name = NULL;
-  PyObject *__pyx_v_val = NULL;
-  PyObject *__pyx_v_dt = NULL;
-  PyObject *__pyx_v_enum_vals = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *(*__pyx_t_7)(PyObject *);
-  int __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  int __pyx_t_13;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("special_dtype", 0);
-
-  /* "h5py/h5t.pyx":1479
- *     """
- * 
- *     if len(kwds) != 1:             # <<<<<<<<<<<<<<
- *         raise TypeError("Exactly one keyword may be provided")
- * 
- */
-  __pyx_t_1 = PyDict_Size(((PyObject *)__pyx_v_kwds)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1479; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = (__pyx_t_1 != 1);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":1480
- * 
- *     if len(kwds) != 1:
- *         raise TypeError("Exactly one keyword may be provided")             # <<<<<<<<<<<<<<
- * 
- *     name, val = kwds.popitem()
- */
-    __pyx_t_3 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_37), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":1482
- *         raise TypeError("Exactly one keyword may be provided")
- * 
- *     name, val = kwds.popitem()             # <<<<<<<<<<<<<<
- * 
- *     if name == 'vlen':
- */
-  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_kwds), __pyx_n_s__popitem); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
-    PyObject* sequence = __pyx_t_4;
-    #if CYTHON_COMPILING_IN_CPYTHON
-    Py_ssize_t size = Py_SIZE(sequence);
-    #else
-    Py_ssize_t size = PySequence_Size(sequence);
-    #endif
-    if (unlikely(size != 2)) {
-      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
-      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-    #if CYTHON_COMPILING_IN_CPYTHON
-    if (likely(PyTuple_CheckExact(sequence))) {
-      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
-      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
-    } else {
-      __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
-      __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
-    }
-    __Pyx_INCREF(__pyx_t_3);
-    __Pyx_INCREF(__pyx_t_5);
-    #else
-    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    #endif
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  } else
-  {
-    Py_ssize_t index = -1;
-    __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
-    index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
-    __Pyx_GOTREF(__pyx_t_3);
-    index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
-    __Pyx_GOTREF(__pyx_t_5);
-    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_7 = NULL;
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    goto __pyx_L5_unpacking_done;
-    __pyx_L4_unpacking_failed:;
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __pyx_t_7 = NULL;
-    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1482; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_L5_unpacking_done:;
-  }
-  __pyx_v_name = __pyx_t_3;
-  __pyx_t_3 = 0;
-  __pyx_v_val = __pyx_t_5;
-  __pyx_t_5 = 0;
-
-  /* "h5py/h5t.pyx":1484
- *     name, val = kwds.popitem()
- * 
- *     if name == 'vlen':             # <<<<<<<<<<<<<<
- *         if val not in (bytes, unicode):
- *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")
- */
-  __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__vlen), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1484; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":1485
- * 
- *     if name == 'vlen':
- *         if val not in (bytes, unicode):             # <<<<<<<<<<<<<<
- *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")
- * 
- */
-    __Pyx_INCREF(__pyx_v_val);
-    __pyx_t_4 = __pyx_v_val;
-    __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)(&PyBytes_Type))), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    if (((int)__pyx_t_2)) {
-      __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)(&PyUnicode_Type))), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1485; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_9 = ((int)__pyx_t_8);
-    } else {
-      __pyx_t_9 = ((int)__pyx_t_2);
-    }
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_2 = __pyx_t_9;
-    if (__pyx_t_2) {
-
-      /* "h5py/h5t.pyx":1486
- *     if name == 'vlen':
- *         if val not in (bytes, unicode):
- *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")             # <<<<<<<<<<<<<<
- * 
- *         return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))
- */
-      __pyx_t_4 = PyObject_Call(__pyx_builtin_NotImplementedError, ((PyObject *)__pyx_k_tuple_39), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L7;
-    }
-    __pyx_L7:;
-
-    /* "h5py/h5t.pyx":1488
- *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")
- * 
- *         return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))             # <<<<<<<<<<<<<<
- * 
- *     if name == 'enum':
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__type), __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__vlen));
-    PyTuple_SET_ITEM(__pyx_t_5, 1, ((PyObject *)__pyx_n_s__vlen));
-    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__vlen));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_5));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__O));
-    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_n_s__O));
-    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O));
-    __pyx_t_5 = 0;
-    __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__O));
-    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__O));
-    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O));
-    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_t_5));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
-    __pyx_t_5 = 0;
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1488; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    __pyx_r = __pyx_t_4;
-    __pyx_t_4 = 0;
-    goto __pyx_L0;
-    goto __pyx_L6;
-  }
-  __pyx_L6:;
-
-  /* "h5py/h5t.pyx":1490
- *         return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))
- * 
- *     if name == 'enum':             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__enum), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1490; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":1492
- *     if name == 'enum':
- * 
- *         try:             # <<<<<<<<<<<<<<
- *             dt, enum_vals = val
- *         except TypeError:
- */
-    {
-      __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12);
-      __Pyx_XGOTREF(__pyx_t_10);
-      __Pyx_XGOTREF(__pyx_t_11);
-      __Pyx_XGOTREF(__pyx_t_12);
-      /*try:*/ {
-
-        /* "h5py/h5t.pyx":1493
- * 
- *         try:
- *             dt, enum_vals = val             # <<<<<<<<<<<<<<
- *         except TypeError:
- *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")
- */
-        if ((likely(PyTuple_CheckExact(__pyx_v_val))) || (PyList_CheckExact(__pyx_v_val))) {
-          PyObject* sequence = __pyx_v_val;
-          #if CYTHON_COMPILING_IN_CPYTHON
-          Py_ssize_t size = Py_SIZE(sequence);
-          #else
-          Py_ssize_t size = PySequence_Size(sequence);
-          #endif
-          if (unlikely(size != 2)) {
-            if (size > 2) __Pyx_RaiseTooManyValuesError(2);
-            else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
-          }
-          #if CYTHON_COMPILING_IN_CPYTHON
-          if (likely(PyTuple_CheckExact(sequence))) {
-            __pyx_t_4 = PyTuple_GET_ITEM(sequence, 0); 
-            __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
-          } else {
-            __pyx_t_4 = PyList_GET_ITEM(sequence, 0); 
-            __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
-          }
-          __Pyx_INCREF(__pyx_t_4);
-          __Pyx_INCREF(__pyx_t_5);
-          #else
-          __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
-          __Pyx_GOTREF(__pyx_t_4);
-          __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
-          __Pyx_GOTREF(__pyx_t_5);
-          #endif
-        } else
-        {
-          Py_ssize_t index = -1;
-          __pyx_t_3 = PyObject_GetIter(__pyx_v_val); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
-          __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext;
-          index = 0; __pyx_t_4 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L17_unpacking_failed;
-          __Pyx_GOTREF(__pyx_t_4);
-          index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L17_unpacking_failed;
-          __Pyx_GOTREF(__pyx_t_5);
-          if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
-          __pyx_t_7 = NULL;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          goto __pyx_L18_unpacking_done;
-          __pyx_L17_unpacking_failed:;
-          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-          __pyx_t_7 = NULL;
-          if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-          {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1493; __pyx_clineno = __LINE__; goto __pyx_L9_error;}
-          __pyx_L18_unpacking_done:;
-        }
-        __pyx_v_dt = __pyx_t_4;
-        __pyx_t_4 = 0;
-        __pyx_v_enum_vals = __pyx_t_5;
-        __pyx_t_5 = 0;
-      }
-      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-      __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
-      goto __pyx_L16_try_end;
-      __pyx_L9_error:;
-      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-      /* "h5py/h5t.pyx":1494
- *         try:
- *             dt, enum_vals = val
- *         except TypeError:             # <<<<<<<<<<<<<<
- *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")
- * 
- */
-      __pyx_t_13 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
-      if (__pyx_t_13) {
-        __Pyx_AddTraceback("h5py.h5t.special_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-        if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1494; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
-        __Pyx_GOTREF(__pyx_t_5);
-        __Pyx_GOTREF(__pyx_t_4);
-        __Pyx_GOTREF(__pyx_t_3);
-
-        /* "h5py/h5t.pyx":1495
- *             dt, enum_vals = val
- *         except TypeError:
- *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")             # <<<<<<<<<<<<<<
- * 
- *         dt = dtype(dt)
- */
-        __pyx_t_6 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_41), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
-        __Pyx_GOTREF(__pyx_t_6);
-        __Pyx_Raise(__pyx_t_6, 0, 0, 0);
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L11_except_error;}
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        goto __pyx_L10_exception_handled;
-      }
-      __pyx_L11_except_error:;
-      __Pyx_XGIVEREF(__pyx_t_10);
-      __Pyx_XGIVEREF(__pyx_t_11);
-      __Pyx_XGIVEREF(__pyx_t_12);
-      __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
-      goto __pyx_L1_error;
-      __pyx_L10_exception_handled:;
-      __Pyx_XGIVEREF(__pyx_t_10);
-      __Pyx_XGIVEREF(__pyx_t_11);
-      __Pyx_XGIVEREF(__pyx_t_12);
-      __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12);
-      __pyx_L16_try_end:;
-    }
-
-    /* "h5py/h5t.pyx":1497
- *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")
- * 
- *         dt = dtype(dt)             # <<<<<<<<<<<<<<
- *         if dt.kind not in "iu":
- *             raise TypeError("Only integer types can be used as enums")
- */
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_INCREF(__pyx_v_dt);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_dt);
-    __Pyx_GIVEREF(__pyx_v_dt);
-    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1497; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __Pyx_DECREF(__pyx_v_dt);
-    __pyx_v_dt = __pyx_t_4;
-    __pyx_t_4 = 0;
-
-    /* "h5py/h5t.pyx":1498
- * 
- *         dt = dtype(dt)
- *         if dt.kind not in "iu":             # <<<<<<<<<<<<<<
- *             raise TypeError("Only integer types can be used as enums")
- * 
- */
-    __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__kind); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_t_4, ((PyObject *)__pyx_n_s__iu), Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1498; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    if (__pyx_t_2) {
-
-      /* "h5py/h5t.pyx":1499
- *         dt = dtype(dt)
- *         if dt.kind not in "iu":
- *             raise TypeError("Only integer types can be used as enums")             # <<<<<<<<<<<<<<
- * 
- *         return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))
- */
-      __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_43), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L21;
-    }
-    __pyx_L21:;
-
-    /* "h5py/h5t.pyx":1501
- *             raise TypeError("Only integer types can be used as enums")
- * 
- *         return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))             # <<<<<<<<<<<<<<
- * 
- *     if name == 'ref':
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__vals), __pyx_v_enum_vals) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__enum));
-    PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_n_s__enum));
-    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__enum));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-    __Pyx_INCREF(__pyx_v_dt);
-    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_v_dt);
-    __Pyx_GIVEREF(__pyx_v_dt);
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_INCREF(__pyx_v_dt);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_dt);
-    __Pyx_GIVEREF(__pyx_v_dt);
-    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_t_3));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1501; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_r = __pyx_t_4;
-    __pyx_t_4 = 0;
-    goto __pyx_L0;
-    goto __pyx_L8;
-  }
-  __pyx_L8:;
-
-  /* "h5py/h5t.pyx":1503
- *         return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))
- * 
- *     if name == 'ref':             # <<<<<<<<<<<<<<
- * 
- *         if val not in (Reference, RegionReference):
- */
-  __pyx_t_4 = PyObject_RichCompare(__pyx_v_name, ((PyObject *)__pyx_n_s__ref), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1503; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":1505
- *     if name == 'ref':
- * 
- *         if val not in (Reference, RegionReference):             # <<<<<<<<<<<<<<
- *             raise ValueError("Ref class must be Reference or RegionReference")
- * 
- */
-    __Pyx_INCREF(__pyx_v_val);
-    __pyx_t_4 = __pyx_v_val;
-    __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_Reference)), Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    if (((int)__pyx_t_2)) {
-      __pyx_t_3 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)((PyObject*)__pyx_ptype_4h5py_3h5r_RegionReference)), Py_NE); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_8 = ((int)__pyx_t_9);
-    } else {
-      __pyx_t_8 = ((int)__pyx_t_2);
-    }
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_2 = __pyx_t_8;
-    if (__pyx_t_2) {
-
-      /* "h5py/h5t.pyx":1506
- * 
- *         if val not in (Reference, RegionReference):
- *             raise ValueError("Ref class must be Reference or RegionReference")             # <<<<<<<<<<<<<<
- * 
- *         return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))
- */
-      __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_45), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L23;
-    }
-    __pyx_L23:;
-
-    /* "h5py/h5t.pyx":1508
- *             raise ValueError("Ref class must be Reference or RegionReference")
- * 
- *         return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))             # <<<<<<<<<<<<<<
- * 
- *     raise TypeError('Unknown special type "%s"' % name)
- */
-    __Pyx_XDECREF(__pyx_r);
-    __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    if (PyDict_SetItem(__pyx_t_4, ((PyObject *)__pyx_n_s__type), __pyx_v_val) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__ref));
-    PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_n_s__ref));
-    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ref));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_3));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__O));
-    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_n_s__O));
-    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O));
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyList_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__O));
-    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s__O));
-    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__O));
-    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_t_3));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4h5py_5numpy_dtype)), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1508; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_r = __pyx_t_4;
-    __pyx_t_4 = 0;
-    goto __pyx_L0;
-    goto __pyx_L22;
-  }
-  __pyx_L22:;
-
-  /* "h5py/h5t.pyx":1510
- *         return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))
- * 
- *     raise TypeError('Unknown special type "%s"' % name)             # <<<<<<<<<<<<<<
- * 
- * def check_dtype(**kwds):
- */
-  __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_46), __pyx_v_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_4));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1510; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5t.special_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_name);
-  __Pyx_XDECREF(__pyx_v_val);
-  __Pyx_XDECREF(__pyx_v_dt);
-  __Pyx_XDECREF(__pyx_v_enum_vals);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_19check_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_18check_dtype[] = " Check a dtype for h5py special type \"hint\" information.  Only one\n    keyword may be given.\n\n    vlen = dtype\n        If the dtype represents an HDF5 vlen, returns the Python base class.\n        Currently only builting string vlens (str) are supported.  Returns\n        None if the dtype does not represent an HDF5 vlen.\n\n    enum = dtype\n        If the dtype represents an HDF5 enumerated type, returns the dictionary\n         [...]
-static PyMethodDef __pyx_mdef_4h5py_3h5t_19check_dtype = {__Pyx_NAMESTR("check_dtype"), (PyCFunction)__pyx_pw_4h5py_3h5t_19check_dtype, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_18check_dtype)};
-static PyObject *__pyx_pw_4h5py_3h5t_19check_dtype(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_kwds = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("check_dtype (wrapper)", 0);
-  if (unlikely(PyTuple_GET_SIZE(__pyx_args) > 0)) {
-    __Pyx_RaiseArgtupleInvalid("check_dtype", 1, 0, 0, PyTuple_GET_SIZE(__pyx_args)); return NULL;}
-  if (__pyx_kwds && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "check_dtype", 1))) return NULL;
-  __pyx_v_kwds = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
-  if (unlikely(!__pyx_v_kwds)) return NULL;
-  __Pyx_GOTREF(__pyx_v_kwds);
-  __pyx_r = __pyx_pf_4h5py_3h5t_18check_dtype(__pyx_self, __pyx_v_kwds);
-  __Pyx_XDECREF(__pyx_v_kwds);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1512
- *     raise TypeError('Unknown special type "%s"' % name)
- * 
- * def check_dtype(**kwds):             # <<<<<<<<<<<<<<
- *     """ Check a dtype for h5py special type "hint" information.  Only one
- *     keyword may be given.
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_18check_dtype(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kwds) {
-  PyObject *__pyx_v_name = NULL;
-  PyObject *__pyx_v_dt = NULL;
-  PyObject *__pyx_v_hintkey = NULL;
-  PyObject *__pyx_v_tpl = NULL;
-  PyObject *__pyx_v_hint_dict = NULL;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *(*__pyx_t_7)(PyObject *);
-  int __pyx_t_8;
-  int __pyx_t_9;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("check_dtype", 0);
-
-  /* "h5py/h5t.pyx":1532
- *     """
- * 
- *     if len(kwds) != 1:             # <<<<<<<<<<<<<<
- *         raise TypeError("Exactly one keyword may be provided")
- * 
- */
-  __pyx_t_1 = PyDict_Size(((PyObject *)__pyx_v_kwds)); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1532; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = (__pyx_t_1 != 1);
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":1533
- * 
- *     if len(kwds) != 1:
- *         raise TypeError("Exactly one keyword may be provided")             # <<<<<<<<<<<<<<
- * 
- *     name, dt = kwds.popitem()
- */
-    __pyx_t_3 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_k_tuple_47), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":1535
- *         raise TypeError("Exactly one keyword may be provided")
- * 
- *     name, dt = kwds.popitem()             # <<<<<<<<<<<<<<
- * 
- *     if name not in ('vlen', 'enum', 'ref'):
- */
-  __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_kwds), __pyx_n_s__popitem); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  if ((likely(PyTuple_CheckExact(__pyx_t_4))) || (PyList_CheckExact(__pyx_t_4))) {
-    PyObject* sequence = __pyx_t_4;
-    #if CYTHON_COMPILING_IN_CPYTHON
-    Py_ssize_t size = Py_SIZE(sequence);
-    #else
-    Py_ssize_t size = PySequence_Size(sequence);
-    #endif
-    if (unlikely(size != 2)) {
-      if (size > 2) __Pyx_RaiseTooManyValuesError(2);
-      else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-    #if CYTHON_COMPILING_IN_CPYTHON
-    if (likely(PyTuple_CheckExact(sequence))) {
-      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
-      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 1); 
-    } else {
-      __pyx_t_3 = PyList_GET_ITEM(sequence, 0); 
-      __pyx_t_5 = PyList_GET_ITEM(sequence, 1); 
-    }
-    __Pyx_INCREF(__pyx_t_3);
-    __Pyx_INCREF(__pyx_t_5);
-    #else
-    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    #endif
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  } else
-  {
-    Py_ssize_t index = -1;
-    __pyx_t_6 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_6);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
-    index = 0; __pyx_t_3 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_3)) goto __pyx_L4_unpacking_failed;
-    __Pyx_GOTREF(__pyx_t_3);
-    index = 1; __pyx_t_5 = __pyx_t_7(__pyx_t_6); if (unlikely(!__pyx_t_5)) goto __pyx_L4_unpacking_failed;
-    __Pyx_GOTREF(__pyx_t_5);
-    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_7 = NULL;
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    goto __pyx_L5_unpacking_done;
-    __pyx_L4_unpacking_failed:;
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __pyx_t_7 = NULL;
-    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1535; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_L5_unpacking_done:;
-  }
-  __pyx_v_name = __pyx_t_3;
-  __pyx_t_3 = 0;
-  __pyx_v_dt = __pyx_t_5;
-  __pyx_t_5 = 0;
-
-  /* "h5py/h5t.pyx":1537
- *     name, dt = kwds.popitem()
- * 
- *     if name not in ('vlen', 'enum', 'ref'):             # <<<<<<<<<<<<<<
- *         raise TypeError('Unknown special type "%s"' % name)
- * 
- */
-  __Pyx_INCREF(__pyx_v_name);
-  __pyx_t_4 = __pyx_v_name;
-  __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__vlen), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  if (((int)__pyx_t_2)) {
-    __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__enum), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_8 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __pyx_t_9 = ((int)__pyx_t_8);
-  } else {
-    __pyx_t_9 = ((int)__pyx_t_2);
-  }
-  if (__pyx_t_9) {
-    __pyx_t_5 = PyObject_RichCompare(__pyx_t_4, ((PyObject *)__pyx_n_s__ref), Py_NE); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __pyx_t_8 = ((int)__pyx_t_2);
-  } else {
-    __pyx_t_8 = __pyx_t_9;
-  }
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_9 = __pyx_t_8;
-  if (__pyx_t_9) {
-
-    /* "h5py/h5t.pyx":1538
- * 
- *     if name not in ('vlen', 'enum', 'ref'):
- *         raise TypeError('Unknown special type "%s"' % name)             # <<<<<<<<<<<<<<
- * 
- *     hintkey = 'type' if name is not 'enum' else 'vals'
- */
-    __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_46), __pyx_v_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_4));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1538; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L6;
-  }
-  __pyx_L6:;
-
-  /* "h5py/h5t.pyx":1540
- *         raise TypeError('Unknown special type "%s"' % name)
- * 
- *     hintkey = 'type' if name is not 'enum' else 'vals'             # <<<<<<<<<<<<<<
- * 
- *     if dt.fields is not None and name in dt.fields:
- */
-  __pyx_t_9 = (__pyx_v_name != ((PyObject *)__pyx_n_s__enum));
-  if (__pyx_t_9) {
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__type));
-    __pyx_t_4 = __pyx_n_s__type;
-  } else {
-    __Pyx_INCREF(((PyObject *)__pyx_n_s__vals));
-    __pyx_t_4 = __pyx_n_s__vals;
-  }
-  __pyx_v_hintkey = ((PyObject *)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1542
- *     hintkey = 'type' if name is not 'enum' else 'vals'
- * 
- *     if dt.fields is not None and name in dt.fields:             # <<<<<<<<<<<<<<
- *         tpl = dt.fields[name]
- *         if len(tpl) == 3:
- */
-  __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__fields); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_9 = (__pyx_t_4 != Py_None);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  if (__pyx_t_9) {
-    __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__fields); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_8 = (__Pyx_PySequence_Contains(__pyx_v_name, __pyx_t_4, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1542; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_t_2 = __pyx_t_8;
-  } else {
-    __pyx_t_2 = __pyx_t_9;
-  }
-  if (__pyx_t_2) {
-
-    /* "h5py/h5t.pyx":1543
- * 
- *     if dt.fields is not None and name in dt.fields:
- *         tpl = dt.fields[name]             # <<<<<<<<<<<<<<
- *         if len(tpl) == 3:
- *             hint_dict = tpl[2]
- */
-    __pyx_t_4 = PyObject_GetAttr(__pyx_v_dt, __pyx_n_s__fields); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = PyObject_GetItem(__pyx_t_4, __pyx_v_name); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1543; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __pyx_v_tpl = __pyx_t_5;
-    __pyx_t_5 = 0;
-
-    /* "h5py/h5t.pyx":1544
- *     if dt.fields is not None and name in dt.fields:
- *         tpl = dt.fields[name]
- *         if len(tpl) == 3:             # <<<<<<<<<<<<<<
- *             hint_dict = tpl[2]
- *             if hintkey in hint_dict:
- */
-    __pyx_t_1 = PyObject_Length(__pyx_v_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1544; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_2 = (__pyx_t_1 == 3);
-    if (__pyx_t_2) {
-
-      /* "h5py/h5t.pyx":1545
- *         tpl = dt.fields[name]
- *         if len(tpl) == 3:
- *             hint_dict = tpl[2]             # <<<<<<<<<<<<<<
- *             if hintkey in hint_dict:
- *                 return hint_dict[hintkey]
- */
-      __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_tpl, 2, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __pyx_v_hint_dict = __pyx_t_5;
-      __pyx_t_5 = 0;
-
-      /* "h5py/h5t.pyx":1546
- *         if len(tpl) == 3:
- *             hint_dict = tpl[2]
- *             if hintkey in hint_dict:             # <<<<<<<<<<<<<<
- *                 return hint_dict[hintkey]
- * 
- */
-      __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_v_hintkey, __pyx_v_hint_dict, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      if (__pyx_t_2) {
-
-        /* "h5py/h5t.pyx":1547
- *             hint_dict = tpl[2]
- *             if hintkey in hint_dict:
- *                 return hint_dict[hintkey]             # <<<<<<<<<<<<<<
- * 
- *     return None
- */
-        __Pyx_XDECREF(__pyx_r);
-        __pyx_t_5 = PyObject_GetItem(__pyx_v_hint_dict, __pyx_v_hintkey); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1547; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(__pyx_t_5);
-        __pyx_r = __pyx_t_5;
-        __pyx_t_5 = 0;
-        goto __pyx_L0;
-        goto __pyx_L9;
-      }
-      __pyx_L9:;
-      goto __pyx_L8;
-    }
-    __pyx_L8:;
-    goto __pyx_L7;
-  }
-  __pyx_L7:;
-
-  /* "h5py/h5t.pyx":1549
- *                 return hint_dict[hintkey]
- * 
- *     return None             # <<<<<<<<<<<<<<
- * 
- * def convert(TypeID src not None, TypeID dst not None, size_t n,
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(Py_None);
-  __pyx_r = Py_None;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_AddTraceback("h5py.h5t.check_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_name);
-  __Pyx_XDECREF(__pyx_v_dt);
-  __Pyx_XDECREF(__pyx_v_hintkey);
-  __Pyx_XDECREF(__pyx_v_tpl);
-  __Pyx_XDECREF(__pyx_v_hint_dict);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_21convert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_20convert[] = " (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,\n    PropID dxpl=None)\n\n    Convert n contiguous elements of a buffer in-place.  The array dtype\n    is ignored.  The backing buffer is optional; for conversion of compound\n    types, a temporary copy of conversion buffer will used for backing if\n    one is not supplied.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5t_21convert = {__Pyx_NAMESTR("convert"), (PyCFunction)__pyx_pw_4h5py_3h5t_21convert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_20convert)};
-static PyObject *__pyx_pw_4h5py_3h5t_21convert(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst = 0;
-  size_t __pyx_v_n;
-  PyArrayObject *__pyx_v_buf = 0;
-  PyArrayObject *__pyx_v_bkg = 0;
-  struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("convert (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src,&__pyx_n_s__dst,&__pyx_n_s__n,&__pyx_n_s__buf,&__pyx_n_s__bkg,&__pyx_n_s__dxpl,0};
-    PyObject* values[6] = {0,0,0,0,0,0};
-
-    /* "h5py/h5t.pyx":1552
- * 
- * def convert(TypeID src not None, TypeID dst not None, size_t n,
- *             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):             # <<<<<<<<<<<<<<
- *     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
- *     PropID dxpl=None)
- */
-    values[4] = (PyObject *)((PyArrayObject *)Py_None);
-    values[5] = (PyObject *)((struct __pyx_obj_4h5py_8_objects_ObjectID *)Py_None);
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  2:
-        if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__n)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  3:
-        if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__buf)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-        case  4:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__bkg);
-          if (value) { values[4] = value; kw_args--; }
-        }
-        case  5:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dxpl);
-          if (value) { values[5] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "convert") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
-        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
-        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
-        values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
-        values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_src = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]);
-    __pyx_v_dst = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[1]);
-    __pyx_v_n = __Pyx_PyInt_AsSize_t(values[2]); if (unlikely((__pyx_v_n == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_buf = ((PyArrayObject *)values[3]);
-    __pyx_v_bkg = ((PyArrayObject *)values[4]);
-    __pyx_v_dxpl = ((struct __pyx_obj_4h5py_8_objects_ObjectID *)values[5]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("convert", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.convert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4h5py_3h5t_TypeID, 0, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4h5py_3h5t_TypeID, 0, "dst", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_buf), __pyx_ptype_4h5py_5numpy_ndarray, 0, "buf", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_bkg), __pyx_ptype_4h5py_5numpy_ndarray, 1, "bkg", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dxpl), __pyx_ptype_4h5py_8_objects_ObjectID, 1, "dxpl", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1552; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_20convert(__pyx_self, __pyx_v_src, __pyx_v_dst, __pyx_v_n, __pyx_v_buf, __pyx_v_bkg, __pyx_v_dxpl);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1551
- *     return None
- * 
- * def convert(TypeID src not None, TypeID dst not None, size_t n,             # <<<<<<<<<<<<<<
- *             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):
- *     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_20convert(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst, size_t __pyx_v_n, PyArrayObject *__pyx_v_buf, PyArrayObject *__pyx_v_bkg, struct __pyx_obj_4h5py_8_objects_ObjectID *__pyx_v_dxpl) {
-  void *__pyx_v_bkg_;
-  void *__pyx_v_buf_;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  char *__pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_t_6;
-  int __pyx_t_7;
-  int __pyx_t_8;
-  herr_t __pyx_t_9;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("convert", 0);
-  __Pyx_INCREF((PyObject *)__pyx_v_bkg);
-
-  /* "h5py/h5t.pyx":1561
- *     one is not supplied.
- *     """
- *     cdef void* bkg_ = NULL             # <<<<<<<<<<<<<<
- *     cdef void* buf_ = buf.data
- * 
- */
-  __pyx_v_bkg_ = NULL;
-
-  /* "h5py/h5t.pyx":1562
- *     """
- *     cdef void* bkg_ = NULL
- *     cdef void* buf_ = buf.data             # <<<<<<<<<<<<<<
- * 
- *     if bkg is None and (src.detect_class(H5T_COMPOUND) or
- */
-  __pyx_t_1 = __pyx_v_buf->data;
-  __pyx_v_buf_ = __pyx_t_1;
-
-  /* "h5py/h5t.pyx":1564
- *     cdef void* buf_ = buf.data
- * 
- *     if bkg is None and (src.detect_class(H5T_COMPOUND) or             # <<<<<<<<<<<<<<
- *                         dst.detect_class(H5T_COMPOUND)):
- *         bkg = buf.copy()
- */
-  __pyx_t_2 = (((PyObject *)__pyx_v_bkg) == Py_None);
-  if (__pyx_t_2) {
-    __pyx_t_3 = PyObject_GetAttr(((PyObject *)__pyx_v_src), __pyx_n_s__detect_class); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
-    __Pyx_GIVEREF(__pyx_t_4);
-    __pyx_t_4 = 0;
-    __pyx_t_4 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1564; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    if (!__pyx_t_6) {
-
-      /* "h5py/h5t.pyx":1565
- * 
- *     if bkg is None and (src.detect_class(H5T_COMPOUND) or
- *                         dst.detect_class(H5T_COMPOUND)):             # <<<<<<<<<<<<<<
- *         bkg = buf.copy()
- *     if bkg is not None:
- */
-      __pyx_t_4 = PyObject_GetAttr(((PyObject *)__pyx_v_dst), __pyx_n_s__detect_class); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_4);
-      __pyx_t_5 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_3);
-      PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
-      __Pyx_GIVEREF(__pyx_t_5);
-      __pyx_t_5 = 0;
-      __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-      __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1565; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_8 = __pyx_t_7;
-    } else {
-      __pyx_t_8 = __pyx_t_6;
-    }
-    __pyx_t_6 = __pyx_t_8;
-  } else {
-    __pyx_t_6 = __pyx_t_2;
-  }
-  if (__pyx_t_6) {
-
-    /* "h5py/h5t.pyx":1566
- *     if bkg is None and (src.detect_class(H5T_COMPOUND) or
- *                         dst.detect_class(H5T_COMPOUND)):
- *         bkg = buf.copy()             # <<<<<<<<<<<<<<
- *     if bkg is not None:
- *         bkg_ = bkg.data
- */
-    __pyx_t_5 = PyObject_GetAttr(((PyObject *)__pyx_v_buf), __pyx_n_s__copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_5);
-    __pyx_t_3 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1566; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(((PyObject *)__pyx_v_bkg));
-    __pyx_v_bkg = ((PyArrayObject *)__pyx_t_3);
-    __pyx_t_3 = 0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/h5t.pyx":1567
- *                         dst.detect_class(H5T_COMPOUND)):
- *         bkg = buf.copy()
- *     if bkg is not None:             # <<<<<<<<<<<<<<
- *         bkg_ = bkg.data
- * 
- */
-  __pyx_t_6 = (((PyObject *)__pyx_v_bkg) != Py_None);
-  if (__pyx_t_6) {
-
-    /* "h5py/h5t.pyx":1568
- *         bkg = buf.copy()
- *     if bkg is not None:
- *         bkg_ = bkg.data             # <<<<<<<<<<<<<<
- * 
- *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
- */
-    __pyx_t_1 = __pyx_v_bkg->data;
-    __pyx_v_bkg_ = __pyx_t_1;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/h5t.pyx":1570
- *         bkg_ = bkg.data
- * 
- *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))             # <<<<<<<<<<<<<<
- * 
- * def find(TypeID src not None, TypeID dst not None):
- */
-  __pyx_t_9 = __pyx_f_4h5py_4defs_H5Tconvert(__pyx_v_src->__pyx_base.id, __pyx_v_dst->__pyx_base.id, __pyx_v_n, __pyx_v_buf_, __pyx_v_bkg_, __pyx_f_4h5py_8_objects_pdefault(__pyx_v_dxpl)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1570; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("h5py.h5t.convert", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_bkg);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_23find(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_22find[] = " (TypeID src, TypeID dst) => TUPLE or None\n\n    Determine if a conversion path exists from src to dst.  Result is None\n    or a tuple describing the conversion path.  Currently tuple entries are:\n\n    1. INT need_bkg:    Whether this routine requires a backing buffer.\n                        Values are BKG_NO, BKG_TEMP and BKG_YES.\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5t_23find = {__Pyx_NAMESTR("find"), (PyCFunction)__pyx_pw_4h5py_3h5t_23find, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_22find)};
-static PyObject *__pyx_pw_4h5py_3h5t_23find(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src = 0;
-  struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("find (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__src,&__pyx_n_s__dst,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__src)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dst)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("find", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_src = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[0]);
-    __pyx_v_dst = ((struct __pyx_obj_4h5py_3h5t_TypeID *)values[1]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("find", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_src), __pyx_ptype_4h5py_3h5t_TypeID, 0, "src", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dst), __pyx_ptype_4h5py_3h5t_TypeID, 0, "dst", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_22find(__pyx_self, __pyx_v_src, __pyx_v_dst);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1572
- *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
- * 
- * def find(TypeID src not None, TypeID dst not None):             # <<<<<<<<<<<<<<
- *     """ (TypeID src, TypeID dst) => TUPLE or None
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_22find(CYTHON_UNUSED PyObject *__pyx_self, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_src, struct __pyx_obj_4h5py_3h5t_TypeID *__pyx_v_dst) {
-  H5T_cdata_t *__pyx_v_data;
-  H5T_conv_t __pyx_v_result;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  H5T_conv_t __pyx_t_4;
-  int __pyx_t_5;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("find", 0);
-
-  /* "h5py/h5t.pyx":1582
- *     """
- *     cdef H5T_cdata_t *data
- *     cdef H5T_conv_t result = NULL             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_v_result = NULL;
-
-  /* "h5py/h5t.pyx":1584
- *     cdef H5T_conv_t result = NULL
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         result = H5Tfind(src.id, dst.id, &data)
- *         if result == NULL:
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);
-    __Pyx_XGOTREF(__pyx_t_1);
-    __Pyx_XGOTREF(__pyx_t_2);
-    __Pyx_XGOTREF(__pyx_t_3);
-    /*try:*/ {
-
-      /* "h5py/h5t.pyx":1585
- * 
- *     try:
- *         result = H5Tfind(src.id, dst.id, &data)             # <<<<<<<<<<<<<<
- *         if result == NULL:
- *             return None
- */
-      __pyx_t_4 = __pyx_f_4h5py_4defs_H5Tfind(__pyx_v_src->__pyx_base.id, __pyx_v_dst->__pyx_base.id, (&__pyx_v_data)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1585; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __pyx_v_result = __pyx_t_4;
-
-      /* "h5py/h5t.pyx":1586
- *     try:
- *         result = H5Tfind(src.id, dst.id, &data)
- *         if result == NULL:             # <<<<<<<<<<<<<<
- *             return None
- *         return (data[0].need_bkg,)
- */
-      __pyx_t_5 = (__pyx_v_result == NULL);
-      if (__pyx_t_5) {
-
-        /* "h5py/h5t.pyx":1587
- *         result = H5Tfind(src.id, dst.id, &data)
- *         if result == NULL:
- *             return None             # <<<<<<<<<<<<<<
- *         return (data[0].need_bkg,)
- *     except:
- */
-        __Pyx_XDECREF(__pyx_r);
-        __Pyx_INCREF(Py_None);
-        __pyx_r = Py_None;
-        goto __pyx_L7_try_return;
-        goto __pyx_L11;
-      }
-      __pyx_L11:;
-
-      /* "h5py/h5t.pyx":1588
- *         if result == NULL:
- *             return None
- *         return (data[0].need_bkg,)             # <<<<<<<<<<<<<<
- *     except:
- *         return None
- */
-      __Pyx_XDECREF(__pyx_r);
-      __pyx_t_6 = PyInt_FromLong((__pyx_v_data[0]).need_bkg); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1588; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6);
-      __Pyx_GIVEREF(__pyx_t_6);
-      __pyx_t_6 = 0;
-      __pyx_r = ((PyObject *)__pyx_t_7);
-      __pyx_t_7 = 0;
-      goto __pyx_L7_try_return;
-    }
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-    goto __pyx_L10_try_end;
-    __pyx_L7_try_return:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    goto __pyx_L0;
-    __pyx_L3_error:;
-    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-    /* "h5py/h5t.pyx":1589
- *             return None
- *         return (data[0].need_bkg,)
- *     except:             # <<<<<<<<<<<<<<
- *         return None
- * 
- */
-    /*except:*/ {
-      __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1589; __pyx_clineno = __LINE__; goto __pyx_L5_except_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      __Pyx_GOTREF(__pyx_t_6);
-      __Pyx_GOTREF(__pyx_t_8);
-
-      /* "h5py/h5t.pyx":1590
- *         return (data[0].need_bkg,)
- *     except:
- *         return None             # <<<<<<<<<<<<<<
- * 
- * # ============================================================================
- */
-      __Pyx_XDECREF(__pyx_r);
-      __Pyx_INCREF(Py_None);
-      __pyx_r = Py_None;
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-      goto __pyx_L6_except_return;
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-      goto __pyx_L4_exception_handled;
-    }
-    __pyx_L5_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    goto __pyx_L1_error;
-    __pyx_L6_except_return:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    goto __pyx_L0;
-    __pyx_L4_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_1);
-    __Pyx_XGIVEREF(__pyx_t_2);
-    __Pyx_XGIVEREF(__pyx_t_3);
-    __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);
-    __pyx_L10_try_end:;
-  }
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_AddTraceback("h5py.h5t.find", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1597
- * import warnings
- * 
- * cpdef dtype py_new_enum(object dt_in, dict enum_vals):             # <<<<<<<<<<<<<<
- *     """ (DTYPE dt_in, DICT enum_vals) => DTYPE
- * 
- */
-
-static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_enum(PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals, CYTHON_UNUSED int __pyx_skip_dispatch) {
-  PyArray_Descr *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_new_enum", 0);
-
-  /* "h5py/h5t.pyx":1603
- *     """
- *     #warnings.warn("Deprecated; use special_dtype(enum=(dtype, values)) instead", DeprecationWarning)
- *     return special_dtype(enum = (dt_in, enum_vals))             # <<<<<<<<<<<<<<
- * 
- * cpdef dict py_get_enum(object dt):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_INCREF(__pyx_v_dt_in);
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_dt_in);
-  __Pyx_GIVEREF(__pyx_v_dt_in);
-  __Pyx_INCREF(((PyObject *)__pyx_v_enum_vals));
-  PyTuple_SET_ITEM(__pyx_t_3, 1, ((PyObject *)__pyx_v_enum_vals));
-  __Pyx_GIVEREF(((PyObject *)__pyx_v_enum_vals));
-  if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__enum), ((PyObject *)__pyx_t_3)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1603; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = ((PyArray_Descr *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_4h5py_3h5t_24py_new_enum[] = " (DTYPE dt_in, DICT enum_vals) => DTYPE\n\n    Deprecated; use special_dtype() instead.\n    ";
-static PyObject *__pyx_pw_4h5py_3h5t_25py_new_enum(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyObject *__pyx_v_dt_in = 0;
-  PyObject *__pyx_v_enum_vals = 0;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("py_new_enum (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__dt_in,&__pyx_n_s__enum_vals,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dt_in)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__enum_vals)) != 0)) kw_args--;
-        else {
-          __Pyx_RaiseArgtupleInvalid("py_new_enum", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "py_new_enum") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-      goto __pyx_L5_argtuple_error;
-    } else {
-      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-    }
-    __pyx_v_dt_in = values[0];
-    __pyx_v_enum_vals = ((PyObject*)values[1]);
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("py_new_enum", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_enum_vals), (&PyDict_Type), 1, "enum_vals", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_3h5t_24py_new_enum(__pyx_self, __pyx_v_dt_in, __pyx_v_enum_vals);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1597
- * import warnings
- * 
- * cpdef dtype py_new_enum(object dt_in, dict enum_vals):             # <<<<<<<<<<<<<<
- *     """ (DTYPE dt_in, DICT enum_vals) => DTYPE
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_24py_new_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in, PyObject *__pyx_v_enum_vals) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_new_enum", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_new_enum(__pyx_v_dt_in, __pyx_v_enum_vals, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1597; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5t.py_new_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1605
- *     return special_dtype(enum = (dt_in, enum_vals))
- * 
- * cpdef dict py_get_enum(object dt):             # <<<<<<<<<<<<<<
- *     """ (DTYPE dt_in) => DICT
- * 
- */
-
-static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt); /*proto*/
-static PyObject *__pyx_f_4h5py_3h5t_py_get_enum(PyObject *__pyx_v_dt, CYTHON_UNUSED int __pyx_skip_dispatch) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_get_enum", 0);
-
-  /* "h5py/h5t.pyx":1611
- *     """
- *     #warnings.warn("Deprecated; use check_dtype(enum=dtype) instead", DeprecationWarning)
- *     return check_dtype(enum=dt)             # <<<<<<<<<<<<<<
- * 
- * cpdef dtype py_new_vlen(object kind):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__enum), __pyx_v_dt) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  if (!(likely(PyDict_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected dict, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1611; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = ((PyObject*)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.py_get_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt); /*proto*/
-static char __pyx_doc_4h5py_3h5t_26py_get_enum[] = " (DTYPE dt_in) => DICT\n\n    Deprecated; use check_dtype() instead.\n    ";
-static PyObject *__pyx_pw_4h5py_3h5t_27py_get_enum(PyObject *__pyx_self, PyObject *__pyx_v_dt) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("py_get_enum (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_26py_get_enum(__pyx_self, ((PyObject *)__pyx_v_dt));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1605
- *     return special_dtype(enum = (dt_in, enum_vals))
- * 
- * cpdef dict py_get_enum(object dt):             # <<<<<<<<<<<<<<
- *     """ (DTYPE dt_in) => DICT
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_26py_get_enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_get_enum", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_get_enum(__pyx_v_dt, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1605; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5t.py_get_enum", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1613
- *     return check_dtype(enum=dt)
- * 
- * cpdef dtype py_new_vlen(object kind):             # <<<<<<<<<<<<<<
- *     """ (OBJECT kind) => DTYPE
- * 
- */
-
-static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind); /*proto*/
-static PyArray_Descr *__pyx_f_4h5py_3h5t_py_new_vlen(PyObject *__pyx_v_kind, CYTHON_UNUSED int __pyx_skip_dispatch) {
-  PyArray_Descr *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_new_vlen", 0);
-
-  /* "h5py/h5t.pyx":1619
- *     """
- *     #warnings.warn("Deprecated; use special_dtype(vlen=basetype) instead", DeprecationWarning)
- *     return special_dtype(vlen=kind)             # <<<<<<<<<<<<<<
- * 
- * cpdef object py_get_vlen(object dt_in):
- */
-  __Pyx_XDECREF(((PyObject *)__pyx_r));
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__special_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), __pyx_v_kind) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_dtype))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1619; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = ((PyArray_Descr *)__pyx_t_3);
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.py_new_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF((PyObject *)__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind); /*proto*/
-static char __pyx_doc_4h5py_3h5t_28py_new_vlen[] = " (OBJECT kind) => DTYPE\n\n    Deprecated; use special_dtype() instead.\n    ";
-static PyObject *__pyx_pw_4h5py_3h5t_29py_new_vlen(PyObject *__pyx_self, PyObject *__pyx_v_kind) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("py_new_vlen (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_28py_new_vlen(__pyx_self, ((PyObject *)__pyx_v_kind));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1613
- *     return check_dtype(enum=dt)
- * 
- * cpdef dtype py_new_vlen(object kind):             # <<<<<<<<<<<<<<
- *     """ (OBJECT kind) => DTYPE
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_28py_new_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_kind) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_new_vlen", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = ((PyObject *)__pyx_f_4h5py_3h5t_py_new_vlen(__pyx_v_kind, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1613; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5t.py_new_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1621
- *     return special_dtype(vlen=kind)
- * 
- * cpdef object py_get_vlen(object dt_in):             # <<<<<<<<<<<<<<
- *     """ (OBJECT dt_in) => TYPE
- * 
- */
-
-static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /*proto*/
-static PyObject *__pyx_f_4h5py_3h5t_py_get_vlen(PyObject *__pyx_v_dt_in, CYTHON_UNUSED int __pyx_skip_dispatch) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_get_vlen", 0);
-
-  /* "h5py/h5t.pyx":1627
- *     """
- *     #warnings.warn("Deprecated; use check_dtype(vlen=dtype) instead", DeprecationWarning)
- *     return check_dtype(vlen=dt_in)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__check_dtype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyDict_SetItem(__pyx_t_2, ((PyObject *)__pyx_n_s__vlen), __pyx_v_dt_in) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_empty_tuple), ((PyObject *)__pyx_t_2)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1627; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.h5t.py_get_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in); /*proto*/
-static char __pyx_doc_4h5py_3h5t_30py_get_vlen[] = " (OBJECT dt_in) => TYPE\n\n    Deprecated; use check_dtype() instead.\n    ";
-static PyObject *__pyx_pw_4h5py_3h5t_31py_get_vlen(PyObject *__pyx_self, PyObject *__pyx_v_dt_in) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("py_get_vlen (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5t_30py_get_vlen(__pyx_self, ((PyObject *)__pyx_v_dt_in));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5t.pyx":1621
- *     return special_dtype(vlen=kind)
- * 
- * cpdef object py_get_vlen(object dt_in):             # <<<<<<<<<<<<<<
- *     """ (OBJECT dt_in) => TYPE
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5t_30py_get_vlen(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_dt_in) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("py_get_vlen", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_3h5t_py_get_vlen(__pyx_v_dt_in, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1621; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_r = __pyx_t_1;
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("h5py.h5t.py_get_vlen", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeID __pyx_vtable_4h5py_3h5t_TypeID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeID *p;
-  PyObject *o = __pyx_ptype_4h5py_8_objects_ObjectID->tp_new(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeID *)o);
-  p->__pyx_vtab = __pyx_vtabptr_4h5py_3h5t_TypeID;
-  return o;
-}
-
-static void __pyx_tp_dealloc_4h5py_3h5t_TypeID(PyObject *o) {
-  PyObject_GC_UnTrack(o);
-  PyObject_GC_Track(o);
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) __pyx_ptype_4h5py_8_objects_ObjectID->tp_dealloc(o); else __Pyx_call_next_tp_dealloc(o, __pyx_tp_dealloc_4h5py_3h5t_TypeID);
-}
-
-static int __pyx_tp_traverse_4h5py_3h5t_TypeID(PyObject *o, visitproc v, void *a) {
-  int e;
-  e = ((likely(__pyx_ptype_4h5py_8_objects_ObjectID)) ? ((__pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse) ? __pyx_ptype_4h5py_8_objects_ObjectID->tp_traverse(o, v, a) : 0) : __Pyx_call_next_tp_traverse(o, v, a, __pyx_tp_traverse_4h5py_3h5t_TypeID)); if (e) return e;
-  return 0;
-}
-
-static int __pyx_tp_clear_4h5py_3h5t_TypeID(PyObject *o) {
-  if (likely(__pyx_ptype_4h5py_8_objects_ObjectID)) { if (__pyx_ptype_4h5py_8_objects_ObjectID->tp_clear) __pyx_ptype_4h5py_8_objects_ObjectID->tp_clear(o); } else __Pyx_call_next_tp_clear(o, __pyx_tp_clear_4h5py_3h5t_TypeID);
-  return 0;
-}
-
-static PyObject *__pyx_getprop_4h5py_3h5t_6TypeID_dtype(PyObject *o, CYTHON_UNUSED void *x) {
-  return __pyx_pw_4h5py_3h5t_6TypeID_5dtype_1__get__(o);
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeID[] = {
-  {__Pyx_NAMESTR("__copy__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_5__copy__, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("commit"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_7commit, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_6commit)},
-  {__Pyx_NAMESTR("committed"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_9committed, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_8committed)},
-  {__Pyx_NAMESTR("copy"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_11copy, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_10copy)},
-  {__Pyx_NAMESTR("equal"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_13equal, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_12equal)},
-  {__Pyx_NAMESTR("lock"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_15lock, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_14lock)},
-  {__Pyx_NAMESTR("get_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_17get_class, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_16get_class)},
-  {__Pyx_NAMESTR("set_size"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_19set_size, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_18set_size)},
-  {__Pyx_NAMESTR("get_size"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_21get_size, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_20get_size)},
-  {__Pyx_NAMESTR("get_super"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_23get_super, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_22get_super)},
-  {__Pyx_NAMESTR("detect_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_25detect_class, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_24detect_class)},
-  {__Pyx_NAMESTR("_close"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_27_close, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_26_close)},
-  {__Pyx_NAMESTR("encode"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_29encode, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_6TypeID_28encode)},
-  {__Pyx_NAMESTR("__reduce__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_31__reduce__, METH_NOARGS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("__setstate__"), (PyCFunction)__pyx_pw_4h5py_3h5t_6TypeID_33__setstate__, METH_O, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-static struct PyGetSetDef __pyx_getsets_4h5py_3h5t_TypeID[] = {
-  {(char *)"dtype", __pyx_getprop_4h5py_3h5t_6TypeID_dtype, 0, __Pyx_DOCSTR(__pyx_k_48), 0},
-  {0, 0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeID, /*tp_as_mapping*/
-  __pyx_pw_4h5py_3h5t_6TypeID_1__hash__, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Base class for type identifiers (implements common operations)\n\n        * Hashable: If committed; in HDF5 1.8.X, also if locked\n        * Equality: Logical H5T comparison\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  __pyx_pw_4h5py_3h5t_6TypeID_3__richcmp__, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeID, /*tp_methods*/
-  0, /*tp_members*/
-  __pyx_getsets_4h5py_3h5t_TypeID, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeArrayID __pyx_vtable_4h5py_3h5t_TypeArrayID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeArrayID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeArrayID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeArrayID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeArrayID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeArrayID[] = {
-  {__Pyx_NAMESTR("get_array_ndims"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeArrayID_1get_array_ndims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeArrayID_get_array_ndims)},
-  {__Pyx_NAMESTR("get_array_dims"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeArrayID_3get_array_dims, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeArrayID_2get_array_dims)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeArrayID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeArrayID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeArrayID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeArrayID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeArrayID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeArrayID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeArrayID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeArrayID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeArrayID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeArrayID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeArrayID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents an array datatype\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeArrayID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeArrayID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeOpaqueID __pyx_vtable_4h5py_3h5t_TypeOpaqueID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeOpaqueID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeOpaqueID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeOpaqueID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeOpaqueID[] = {
-  {__Pyx_NAMESTR("set_tag"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeOpaqueID_1set_tag, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeOpaqueID_set_tag)},
-  {__Pyx_NAMESTR("get_tag"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeOpaqueID_3get_tag, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeOpaqueID_2get_tag)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeOpaqueID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeOpaqueID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeOpaqueID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeOpaqueID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeOpaqueID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeOpaqueID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeOpaqueID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeOpaqueID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeOpaqueID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeOpaqueID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents an opaque type\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeOpaqueID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeOpaqueID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeStringID __pyx_vtable_4h5py_3h5t_TypeStringID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeStringID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeStringID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeStringID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeStringID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeStringID[] = {
-  {__Pyx_NAMESTR("is_variable_str"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_1is_variable_str, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_is_variable_str)},
-  {__Pyx_NAMESTR("get_cset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_3get_cset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_2get_cset)},
-  {__Pyx_NAMESTR("set_cset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_5set_cset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_4set_cset)},
-  {__Pyx_NAMESTR("get_strpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_7get_strpad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_6get_strpad)},
-  {__Pyx_NAMESTR("set_strpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeStringID_9set_strpad, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeStringID_8set_strpad)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeStringID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeStringID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeStringID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeStringID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeStringID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeStringID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeStringID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeStringID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeStringID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeStringID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeStringID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        String datatypes, both fixed and vlen.\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeStringID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeStringID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeVlenID __pyx_vtable_4h5py_3h5t_TypeVlenID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeVlenID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeVlenID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeVlenID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeVlenID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeVlenID[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeVlenID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeVlenID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeVlenID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeVlenID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeVlenID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeVlenID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeVlenID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeVlenID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeVlenID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeVlenID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeVlenID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Non-string vlen datatypes.\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeVlenID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeVlenID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeTimeID __pyx_vtable_4h5py_3h5t_TypeTimeID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeTimeID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeTimeID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeTimeID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeTimeID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeTimeID[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeTimeID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeTimeID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeTimeID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeTimeID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeTimeID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeTimeID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeTimeID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeTimeID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeTimeID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeTimeID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeTimeID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Unix-style time_t (deprecated)\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeTimeID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeTimeID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeBitfieldID __pyx_vtable_4h5py_3h5t_TypeBitfieldID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeBitfieldID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeBitfieldID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeBitfieldID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeBitfieldID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeBitfieldID[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeBitfieldID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeBitfieldID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeBitfieldID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeBitfieldID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeBitfieldID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeBitfieldID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeBitfieldID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeBitfieldID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeBitfieldID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeBitfieldID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        HDF5 bitfield type\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeBitfieldID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeBitfieldID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeReferenceID __pyx_vtable_4h5py_3h5t_TypeReferenceID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeReferenceID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeReferenceID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeReferenceID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeReferenceID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeReferenceID[] = {
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeReferenceID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeReferenceID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeReferenceID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeReferenceID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeReferenceID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeReferenceID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeReferenceID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeReferenceID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeReferenceID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeReferenceID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        HDF5 object or region reference\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeReferenceID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeReferenceID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeAtomicID __pyx_vtable_4h5py_3h5t_TypeAtomicID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeAtomicID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeAtomicID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeAtomicID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeAtomicID[] = {
-  {__Pyx_NAMESTR("get_order"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_1get_order, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_get_order)},
-  {__Pyx_NAMESTR("set_order"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_3set_order, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_2set_order)},
-  {__Pyx_NAMESTR("get_precision"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_5get_precision, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_4get_precision)},
-  {__Pyx_NAMESTR("set_precision"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_7set_precision, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_6set_precision)},
-  {__Pyx_NAMESTR("get_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_9get_offset, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_8get_offset)},
-  {__Pyx_NAMESTR("set_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_11set_offset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_10set_offset)},
-  {__Pyx_NAMESTR("get_pad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_13get_pad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_12get_pad)},
-  {__Pyx_NAMESTR("set_pad"), (PyCFunction)__pyx_pw_4h5py_3h5t_12TypeAtomicID_15set_pad, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_12TypeAtomicID_14set_pad)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeAtomicID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeAtomicID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeAtomicID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeAtomicID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeAtomicID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeAtomicID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeAtomicID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeAtomicID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeAtomicID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeAtomicID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Base class for atomic datatypes (float or integer)\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeAtomicID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeAtomicID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeIntegerID __pyx_vtable_4h5py_3h5t_TypeIntegerID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeIntegerID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeIntegerID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeIntegerID *)o);
-  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeIntegerID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeIntegerID[] = {
-  {__Pyx_NAMESTR("get_sign"), (PyCFunction)__pyx_pw_4h5py_3h5t_13TypeIntegerID_1get_sign, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13TypeIntegerID_get_sign)},
-  {__Pyx_NAMESTR("set_sign"), (PyCFunction)__pyx_pw_4h5py_3h5t_13TypeIntegerID_3set_sign, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_13TypeIntegerID_2set_sign)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeIntegerID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeIntegerID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeIntegerID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeIntegerID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeIntegerID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeIntegerID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeIntegerID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeIntegerID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeIntegerID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeIntegerID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Integer atomic datatypes\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeIntegerID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeIntegerID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeFloatID __pyx_vtable_4h5py_3h5t_TypeFloatID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeFloatID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeFloatID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeFloatID *)o);
-  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeFloatID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeFloatID[] = {
-  {__Pyx_NAMESTR("get_fields"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_1get_fields, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_get_fields)},
-  {__Pyx_NAMESTR("set_fields"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_3set_fields, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_2set_fields)},
-  {__Pyx_NAMESTR("get_ebias"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_5get_ebias, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_4get_ebias)},
-  {__Pyx_NAMESTR("set_ebias"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_7set_ebias, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_6set_ebias)},
-  {__Pyx_NAMESTR("get_norm"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_9get_norm, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_8get_norm)},
-  {__Pyx_NAMESTR("set_norm"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_11set_norm, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_10set_norm)},
-  {__Pyx_NAMESTR("get_inpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_13get_inpad, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_12get_inpad)},
-  {__Pyx_NAMESTR("set_inpad"), (PyCFunction)__pyx_pw_4h5py_3h5t_11TypeFloatID_15set_inpad, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_11TypeFloatID_14set_inpad)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeFloatID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeFloatID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeFloatID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeFloatID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeFloatID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeFloatID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeFloatID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeFloatID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeFloatID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeFloatID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeFloatID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Floating-point atomic datatypes\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeFloatID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeFloatID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompositeID __pyx_vtable_4h5py_3h5t_TypeCompositeID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeCompositeID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeCompositeID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeCompositeID *)o);
-  p->__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeCompositeID[] = {
-  {__Pyx_NAMESTR("get_nmembers"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_1get_nmembers, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_get_nmembers)},
-  {__Pyx_NAMESTR("get_member_name"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_3get_member_name, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_2get_member_name)},
-  {__Pyx_NAMESTR("get_member_index"), (PyCFunction)__pyx_pw_4h5py_3h5t_15TypeCompositeID_5get_member_index, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_15TypeCompositeID_4get_member_index)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeCompositeID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeCompositeID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeCompositeID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeCompositeID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeCompositeID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeCompositeID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeCompositeID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeCompositeID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeCompositeID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeCompositeID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Base class for enumerated and compound types.\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeCompositeID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeCompositeID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeEnumID __pyx_vtable_4h5py_3h5t_TypeEnumID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeEnumID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeEnumID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeEnumID *)o);
-  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeEnumID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeEnumID[] = {
-  {__Pyx_NAMESTR("enum_insert"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_1enum_insert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_enum_insert)},
-  {__Pyx_NAMESTR("enum_nameof"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_3enum_nameof, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_2enum_nameof)},
-  {__Pyx_NAMESTR("enum_valueof"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_5enum_valueof, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_4enum_valueof)},
-  {__Pyx_NAMESTR("get_member_value"), (PyCFunction)__pyx_pw_4h5py_3h5t_10TypeEnumID_7get_member_value, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_10TypeEnumID_6get_member_value)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeEnumID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeEnumID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeEnumID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeEnumID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeEnumID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeEnumID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeEnumID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeEnumID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeEnumID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeEnumID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeEnumID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents an enumerated type\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeEnumID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeEnumID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-static struct __pyx_vtabstruct_4h5py_3h5t_TypeCompoundID __pyx_vtable_4h5py_3h5t_TypeCompoundID;
-
-static PyObject *__pyx_tp_new_4h5py_3h5t_TypeCompoundID(PyTypeObject *t, PyObject *a, PyObject *k) {
-  struct __pyx_obj_4h5py_3h5t_TypeCompoundID *p;
-  PyObject *o = __pyx_tp_new_4h5py_3h5t_TypeID(t, a, k);
-  if (!o) return 0;
-  p = ((struct __pyx_obj_4h5py_3h5t_TypeCompoundID *)o);
-  p->__pyx_base.__pyx_base.__pyx_vtab = (struct __pyx_vtabstruct_4h5py_3h5t_TypeID*)__pyx_vtabptr_4h5py_3h5t_TypeCompoundID;
-  return o;
-}
-
-static PyMethodDef __pyx_methods_4h5py_3h5t_TypeCompoundID[] = {
-  {__Pyx_NAMESTR("get_member_class"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_1get_member_class, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_get_member_class)},
-  {__Pyx_NAMESTR("get_member_offset"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_3get_member_offset, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_2get_member_offset)},
-  {__Pyx_NAMESTR("get_member_type"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_5get_member_type, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_4get_member_type)},
-  {__Pyx_NAMESTR("insert"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_7insert, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_6insert)},
-  {__Pyx_NAMESTR("pack"), (PyCFunction)__pyx_pw_4h5py_3h5t_14TypeCompoundID_9pack, METH_NOARGS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14TypeCompoundID_8pack)},
-  {0, 0, 0, 0}
-};
-
-static PyNumberMethods __pyx_tp_as_number_TypeCompoundID = {
-  0, /*nb_add*/
-  0, /*nb_subtract*/
-  0, /*nb_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_divide*/
-  #endif
-  0, /*nb_remainder*/
-  0, /*nb_divmod*/
-  0, /*nb_power*/
-  0, /*nb_negative*/
-  0, /*nb_positive*/
-  0, /*nb_absolute*/
-  0, /*nb_nonzero*/
-  0, /*nb_invert*/
-  0, /*nb_lshift*/
-  0, /*nb_rshift*/
-  0, /*nb_and*/
-  0, /*nb_xor*/
-  0, /*nb_or*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_coerce*/
-  #endif
-  0, /*nb_int*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_long*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*nb_float*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_oct*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_hex*/
-  #endif
-  0, /*nb_inplace_add*/
-  0, /*nb_inplace_subtract*/
-  0, /*nb_inplace_multiply*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*nb_inplace_divide*/
-  #endif
-  0, /*nb_inplace_remainder*/
-  0, /*nb_inplace_power*/
-  0, /*nb_inplace_lshift*/
-  0, /*nb_inplace_rshift*/
-  0, /*nb_inplace_and*/
-  0, /*nb_inplace_xor*/
-  0, /*nb_inplace_or*/
-  0, /*nb_floor_divide*/
-  0, /*nb_true_divide*/
-  0, /*nb_inplace_floor_divide*/
-  0, /*nb_inplace_true_divide*/
-  #if PY_VERSION_HEX >= 0x02050000
-  0, /*nb_index*/
-  #endif
-};
-
-static PySequenceMethods __pyx_tp_as_sequence_TypeCompoundID = {
-  0, /*sq_length*/
-  0, /*sq_concat*/
-  0, /*sq_repeat*/
-  0, /*sq_item*/
-  0, /*sq_slice*/
-  0, /*sq_ass_item*/
-  0, /*sq_ass_slice*/
-  0, /*sq_contains*/
-  0, /*sq_inplace_concat*/
-  0, /*sq_inplace_repeat*/
-};
-
-static PyMappingMethods __pyx_tp_as_mapping_TypeCompoundID = {
-  0, /*mp_length*/
-  0, /*mp_subscript*/
-  0, /*mp_ass_subscript*/
-};
-
-static PyBufferProcs __pyx_tp_as_buffer_TypeCompoundID = {
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getreadbuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getwritebuffer*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getsegcount*/
-  #endif
-  #if PY_MAJOR_VERSION < 3
-  0, /*bf_getcharbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_getbuffer*/
-  #endif
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*bf_releasebuffer*/
-  #endif
-};
-
-static PyTypeObject __pyx_type_4h5py_3h5t_TypeCompoundID = {
-  PyVarObject_HEAD_INIT(0, 0)
-  __Pyx_NAMESTR("h5py.h5t.TypeCompoundID"), /*tp_name*/
-  sizeof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID), /*tp_basicsize*/
-  0, /*tp_itemsize*/
-  __pyx_tp_dealloc_4h5py_3h5t_TypeID, /*tp_dealloc*/
-  0, /*tp_print*/
-  0, /*tp_getattr*/
-  0, /*tp_setattr*/
-  #if PY_MAJOR_VERSION < 3
-  0, /*tp_compare*/
-  #else
-  0, /*reserved*/
-  #endif
-  0, /*tp_repr*/
-  &__pyx_tp_as_number_TypeCompoundID, /*tp_as_number*/
-  &__pyx_tp_as_sequence_TypeCompoundID, /*tp_as_sequence*/
-  &__pyx_tp_as_mapping_TypeCompoundID, /*tp_as_mapping*/
-  0, /*tp_hash*/
-  0, /*tp_call*/
-  0, /*tp_str*/
-  0, /*tp_getattro*/
-  0, /*tp_setattro*/
-  &__pyx_tp_as_buffer_TypeCompoundID, /*tp_as_buffer*/
-  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
-  __Pyx_DOCSTR("\n        Represents a compound datatype\n    "), /*tp_doc*/
-  __pyx_tp_traverse_4h5py_3h5t_TypeID, /*tp_traverse*/
-  __pyx_tp_clear_4h5py_3h5t_TypeID, /*tp_clear*/
-  0, /*tp_richcompare*/
-  0, /*tp_weaklistoffset*/
-  0, /*tp_iter*/
-  0, /*tp_iternext*/
-  __pyx_methods_4h5py_3h5t_TypeCompoundID, /*tp_methods*/
-  0, /*tp_members*/
-  0, /*tp_getset*/
-  0, /*tp_base*/
-  0, /*tp_dict*/
-  0, /*tp_descr_get*/
-  0, /*tp_descr_set*/
-  0, /*tp_dictoffset*/
-  0, /*tp_init*/
-  0, /*tp_alloc*/
-  __pyx_tp_new_4h5py_3h5t_TypeCompoundID, /*tp_new*/
-  0, /*tp_free*/
-  0, /*tp_is_gc*/
-  0, /*tp_bases*/
-  0, /*tp_mro*/
-  0, /*tp_cache*/
-  0, /*tp_subclasses*/
-  0, /*tp_weaklist*/
-  0, /*tp_del*/
-  #if PY_VERSION_HEX >= 0x02060000
-  0, /*tp_version_tag*/
-  #endif
-};
-
-static PyMethodDef __pyx_methods[] = {
-  {__Pyx_NAMESTR("typewrap"), (PyCFunction)__pyx_pw_4h5py_3h5t_1typewrap, METH_O, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("py_create"), (PyCFunction)__pyx_pw_4h5py_3h5t_15py_create, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_14py_create)},
-  {__Pyx_NAMESTR("py_new_enum"), (PyCFunction)__pyx_pw_4h5py_3h5t_25py_new_enum, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_24py_new_enum)},
-  {__Pyx_NAMESTR("py_get_enum"), (PyCFunction)__pyx_pw_4h5py_3h5t_27py_get_enum, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_26py_get_enum)},
-  {__Pyx_NAMESTR("py_new_vlen"), (PyCFunction)__pyx_pw_4h5py_3h5t_29py_new_vlen, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_28py_new_vlen)},
-  {__Pyx_NAMESTR("py_get_vlen"), (PyCFunction)__pyx_pw_4h5py_3h5t_31py_get_vlen, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5t_30py_get_vlen)},
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5t"),
-    __Pyx_DOCSTR(__pyx_k_49), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0},
-  {&__pyx_kp_s_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0},
-  {&__pyx_kp_s_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 1, 0},
-  {&__pyx_kp_s_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 1, 0},
-  {&__pyx_kp_s_25, __pyx_k_25, sizeof(__pyx_k_25), 0, 0, 1, 0},
-  {&__pyx_kp_s_26, __pyx_k_26, sizeof(__pyx_k_26), 0, 0, 1, 0},
-  {&__pyx_kp_s_27, __pyx_k_27, sizeof(__pyx_k_27), 0, 0, 1, 0},
-  {&__pyx_kp_s_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 1, 0},
-  {&__pyx_kp_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 0},
-  {&__pyx_kp_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 0},
-  {&__pyx_kp_s_32, __pyx_k_32, sizeof(__pyx_k_32), 0, 0, 1, 0},
-  {&__pyx_kp_s_34, __pyx_k_34, sizeof(__pyx_k_34), 0, 0, 1, 0},
-  {&__pyx_kp_s_35, __pyx_k_35, sizeof(__pyx_k_35), 0, 0, 1, 0},
-  {&__pyx_kp_s_36, __pyx_k_36, sizeof(__pyx_k_36), 0, 0, 1, 0},
-  {&__pyx_kp_s_38, __pyx_k_38, sizeof(__pyx_k_38), 0, 0, 1, 0},
-  {&__pyx_kp_s_40, __pyx_k_40, sizeof(__pyx_k_40), 0, 0, 1, 0},
-  {&__pyx_kp_s_42, __pyx_k_42, sizeof(__pyx_k_42), 0, 0, 1, 0},
-  {&__pyx_kp_s_44, __pyx_k_44, sizeof(__pyx_k_44), 0, 0, 1, 0},
-  {&__pyx_kp_s_46, __pyx_k_46, sizeof(__pyx_k_46), 0, 0, 1, 0},
-  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
-  {&__pyx_kp_s_53, __pyx_k_53, sizeof(__pyx_k_53), 0, 0, 1, 0},
-  {&__pyx_kp_s_54, __pyx_k_54, sizeof(__pyx_k_54), 0, 0, 1, 0},
-  {&__pyx_kp_s_55, __pyx_k_55, sizeof(__pyx_k_55), 0, 0, 1, 0},
-  {&__pyx_kp_s_58, __pyx_k_58, sizeof(__pyx_k_58), 0, 0, 1, 0},
-  {&__pyx_n_s_59, __pyx_k_59, sizeof(__pyx_k_59), 0, 0, 1, 1},
-  {&__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_kp_s__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 0, 1, 0},
-  {&__pyx_n_s__ARRAY, __pyx_k__ARRAY, sizeof(__pyx_k__ARRAY), 0, 0, 1, 1},
-  {&__pyx_n_s__BITFIELD, __pyx_k__BITFIELD, sizeof(__pyx_k__BITFIELD), 0, 0, 1, 1},
-  {&__pyx_n_s__BKG_NO, __pyx_k__BKG_NO, sizeof(__pyx_k__BKG_NO), 0, 0, 1, 1},
-  {&__pyx_n_s__BKG_TEMP, __pyx_k__BKG_TEMP, sizeof(__pyx_k__BKG_TEMP), 0, 0, 1, 1},
-  {&__pyx_n_s__BKG_YES, __pyx_k__BKG_YES, sizeof(__pyx_k__BKG_YES), 0, 0, 1, 1},
-  {&__pyx_n_s__COMPOUND, __pyx_k__COMPOUND, sizeof(__pyx_k__COMPOUND), 0, 0, 1, 1},
-  {&__pyx_n_s__CSET_ASCII, __pyx_k__CSET_ASCII, sizeof(__pyx_k__CSET_ASCII), 0, 0, 1, 1},
-  {&__pyx_n_s__CSET_UTF8, __pyx_k__CSET_UTF8, sizeof(__pyx_k__CSET_UTF8), 0, 0, 1, 1},
-  {&__pyx_n_s__C_S1, __pyx_k__C_S1, sizeof(__pyx_k__C_S1), 0, 0, 1, 1},
-  {&__pyx_n_s__DIR_ASCEND, __pyx_k__DIR_ASCEND, sizeof(__pyx_k__DIR_ASCEND), 0, 0, 1, 1},
-  {&__pyx_n_s__DIR_DEFAULT, __pyx_k__DIR_DEFAULT, sizeof(__pyx_k__DIR_DEFAULT), 0, 0, 1, 1},
-  {&__pyx_n_s__DIR_DESCEND, __pyx_k__DIR_DESCEND, sizeof(__pyx_k__DIR_DESCEND), 0, 0, 1, 1},
-  {&__pyx_n_s__ENUM, __pyx_k__ENUM, sizeof(__pyx_k__ENUM), 0, 0, 1, 1},
-  {&__pyx_n_s__FLOAT, __pyx_k__FLOAT, sizeof(__pyx_k__FLOAT), 0, 0, 1, 1},
-  {&__pyx_n_s__FORTRAN_S1, __pyx_k__FORTRAN_S1, sizeof(__pyx_k__FORTRAN_S1), 0, 0, 1, 1},
-  {&__pyx_n_s__IEEE_F16BE, __pyx_k__IEEE_F16BE, sizeof(__pyx_k__IEEE_F16BE), 0, 0, 1, 1},
-  {&__pyx_n_s__IEEE_F16LE, __pyx_k__IEEE_F16LE, sizeof(__pyx_k__IEEE_F16LE), 0, 0, 1, 1},
-  {&__pyx_n_s__IEEE_F32BE, __pyx_k__IEEE_F32BE, sizeof(__pyx_k__IEEE_F32BE), 0, 0, 1, 1},
-  {&__pyx_n_s__IEEE_F32LE, __pyx_k__IEEE_F32LE, sizeof(__pyx_k__IEEE_F32LE), 0, 0, 1, 1},
-  {&__pyx_n_s__IEEE_F64BE, __pyx_k__IEEE_F64BE, sizeof(__pyx_k__IEEE_F64BE), 0, 0, 1, 1},
-  {&__pyx_n_s__IEEE_F64LE, __pyx_k__IEEE_F64LE, sizeof(__pyx_k__IEEE_F64LE), 0, 0, 1, 1},
-  {&__pyx_n_s__INTEGER, __pyx_k__INTEGER, sizeof(__pyx_k__INTEGER), 0, 0, 1, 1},
-  {&__pyx_n_s__KeyError, __pyx_k__KeyError, sizeof(__pyx_k__KeyError), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_DOUBLE, __pyx_k__NATIVE_DOUBLE, sizeof(__pyx_k__NATIVE_DOUBLE), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_FLOAT, __pyx_k__NATIVE_FLOAT, sizeof(__pyx_k__NATIVE_FLOAT), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_INT16, __pyx_k__NATIVE_INT16, sizeof(__pyx_k__NATIVE_INT16), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_INT32, __pyx_k__NATIVE_INT32, sizeof(__pyx_k__NATIVE_INT32), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_INT64, __pyx_k__NATIVE_INT64, sizeof(__pyx_k__NATIVE_INT64), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_INT8, __pyx_k__NATIVE_INT8, sizeof(__pyx_k__NATIVE_INT8), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_UINT16, __pyx_k__NATIVE_UINT16, sizeof(__pyx_k__NATIVE_UINT16), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_UINT32, __pyx_k__NATIVE_UINT32, sizeof(__pyx_k__NATIVE_UINT32), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_UINT64, __pyx_k__NATIVE_UINT64, sizeof(__pyx_k__NATIVE_UINT64), 0, 0, 1, 1},
-  {&__pyx_n_s__NATIVE_UINT8, __pyx_k__NATIVE_UINT8, sizeof(__pyx_k__NATIVE_UINT8), 0, 0, 1, 1},
-  {&__pyx_n_s__NORM_IMPLIED, __pyx_k__NORM_IMPLIED, sizeof(__pyx_k__NORM_IMPLIED), 0, 0, 1, 1},
-  {&__pyx_n_s__NORM_MSBSET, __pyx_k__NORM_MSBSET, sizeof(__pyx_k__NORM_MSBSET), 0, 0, 1, 1},
-  {&__pyx_n_s__NORM_NONE, __pyx_k__NORM_NONE, sizeof(__pyx_k__NORM_NONE), 0, 0, 1, 1},
-  {&__pyx_n_s__NO_CLASS, __pyx_k__NO_CLASS, sizeof(__pyx_k__NO_CLASS), 0, 0, 1, 1},
-  {&__pyx_n_s__NotImplemented, __pyx_k__NotImplemented, sizeof(__pyx_k__NotImplemented), 0, 0, 1, 1},
-  {&__pyx_n_s__NotImplementedError, __pyx_k__NotImplementedError, sizeof(__pyx_k__NotImplementedError), 0, 0, 1, 1},
-  {&__pyx_n_s__O, __pyx_k__O, sizeof(__pyx_k__O), 0, 0, 1, 1},
-  {&__pyx_n_s__OPAQUE, __pyx_k__OPAQUE, sizeof(__pyx_k__OPAQUE), 0, 0, 1, 1},
-  {&__pyx_n_s__ORDER_BE, __pyx_k__ORDER_BE, sizeof(__pyx_k__ORDER_BE), 0, 0, 1, 1},
-  {&__pyx_n_s__ORDER_LE, __pyx_k__ORDER_LE, sizeof(__pyx_k__ORDER_LE), 0, 0, 1, 1},
-  {&__pyx_n_s__ORDER_NATIVE, __pyx_k__ORDER_NATIVE, sizeof(__pyx_k__ORDER_NATIVE), 0, 0, 1, 1},
-  {&__pyx_n_s__ORDER_NONE, __pyx_k__ORDER_NONE, sizeof(__pyx_k__ORDER_NONE), 0, 0, 1, 1},
-  {&__pyx_n_s__ORDER_VAX, __pyx_k__ORDER_VAX, sizeof(__pyx_k__ORDER_VAX), 0, 0, 1, 1},
-  {&__pyx_n_s__PAD_BACKGROUND, __pyx_k__PAD_BACKGROUND, sizeof(__pyx_k__PAD_BACKGROUND), 0, 0, 1, 1},
-  {&__pyx_n_s__PAD_ONE, __pyx_k__PAD_ONE, sizeof(__pyx_k__PAD_ONE), 0, 0, 1, 1},
-  {&__pyx_n_s__PAD_ZERO, __pyx_k__PAD_ZERO, sizeof(__pyx_k__PAD_ZERO), 0, 0, 1, 1},
-  {&__pyx_n_s__PY3, __pyx_k__PY3, sizeof(__pyx_k__PY3), 0, 0, 1, 1},
-  {&__pyx_n_s__PYTHON_OBJECT, __pyx_k__PYTHON_OBJECT, sizeof(__pyx_k__PYTHON_OBJECT), 0, 0, 1, 1},
-  {&__pyx_n_s__REFERENCE, __pyx_k__REFERENCE, sizeof(__pyx_k__REFERENCE), 0, 0, 1, 1},
-  {&__pyx_n_s__SGN_2, __pyx_k__SGN_2, sizeof(__pyx_k__SGN_2), 0, 0, 1, 1},
-  {&__pyx_n_s__SGN_NONE, __pyx_k__SGN_NONE, sizeof(__pyx_k__SGN_NONE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_I16BE, __pyx_k__STD_I16BE, sizeof(__pyx_k__STD_I16BE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_I16LE, __pyx_k__STD_I16LE, sizeof(__pyx_k__STD_I16LE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_I32BE, __pyx_k__STD_I32BE, sizeof(__pyx_k__STD_I32BE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_I32LE, __pyx_k__STD_I32LE, sizeof(__pyx_k__STD_I32LE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_I64BE, __pyx_k__STD_I64BE, sizeof(__pyx_k__STD_I64BE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_I64LE, __pyx_k__STD_I64LE, sizeof(__pyx_k__STD_I64LE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_I8BE, __pyx_k__STD_I8BE, sizeof(__pyx_k__STD_I8BE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_I8LE, __pyx_k__STD_I8LE, sizeof(__pyx_k__STD_I8LE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_REF_DSETREG, __pyx_k__STD_REF_DSETREG, sizeof(__pyx_k__STD_REF_DSETREG), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_REF_OBJ, __pyx_k__STD_REF_OBJ, sizeof(__pyx_k__STD_REF_OBJ), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_U16BE, __pyx_k__STD_U16BE, sizeof(__pyx_k__STD_U16BE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_U16LE, __pyx_k__STD_U16LE, sizeof(__pyx_k__STD_U16LE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_U32BE, __pyx_k__STD_U32BE, sizeof(__pyx_k__STD_U32BE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_U32LE, __pyx_k__STD_U32LE, sizeof(__pyx_k__STD_U32LE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_U64BE, __pyx_k__STD_U64BE, sizeof(__pyx_k__STD_U64BE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_U64LE, __pyx_k__STD_U64LE, sizeof(__pyx_k__STD_U64LE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_U8BE, __pyx_k__STD_U8BE, sizeof(__pyx_k__STD_U8BE), 0, 0, 1, 1},
-  {&__pyx_n_s__STD_U8LE, __pyx_k__STD_U8LE, sizeof(__pyx_k__STD_U8LE), 0, 0, 1, 1},
-  {&__pyx_n_s__STRING, __pyx_k__STRING, sizeof(__pyx_k__STRING), 0, 0, 1, 1},
-  {&__pyx_n_s__STR_NULLPAD, __pyx_k__STR_NULLPAD, sizeof(__pyx_k__STR_NULLPAD), 0, 0, 1, 1},
-  {&__pyx_n_s__STR_NULLTERM, __pyx_k__STR_NULLTERM, sizeof(__pyx_k__STR_NULLTERM), 0, 0, 1, 1},
-  {&__pyx_n_s__STR_SPACEPAD, __pyx_k__STR_SPACEPAD, sizeof(__pyx_k__STR_SPACEPAD), 0, 0, 1, 1},
-  {&__pyx_n_s__TIME, __pyx_k__TIME, sizeof(__pyx_k__TIME), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s__UNIX_D32BE, __pyx_k__UNIX_D32BE, sizeof(__pyx_k__UNIX_D32BE), 0, 0, 1, 1},
-  {&__pyx_n_s__UNIX_D32LE, __pyx_k__UNIX_D32LE, sizeof(__pyx_k__UNIX_D32LE), 0, 0, 1, 1},
-  {&__pyx_n_s__UNIX_D64BE, __pyx_k__UNIX_D64BE, sizeof(__pyx_k__UNIX_D64BE), 0, 0, 1, 1},
-  {&__pyx_n_s__UNIX_D64LE, __pyx_k__UNIX_D64LE, sizeof(__pyx_k__UNIX_D64LE), 0, 0, 1, 1},
-  {&__pyx_n_s__UnicodeDecodeError, __pyx_k__UnicodeDecodeError, sizeof(__pyx_k__UnicodeDecodeError), 0, 0, 1, 1},
-  {&__pyx_n_s__VARIABLE, __pyx_k__VARIABLE, sizeof(__pyx_k__VARIABLE), 0, 0, 1, 1},
-  {&__pyx_n_s__VLEN, __pyx_k__VLEN, sizeof(__pyx_k__VLEN), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____class__, __pyx_k____class__, sizeof(__pyx_k____class__), 0, 0, 1, 1},
-  {&__pyx_n_s____copy__, __pyx_k____copy__, sizeof(__pyx_k____copy__), 0, 0, 1, 1},
-  {&__pyx_n_s____hash__, __pyx_k____hash__, sizeof(__pyx_k____hash__), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____name__, __pyx_k____name__, sizeof(__pyx_k____name__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___conv, __pyx_k___conv, sizeof(__pyx_k___conv), 0, 0, 1, 1},
-  {&__pyx_n_s___f_name, __pyx_k___f_name, sizeof(__pyx_k___f_name), 0, 0, 1, 1},
-  {&__pyx_n_s___i_name, __pyx_k___i_name, sizeof(__pyx_k___i_name), 0, 0, 1, 1},
-  {&__pyx_n_s___r_name, __pyx_k___r_name, sizeof(__pyx_k___r_name), 0, 0, 1, 1},
-  {&__pyx_n_s___t_name, __pyx_k___t_name, sizeof(__pyx_k___t_name), 0, 0, 1, 1},
-  {&__pyx_n_s__array_create, __pyx_k__array_create, sizeof(__pyx_k__array_create), 0, 0, 1, 1},
-  {&__pyx_n_s__ascii, __pyx_k__ascii, sizeof(__pyx_k__ascii), 0, 0, 1, 1},
-  {&__pyx_n_s__base, __pyx_k__base, sizeof(__pyx_k__base), 0, 0, 1, 1},
-  {&__pyx_n_s__bkg, __pyx_k__bkg, sizeof(__pyx_k__bkg), 0, 0, 1, 1},
-  {&__pyx_n_s__bkg_, __pyx_k__bkg_, sizeof(__pyx_k__bkg_), 0, 0, 1, 1},
-  {&__pyx_n_s__bool, __pyx_k__bool, sizeof(__pyx_k__bool), 0, 0, 1, 1},
-  {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1},
-  {&__pyx_n_s__buf_, __pyx_k__buf_, sizeof(__pyx_k__buf_), 0, 0, 1, 1},
-  {&__pyx_n_s__byteorder, __pyx_k__byteorder, sizeof(__pyx_k__byteorder), 0, 0, 1, 1},
-  {&__pyx_n_s__c, __pyx_k__c, sizeof(__pyx_k__c), 0, 0, 1, 1},
-  {&__pyx_n_s__cfg, __pyx_k__cfg, sizeof(__pyx_k__cfg), 0, 0, 1, 1},
-  {&__pyx_n_s__check_dtype, __pyx_k__check_dtype, sizeof(__pyx_k__check_dtype), 0, 0, 1, 1},
-  {&__pyx_n_s__classtype, __pyx_k__classtype, sizeof(__pyx_k__classtype), 0, 0, 1, 1},
-  {&__pyx_n_s__convert, __pyx_k__convert, sizeof(__pyx_k__convert), 0, 0, 1, 1},
-  {&__pyx_n_s__copy, __pyx_k__copy, sizeof(__pyx_k__copy), 0, 0, 1, 1},
-  {&__pyx_n_s__create, __pyx_k__create, sizeof(__pyx_k__create), 0, 0, 1, 1},
-  {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1},
-  {&__pyx_n_s__decode, __pyx_k__decode, sizeof(__pyx_k__decode), 0, 0, 1, 1},
-  {&__pyx_n_s__detect_class, __pyx_k__detect_class, sizeof(__pyx_k__detect_class), 0, 0, 1, 1},
-  {&__pyx_n_s__dims, __pyx_k__dims, sizeof(__pyx_k__dims), 0, 0, 1, 1},
-  {&__pyx_n_s__dims_tpl, __pyx_k__dims_tpl, sizeof(__pyx_k__dims_tpl), 0, 0, 1, 1},
-  {&__pyx_n_s__dst, __pyx_k__dst, sizeof(__pyx_k__dst), 0, 0, 1, 1},
-  {&__pyx_n_s__dt, __pyx_k__dt, sizeof(__pyx_k__dt), 0, 0, 1, 1},
-  {&__pyx_n_s__dt_in, __pyx_k__dt_in, sizeof(__pyx_k__dt_in), 0, 0, 1, 1},
-  {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1},
-  {&__pyx_n_s__dtype_in, __pyx_k__dtype_in, sizeof(__pyx_k__dtype_in), 0, 0, 1, 1},
-  {&__pyx_n_s__dxpl, __pyx_k__dxpl, sizeof(__pyx_k__dxpl), 0, 0, 1, 1},
-  {&__pyx_n_s__encode, __pyx_k__encode, sizeof(__pyx_k__encode), 0, 0, 1, 1},
-  {&__pyx_n_s__enum, __pyx_k__enum, sizeof(__pyx_k__enum), 0, 0, 1, 1},
-  {&__pyx_n_s__enum_create, __pyx_k__enum_create, sizeof(__pyx_k__enum_create), 0, 0, 1, 1},
-  {&__pyx_n_s__enum_insert, __pyx_k__enum_insert, sizeof(__pyx_k__enum_insert), 0, 0, 1, 1},
-  {&__pyx_n_s__enum_vals, __pyx_k__enum_vals, sizeof(__pyx_k__enum_vals), 0, 0, 1, 1},
-  {&__pyx_n_s__epos, __pyx_k__epos, sizeof(__pyx_k__epos), 0, 0, 1, 1},
-  {&__pyx_n_s__equal, __pyx_k__equal, sizeof(__pyx_k__equal), 0, 0, 1, 1},
-  {&__pyx_n_s__esize, __pyx_k__esize, sizeof(__pyx_k__esize), 0, 0, 1, 1},
-  {&__pyx_n_s__f, __pyx_k__f, sizeof(__pyx_k__f), 0, 0, 1, 1},
-  {&__pyx_n_s__f4, __pyx_k__f4, sizeof(__pyx_k__f4), 0, 0, 1, 1},
-  {&__pyx_n_s__field, __pyx_k__field, sizeof(__pyx_k__field), 0, 0, 1, 1},
-  {&__pyx_n_s__fields, __pyx_k__fields, sizeof(__pyx_k__fields), 0, 0, 1, 1},
-  {&__pyx_n_s__find, __pyx_k__find, sizeof(__pyx_k__find), 0, 0, 1, 1},
-  {&__pyx_n_s__float16, __pyx_k__float16, sizeof(__pyx_k__float16), 0, 0, 1, 1},
-  {&__pyx_n_s__get_array_dims, __pyx_k__get_array_dims, sizeof(__pyx_k__get_array_dims), 0, 0, 1, 1},
-  {&__pyx_n_s__get_config, __pyx_k__get_config, sizeof(__pyx_k__get_config), 0, 0, 1, 1},
-  {&__pyx_n_s__get_cset, __pyx_k__get_cset, sizeof(__pyx_k__get_cset), 0, 0, 1, 1},
-  {&__pyx_n_s__get_member_name, __pyx_k__get_member_name, sizeof(__pyx_k__get_member_name), 0, 0, 1, 1},
-  {&__pyx_n_s__get_member_type, __pyx_k__get_member_type, sizeof(__pyx_k__get_member_type), 0, 0, 1, 1},
-  {&__pyx_n_s__get_member_value, __pyx_k__get_member_value, sizeof(__pyx_k__get_member_value), 0, 0, 1, 1},
-  {&__pyx_n_s__get_nmembers, __pyx_k__get_nmembers, sizeof(__pyx_k__get_nmembers), 0, 0, 1, 1},
-  {&__pyx_n_s__get_order, __pyx_k__get_order, sizeof(__pyx_k__get_order), 0, 0, 1, 1},
-  {&__pyx_n_s__get_python_obj, __pyx_k__get_python_obj, sizeof(__pyx_k__get_python_obj), 0, 0, 1, 1},
-  {&__pyx_n_s__get_sign, __pyx_k__get_sign, sizeof(__pyx_k__get_sign), 0, 0, 1, 1},
-  {&__pyx_n_s__get_size, __pyx_k__get_size, sizeof(__pyx_k__get_size), 0, 0, 1, 1},
-  {&__pyx_n_s__get_super, __pyx_k__get_super, sizeof(__pyx_k__get_super), 0, 0, 1, 1},
-  {&__pyx_n_s__group, __pyx_k__group, sizeof(__pyx_k__group), 0, 0, 1, 1},
-  {&__pyx_n_s__h5, __pyx_k__h5, sizeof(__pyx_k__h5), 0, 0, 1, 1},
-  {&__pyx_n_s__h5py, __pyx_k__h5py, sizeof(__pyx_k__h5py), 0, 0, 1, 1},
-  {&__pyx_n_s__hint_dict, __pyx_k__hint_dict, sizeof(__pyx_k__hint_dict), 0, 0, 1, 1},
-  {&__pyx_n_s__hintkey, __pyx_k__hintkey, sizeof(__pyx_k__hintkey), 0, 0, 1, 1},
-  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
-  {&__pyx_n_s__id, __pyx_k__id, sizeof(__pyx_k__id), 0, 0, 1, 1},
-  {&__pyx_n_s__is_variable_str, __pyx_k__is_variable_str, sizeof(__pyx_k__is_variable_str), 0, 0, 1, 1},
-  {&__pyx_n_s__itemsize, __pyx_k__itemsize, sizeof(__pyx_k__itemsize), 0, 0, 1, 1},
-  {&__pyx_n_s__iteritems, __pyx_k__iteritems, sizeof(__pyx_k__iteritems), 0, 0, 1, 1},
-  {&__pyx_n_s__iu, __pyx_k__iu, sizeof(__pyx_k__iu), 0, 0, 1, 1},
-  {&__pyx_n_s__kind, __pyx_k__kind, sizeof(__pyx_k__kind), 0, 0, 1, 1},
-  {&__pyx_n_s__kwds, __pyx_k__kwds, sizeof(__pyx_k__kwds), 0, 0, 1, 1},
-  {&__pyx_n_s__lcpl, __pyx_k__lcpl, sizeof(__pyx_k__lcpl), 0, 0, 1, 1},
-  {&__pyx_n_s__little, __pyx_k__little, sizeof(__pyx_k__little), 0, 0, 1, 1},
-  {&__pyx_n_s__lock, __pyx_k__lock, sizeof(__pyx_k__lock), 0, 0, 1, 1},
-  {&__pyx_n_s__logical, __pyx_k__logical, sizeof(__pyx_k__logical), 0, 0, 1, 1},
-  {&__pyx_n_s__longdouble, __pyx_k__longdouble, sizeof(__pyx_k__longdouble), 0, 0, 1, 1},
-  {&__pyx_n_s__lsb, __pyx_k__lsb, sizeof(__pyx_k__lsb), 0, 0, 1, 1},
-  {&__pyx_n_s__mpos, __pyx_k__mpos, sizeof(__pyx_k__mpos), 0, 0, 1, 1},
-  {&__pyx_n_s__msb, __pyx_k__msb, sizeof(__pyx_k__msb), 0, 0, 1, 1},
-  {&__pyx_n_s__msize, __pyx_k__msize, sizeof(__pyx_k__msize), 0, 0, 1, 1},
-  {&__pyx_n_s__n, __pyx_k__n, sizeof(__pyx_k__n), 0, 0, 1, 1},
-  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
-  {&__pyx_n_s__names, __pyx_k__names, sizeof(__pyx_k__names), 0, 0, 1, 1},
-  {&__pyx_n_s__np, __pyx_k__np, sizeof(__pyx_k__np), 0, 0, 1, 1},
-  {&__pyx_n_s__numpy, __pyx_k__numpy, sizeof(__pyx_k__numpy), 0, 0, 1, 1},
-  {&__pyx_n_s__offset, __pyx_k__offset, sizeof(__pyx_k__offset), 0, 0, 1, 1},
-  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
-  {&__pyx_n_s__popitem, __pyx_k__popitem, sizeof(__pyx_k__popitem), 0, 0, 1, 1},
-  {&__pyx_n_s__py_create, __pyx_k__py_create, sizeof(__pyx_k__py_create), 0, 0, 1, 1},
-  {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1},
-  {&__pyx_n_s__rank, __pyx_k__rank, sizeof(__pyx_k__rank), 0, 0, 1, 1},
-  {&__pyx_n_s__ref, __pyx_k__ref, sizeof(__pyx_k__ref), 0, 0, 1, 1},
-  {&__pyx_n_s__result, __pyx_k__result, sizeof(__pyx_k__result), 0, 0, 1, 1},
-  {&__pyx_n_s__set_ebias, __pyx_k__set_ebias, sizeof(__pyx_k__set_ebias), 0, 0, 1, 1},
-  {&__pyx_n_s__set_fields, __pyx_k__set_fields, sizeof(__pyx_k__set_fields), 0, 0, 1, 1},
-  {&__pyx_n_s__set_order, __pyx_k__set_order, sizeof(__pyx_k__set_order), 0, 0, 1, 1},
-  {&__pyx_n_s__set_size, __pyx_k__set_size, sizeof(__pyx_k__set_size), 0, 0, 1, 1},
-  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
-  {&__pyx_n_s__sorted, __pyx_k__sorted, sizeof(__pyx_k__sorted), 0, 0, 1, 1},
-  {&__pyx_n_s__special_dtype, __pyx_k__special_dtype, sizeof(__pyx_k__special_dtype), 0, 0, 1, 1},
-  {&__pyx_n_s__spos, __pyx_k__spos, sizeof(__pyx_k__spos), 0, 0, 1, 1},
-  {&__pyx_n_s__src, __pyx_k__src, sizeof(__pyx_k__src), 0, 0, 1, 1},
-  {&__pyx_n_s__str, __pyx_k__str, sizeof(__pyx_k__str), 0, 0, 1, 1},
-  {&__pyx_n_s__subdtype, __pyx_k__subdtype, sizeof(__pyx_k__subdtype), 0, 0, 1, 1},
-  {&__pyx_n_s__sys, __pyx_k__sys, sizeof(__pyx_k__sys), 0, 0, 1, 1},
-  {&__pyx_n_s__tpl, __pyx_k__tpl, sizeof(__pyx_k__tpl), 0, 0, 1, 1},
-  {&__pyx_n_s__type, __pyx_k__type, sizeof(__pyx_k__type), 0, 0, 1, 1},
-  {&__pyx_n_s__u, __pyx_k__u, sizeof(__pyx_k__u), 0, 0, 1, 1},
-  {&__pyx_n_s__utf8, __pyx_k__utf8, sizeof(__pyx_k__utf8), 0, 0, 1, 1},
-  {&__pyx_n_s__val, __pyx_k__val, sizeof(__pyx_k__val), 0, 0, 1, 1},
-  {&__pyx_n_s__vals, __pyx_k__vals, sizeof(__pyx_k__vals), 0, 0, 1, 1},
-  {&__pyx_n_s__value, __pyx_k__value, sizeof(__pyx_k__value), 0, 0, 1, 1},
-  {&__pyx_n_s__version, __pyx_k__version, sizeof(__pyx_k__version), 0, 0, 1, 1},
-  {&__pyx_n_s__version_info, __pyx_k__version_info, sizeof(__pyx_k__version_info), 0, 0, 1, 1},
-  {&__pyx_n_s__vlen, __pyx_k__vlen, sizeof(__pyx_k__vlen), 0, 0, 1, 1},
-  {&__pyx_n_s__vlen_create, __pyx_k__vlen_create, sizeof(__pyx_k__vlen_create), 0, 0, 1, 1},
-  {&__pyx_n_s__warnings, __pyx_k__warnings, sizeof(__pyx_k__warnings), 0, 0, 1, 1},
-  {&__pyx_n_s__xrange, __pyx_k__xrange, sizeof(__pyx_k__xrange), 0, 0, 1, 1},
-  {&__pyx_n_s__zip, __pyx_k__zip, sizeof(__pyx_k__zip), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 305; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_NotImplemented = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplemented); if (!__pyx_builtin_NotImplemented) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 317; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_zip = __Pyx_GetName(__pyx_b, __pyx_n_s__zip); if (!__pyx_builtin_zip) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1044; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #else
-  __pyx_builtin_xrange = __Pyx_GetName(__pyx_b, __pyx_n_s__xrange); if (!__pyx_builtin_xrange) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  __pyx_builtin_UnicodeDecodeError = __Pyx_GetName(__pyx_b, __pyx_n_s__UnicodeDecodeError); if (!__pyx_builtin_UnicodeDecodeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_KeyError = __Pyx_GetName(__pyx_b, __pyx_n_s__KeyError); if (!__pyx_builtin_KeyError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_sorted = __Pyx_GetName(__pyx_b, __pyx_n_s__sorted); if (!__pyx_builtin_sorted) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1244; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_NotImplementedError = __Pyx_GetName(__pyx_b, __pyx_n_s__NotImplementedError); if (!__pyx_builtin_NotImplementedError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5t.pyx":228
- *     # HDF5 versions 1.6.X segfault with anything else
- *     if classtype != H5T_COMPOUND and classtype != H5T_OPAQUE:
- *         raise ValueError("Class must be COMPOUND or OPAQUE.")             # <<<<<<<<<<<<<<
- * 
- *     return typewrap(H5Tcreate(<H5T_class_t>classtype, size))
- */
-  __pyx_k_tuple_2 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_1)); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_2);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
-
-  /* "h5py/h5t.pyx":310
- *                     self._hash = hash(self.encode())
- *                 else:
- *                     raise TypeError("Only locked or committed types can be hashed")             # <<<<<<<<<<<<<<
- * 
- *         return self._hash
- */
-  __pyx_k_tuple_4 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_3)); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_4);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
-
-  /* "h5py/h5t.pyx":459
- * 
- *     def __reduce__(self):
- *         return (type(self), (-1,), self.encode())             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_k_tuple_6 = PyTuple_Pack(1, __pyx_int_neg_1); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_6);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
-
-  /* "h5py/h5t.pyx":655
- *             return special_dtype(ref=RegionReference)
- *         else:
- *             raise TypeError("Unknown reference type")             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_k_tuple_11 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_10)); if (unlikely(!__pyx_k_tuple_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 655; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_11);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_11));
-
-  /* "h5py/h5t.pyx":896
- *         if size > 8:
- *             # The native NumPy longdouble is used for 96 and 128-bit floats
- *             return dtype(order + "f" + str(np.longdouble(1).dtype.itemsize))             # <<<<<<<<<<<<<<
- * 
- *         return dtype( _order_map[self.get_order()] + "f" + \
- */
-  __pyx_k_tuple_12 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_12);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));
-
-  /* "h5py/h5t.pyx":929
- * 
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
- * 
- *         try:
- */
-  __pyx_k_tuple_14 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 929; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_14);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14));
-
-  /* "h5py/h5t.pyx":965
- *         """
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
- *         return H5Tget_member_class(self.id, member)
- * 
- */
-  __pyx_k_tuple_15 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 965; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_15);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_15));
-
-  /* "h5py/h5t.pyx":977
- *         """
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
- *         return H5Tget_member_offset(self.id, member)
- * 
- */
-  __pyx_k_tuple_16 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 977; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_16);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16));
-
-  /* "h5py/h5t.pyx":988
- *         """
- *         if member < 0:
- *             raise ValueError("Member index must be non-negative.")             # <<<<<<<<<<<<<<
- *         return typewrap(H5Tget_member_type(self.id, member))
- * 
- */
-  __pyx_k_tuple_17 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_13)); if (unlikely(!__pyx_k_tuple_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_17);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_17));
-
-  /* "h5py/h5t.pyx":1043
- *         else:
- *             if sys.version[0] == '3':
- *                 field_names = [x.decode('utf8') for x in field_names]             # <<<<<<<<<<<<<<
- *             typeobj = dtype(list(zip(field_names, field_types)))
- * 
- */
-  __pyx_k_tuple_18 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__utf8)); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1043; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_18);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18));
-
-  /* "h5py/h5t.pyx":1135
- * 
- *         if idx < 0:
- *             raise ValueError("Index must be non-negative.")             # <<<<<<<<<<<<<<
- * 
- *         H5Tget_member_value(self.id, idx, &val)
- */
-  __pyx_k_tuple_21 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_20)); if (unlikely(!__pyx_k_tuple_21)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1135; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_21);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_21));
-
-  /* "h5py/h5t.pyx":1158
- *         # Boolean types have priority over standard enums
- *         if members == ref:
- *             return dtype('bool')             # <<<<<<<<<<<<<<
- * 
- *         # Convert strings to appropriate representation
- */
-  __pyx_k_tuple_22 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__bool)); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_22);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22));
-
-  /* "h5py/h5t.pyx":1164
- *         for name, val in members.iteritems():
- *             try:    # ASCII; Py2 -> preserve bytes, Py3 -> make unicode
- *                 uname = name.decode('ascii')             # <<<<<<<<<<<<<<
- *                 if PY3:
- *                     name = uname
- */
-  __pyx_k_tuple_23 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__ascii)); if (unlikely(!__pyx_k_tuple_23)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_23);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_23));
-
-  /* "h5py/h5t.pyx":1169
- *             except UnicodeDecodeError:
- *                 try:    # Non-ascii; all platforms try unicode
- *                     name = name.decode('utf8')             # <<<<<<<<<<<<<<
- *                 except UnicodeDecodeError:
- *                     pass    # Last resort: return byte string
- */
-  __pyx_k_tuple_24 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__utf8)); if (unlikely(!__pyx_k_tuple_24)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_24);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_24));
-
-  /* "h5py/h5t.pyx":1277
- *             shape = (int(shape),)
- *         except TypeError:
- *             raise TypeError("Array shape for dtype must be a sequence or integer")             # <<<<<<<<<<<<<<
- *     type_base = py_create(base, logical=logical)
- *     return array_create(type_base, shape)
- */
-  __pyx_k_tuple_29 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_28)); if (unlikely(!__pyx_k_tuple_29)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1277; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_29);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_29));
-
-  /* "h5py/h5t.pyx":1349
- *     offset = 0
- *     for name in names:
- *         ename = name.encode('utf8') if isinstance(name, unicode) else name             # <<<<<<<<<<<<<<
- *         dt_tmp = dt.fields[name][0]
- *         type_tmp = py_create(dt_tmp, logical=logical)
- */
-  __pyx_k_tuple_31 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__utf8)); if (unlikely(!__pyx_k_tuple_31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1349; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_31);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_31));
-
-  /* "h5py/h5t.pyx":1377
- *     elif refclass is RegionReference:
- *         return STD_REF_DSETREG
- *     raise TypeError("Unrecognized reference code")             # <<<<<<<<<<<<<<
- * 
- * cpdef TypeID py_create(object dtype_in, bint logical=0):
- */
-  __pyx_k_tuple_33 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_32)); if (unlikely(!__pyx_k_tuple_33)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1377; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_33);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_33));
-
-  /* "h5py/h5t.pyx":1480
- * 
- *     if len(kwds) != 1:
- *         raise TypeError("Exactly one keyword may be provided")             # <<<<<<<<<<<<<<
- * 
- *     name, val = kwds.popitem()
- */
-  __pyx_k_tuple_37 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_36)); if (unlikely(!__pyx_k_tuple_37)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1480; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_37);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_37));
-
-  /* "h5py/h5t.pyx":1486
- *     if name == 'vlen':
- *         if val not in (bytes, unicode):
- *             raise NotImplementedError("Only byte or unicode string vlens are currently supported")             # <<<<<<<<<<<<<<
- * 
- *         return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))
- */
-  __pyx_k_tuple_39 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_38)); if (unlikely(!__pyx_k_tuple_39)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1486; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_39);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_39));
-
-  /* "h5py/h5t.pyx":1495
- *             dt, enum_vals = val
- *         except TypeError:
- *             raise TypeError("Enums must be created from a 2-tuple (basetype, values_dict)")             # <<<<<<<<<<<<<<
- * 
- *         dt = dtype(dt)
- */
-  __pyx_k_tuple_41 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_40)); if (unlikely(!__pyx_k_tuple_41)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1495; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_41);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_41));
-
-  /* "h5py/h5t.pyx":1499
- *         dt = dtype(dt)
- *         if dt.kind not in "iu":
- *             raise TypeError("Only integer types can be used as enums")             # <<<<<<<<<<<<<<
- * 
- *         return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))
- */
-  __pyx_k_tuple_43 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_42)); if (unlikely(!__pyx_k_tuple_43)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_43);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_43));
-
-  /* "h5py/h5t.pyx":1506
- * 
- *         if val not in (Reference, RegionReference):
- *             raise ValueError("Ref class must be Reference or RegionReference")             # <<<<<<<<<<<<<<
- * 
- *         return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))
- */
-  __pyx_k_tuple_45 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_44)); if (unlikely(!__pyx_k_tuple_45)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1506; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_45);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_45));
-
-  /* "h5py/h5t.pyx":1533
- * 
- *     if len(kwds) != 1:
- *         raise TypeError("Exactly one keyword may be provided")             # <<<<<<<<<<<<<<
- * 
- *     name, dt = kwds.popitem()
- */
-  __pyx_k_tuple_47 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_36)); if (unlikely(!__pyx_k_tuple_47)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1533; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_47);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_47));
-
-  /* "h5py/h5t.pyx":202
- * # Mini floats
- * IEEE_F16BE = IEEE_F32BE.copy()
- * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)             # <<<<<<<<<<<<<<
- * IEEE_F16BE.set_size(2)
- * IEEE_F16BE.set_ebias(15)
- */
-  __pyx_k_tuple_50 = PyTuple_Pack(5, __pyx_int_15, __pyx_int_10, __pyx_int_5, __pyx_int_0, __pyx_int_10); if (unlikely(!__pyx_k_tuple_50)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_50);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_50));
-
-  /* "h5py/h5t.pyx":203
- * IEEE_F16BE = IEEE_F32BE.copy()
- * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
- * IEEE_F16BE.set_size(2)             # <<<<<<<<<<<<<<
- * IEEE_F16BE.set_ebias(15)
- * IEEE_F16BE.lock()
- */
-  __pyx_k_tuple_51 = PyTuple_Pack(1, __pyx_int_2); if (unlikely(!__pyx_k_tuple_51)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_51);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_51));
-
-  /* "h5py/h5t.pyx":204
- * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
- * IEEE_F16BE.set_size(2)
- * IEEE_F16BE.set_ebias(15)             # <<<<<<<<<<<<<<
- * IEEE_F16BE.lock()
- * 
- */
-  __pyx_k_tuple_52 = PyTuple_Pack(1, __pyx_int_15); if (unlikely(!__pyx_k_tuple_52)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_52);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_52));
-
-  /* "h5py/h5t.pyx":219
- * 
- * 
- * def create(int classtype, size_t size):             # <<<<<<<<<<<<<<
- *     """(INT classtype, UINT size) => TypeID
- * 
- */
-  __pyx_k_tuple_56 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__classtype), ((PyObject *)__pyx_n_s__size)); if (unlikely(!__pyx_k_tuple_56)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_56);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_56));
-  __pyx_k_codeobj_57 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_56, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__create, 219, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_57)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":233
- * 
- * 
- * def open(ObjectID group not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID group, STRING name) => TypeID
- * 
- */
-  __pyx_k_tuple_60 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__group), ((PyObject *)__pyx_n_s__name)); if (unlikely(!__pyx_k_tuple_60)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_60);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_60));
-  __pyx_k_codeobj_61 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_60, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__open, 233, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_61)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":241
- * 
- * 
- * def array_create(TypeID base not None, object dims_tpl):             # <<<<<<<<<<<<<<
- *     """(TypeID base, TUPLE dimensions) => TypeArrayID
- * 
- */
-  __pyx_k_tuple_62 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__base), ((PyObject *)__pyx_n_s__dims_tpl), ((PyObject *)__pyx_n_s__rank), ((PyObject *)__pyx_n_s__dims)); if (unlikely(!__pyx_k_tuple_62)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_62);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_62));
-  __pyx_k_codeobj_63 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__array_create, 241, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_63)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":262
- * 
- * 
- * def enum_create(TypeID base not None):             # <<<<<<<<<<<<<<
- *     """(TypeID base) => TypeID
- * 
- */
-  __pyx_k_tuple_64 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__base)); if (unlikely(!__pyx_k_tuple_64)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_64);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_64));
-  __pyx_k_codeobj_65 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__enum_create, 262, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_65)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":270
- * 
- * 
- * def vlen_create(TypeID base not None):             # <<<<<<<<<<<<<<
- *     """(TypeID base) => TypeID
- * 
- */
-  __pyx_k_tuple_66 = PyTuple_Pack(1, ((PyObject *)__pyx_n_s__base)); if (unlikely(!__pyx_k_tuple_66)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_66);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_66));
-  __pyx_k_codeobj_67 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_66, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__vlen_create, 270, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_67)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":281
- * 
- * 
- * def decode(char* buf):             # <<<<<<<<<<<<<<
- *     """(STRING buf) => TypeID
- * 
- */
-  __pyx_k_tuple_68 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__buf), ((PyObject *)__pyx_n_s__buf)); if (unlikely(!__pyx_k_tuple_68)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_68);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_68));
-  __pyx_k_codeobj_69 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_68, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__decode, 281, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_69)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1459
- *         raise TypeError("No conversion path for dtype: %s" % repr(dt))
- * 
- * def special_dtype(**kwds):             # <<<<<<<<<<<<<<
- *     """ Create a new h5py "special" type.  Only one keyword may be given.
- * 
- */
-  __pyx_k_tuple_70 = PyTuple_Pack(6, ((PyObject *)__pyx_n_s__kwds), ((PyObject *)__pyx_n_s__kwds), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__val), ((PyObject *)__pyx_n_s__dt), ((PyObject *)__pyx_n_s__enum_vals)); if (unlikely(!__pyx_k_tuple_70)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_70);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_70));
-  __pyx_k_codeobj_71 = (PyObject*)__Pyx_PyCode_New(0, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_70, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__special_dtype, 1459, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_71)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1512
- *     raise TypeError('Unknown special type "%s"' % name)
- * 
- * def check_dtype(**kwds):             # <<<<<<<<<<<<<<
- *     """ Check a dtype for h5py special type "hint" information.  Only one
- *     keyword may be given.
- */
-  __pyx_k_tuple_72 = PyTuple_Pack(7, ((PyObject *)__pyx_n_s__kwds), ((PyObject *)__pyx_n_s__kwds), ((PyObject *)__pyx_n_s__name), ((PyObject *)__pyx_n_s__dt), ((PyObject *)__pyx_n_s__hintkey), ((PyObject *)__pyx_n_s__tpl), ((PyObject *)__pyx_n_s__hint_dict)); if (unlikely(!__pyx_k_tuple_72)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_72);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_72));
-  __pyx_k_codeobj_73 = (PyObject*)__Pyx_PyCode_New(0, 0, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_72, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__check_dtype, 1512, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_73)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1551
- *     return None
- * 
- * def convert(TypeID src not None, TypeID dst not None, size_t n,             # <<<<<<<<<<<<<<
- *             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):
- *     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
- */
-  __pyx_k_tuple_74 = PyTuple_Pack(8, ((PyObject *)__pyx_n_s__src), ((PyObject *)__pyx_n_s__dst), ((PyObject *)__pyx_n_s__n), ((PyObject *)__pyx_n_s__buf), ((PyObject *)__pyx_n_s__bkg), ((PyObject *)__pyx_n_s__dxpl), ((PyObject *)__pyx_n_s__bkg_), ((PyObject *)__pyx_n_s__buf_)); if (unlikely(!__pyx_k_tuple_74)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_74);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_74));
-  __pyx_k_codeobj_75 = (PyObject*)__Pyx_PyCode_New(6, 0, 8, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_74, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__convert, 1551, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_75)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5t.pyx":1572
- *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
- * 
- * def find(TypeID src not None, TypeID dst not None):             # <<<<<<<<<<<<<<
- *     """ (TypeID src, TypeID dst) => TUPLE or None
- * 
- */
-  __pyx_k_tuple_76 = PyTuple_Pack(4, ((PyObject *)__pyx_n_s__src), ((PyObject *)__pyx_n_s__dst), ((PyObject *)__pyx_n_s__data), ((PyObject *)__pyx_n_s__result)); if (unlikely(!__pyx_k_tuple_76)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_76);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_76));
-  __pyx_k_codeobj_77 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_76, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_58, __pyx_n_s__find, 1572, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_77)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_3 = PyInt_FromLong(3); if (unlikely(!__pyx_int_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_8 = PyInt_FromLong(8); if (unlikely(!__pyx_int_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_10 = PyInt_FromLong(10); if (unlikely(!__pyx_int_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5t(void); /*proto*/
-PyMODINIT_FUNC inith5t(void)
-#else
-PyMODINIT_FUNC PyInit_h5t(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5t(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  int __pyx_t_6;
-  hid_t __pyx_t_7;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5t(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5t"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_49), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5t")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5t", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5t) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  __pyx_v_4h5py_3h5t__order_map = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__sign_map = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__float_le = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__float_be = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__float_nt = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__int_le = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__int_be = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__int_nt = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__uint_le = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__uint_be = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  __pyx_v_4h5py_3h5t__uint_nt = ((PyObject*)Py_None); Py_INCREF(Py_None);
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("typewrap", (void (*)(void))__pyx_f_4h5py_3h5t_typewrap, "struct __pyx_obj_4h5py_3h5t_TypeID *(hid_t, int __pyx_skip_dispatch)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("py_create", (void (*)(void))__pyx_f_4h5py_3h5t_py_create, "struct __pyx_obj_4h5py_3h5t_TypeID *(PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_3h5t_py_create *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  __pyx_ptype_4h5py_8_objects_ObjectID = __Pyx_ImportType("h5py._objects", "ObjectID", sizeof(struct __pyx_obj_4h5py_8_objects_ObjectID), 1); if (unlikely(!__pyx_ptype_4h5py_8_objects_ObjectID)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_vtabptr_4h5py_3h5t_TypeID = &__pyx_vtable_4h5py_3h5t_TypeID;
-  __pyx_vtable_4h5py_3h5t_TypeID.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_6TypeID_py_dtype;
-  __pyx_type_4h5py_3h5t_TypeID.tp_base = __pyx_ptype_4h5py_8_objects_ObjectID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 291; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeID, __pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeID = &__pyx_type_4h5py_3h5t_TypeID;
-  __pyx_vtabptr_4h5py_3h5t_TypeArrayID = &__pyx_vtable_4h5py_3h5t_TypeArrayID;
-  __pyx_vtable_4h5py_3h5t_TypeArrayID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_vtable_4h5py_3h5t_TypeArrayID.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_11TypeArrayID_py_dtype;
-  __pyx_type_4h5py_3h5t_TypeArrayID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeArrayID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeArrayID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeArrayID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeArrayID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeArrayID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeArrayID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeArrayID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeArrayID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeArrayID = &__pyx_type_4h5py_3h5t_TypeArrayID;
-  __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID = &__pyx_vtable_4h5py_3h5t_TypeOpaqueID;
-  __pyx_vtable_4h5py_3h5t_TypeOpaqueID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_vtable_4h5py_3h5t_TypeOpaqueID.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_12TypeOpaqueID_py_dtype;
-  __pyx_type_4h5py_3h5t_TypeOpaqueID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeOpaqueID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeOpaqueID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeOpaqueID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeOpaqueID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeOpaqueID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 511; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeOpaqueID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeOpaqueID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeOpaqueID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeOpaqueID = &__pyx_type_4h5py_3h5t_TypeOpaqueID;
-  __pyx_vtabptr_4h5py_3h5t_TypeStringID = &__pyx_vtable_4h5py_3h5t_TypeStringID;
-  __pyx_vtable_4h5py_3h5t_TypeStringID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_vtable_4h5py_3h5t_TypeStringID.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_12TypeStringID_py_dtype;
-  __pyx_type_4h5py_3h5t_TypeStringID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeStringID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeStringID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeStringID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeStringID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeStringID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 546; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeStringID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeStringID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeStringID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeStringID = &__pyx_type_4h5py_3h5t_TypeStringID;
-  __pyx_vtabptr_4h5py_3h5t_TypeVlenID = &__pyx_vtable_4h5py_3h5t_TypeVlenID;
-  __pyx_vtable_4h5py_3h5t_TypeVlenID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_type_4h5py_3h5t_TypeVlenID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeVlenID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeVlenID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeVlenID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeVlenID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeVlenID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 622; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeVlenID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeVlenID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeVlenID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeVlenID = &__pyx_type_4h5py_3h5t_TypeVlenID;
-  __pyx_vtabptr_4h5py_3h5t_TypeTimeID = &__pyx_vtable_4h5py_3h5t_TypeTimeID;
-  __pyx_vtable_4h5py_3h5t_TypeTimeID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_type_4h5py_3h5t_TypeTimeID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeTimeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeTimeID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeTimeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeTimeID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeTimeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 629; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeTimeID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeTimeID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeTimeID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeTimeID = &__pyx_type_4h5py_3h5t_TypeTimeID;
-  __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID = &__pyx_vtable_4h5py_3h5t_TypeBitfieldID;
-  __pyx_vtable_4h5py_3h5t_TypeBitfieldID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_type_4h5py_3h5t_TypeBitfieldID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeBitfieldID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeBitfieldID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeBitfieldID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeBitfieldID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeBitfieldID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 636; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeBitfieldID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeBitfieldID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeBitfieldID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeBitfieldID = &__pyx_type_4h5py_3h5t_TypeBitfieldID;
-  __pyx_vtabptr_4h5py_3h5t_TypeReferenceID = &__pyx_vtable_4h5py_3h5t_TypeReferenceID;
-  __pyx_vtable_4h5py_3h5t_TypeReferenceID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_vtable_4h5py_3h5t_TypeReferenceID.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_15TypeReferenceID_py_dtype;
-  __pyx_type_4h5py_3h5t_TypeReferenceID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeReferenceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeReferenceID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeReferenceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeReferenceID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeReferenceID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 643; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeReferenceID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeReferenceID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeReferenceID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeReferenceID = &__pyx_type_4h5py_3h5t_TypeReferenceID;
-  __pyx_vtabptr_4h5py_3h5t_TypeAtomicID = &__pyx_vtable_4h5py_3h5t_TypeAtomicID;
-  __pyx_vtable_4h5py_3h5t_TypeAtomicID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_type_4h5py_3h5t_TypeAtomicID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeAtomicID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeAtomicID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeAtomicID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeAtomicID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeAtomicID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeAtomicID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeAtomicID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeAtomicID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeAtomicID = &__pyx_type_4h5py_3h5t_TypeAtomicID;
-  __pyx_vtabptr_4h5py_3h5t_TypeIntegerID = &__pyx_vtable_4h5py_3h5t_TypeIntegerID;
-  __pyx_vtable_4h5py_3h5t_TypeIntegerID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
-  __pyx_vtable_4h5py_3h5t_TypeIntegerID.__pyx_base.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_13TypeIntegerID_py_dtype;
-  __pyx_type_4h5py_3h5t_TypeIntegerID.tp_base = __pyx_ptype_4h5py_3h5t_TypeAtomicID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeIntegerID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeIntegerID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeIntegerID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeIntegerID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeIntegerID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeIntegerID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeIntegerID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeIntegerID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeIntegerID = &__pyx_type_4h5py_3h5t_TypeIntegerID;
-  __pyx_vtabptr_4h5py_3h5t_TypeFloatID = &__pyx_vtable_4h5py_3h5t_TypeFloatID;
-  __pyx_vtable_4h5py_3h5t_TypeFloatID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeAtomicID;
-  __pyx_vtable_4h5py_3h5t_TypeFloatID.__pyx_base.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_11TypeFloatID_py_dtype;
-  __pyx_type_4h5py_3h5t_TypeFloatID.tp_base = __pyx_ptype_4h5py_3h5t_TypeAtomicID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeFloatID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeFloatID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeFloatID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeFloatID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeFloatID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeFloatID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeFloatID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeFloatID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeFloatID = &__pyx_type_4h5py_3h5t_TypeFloatID;
-  __pyx_vtabptr_4h5py_3h5t_TypeCompositeID = &__pyx_vtable_4h5py_3h5t_TypeCompositeID;
-  __pyx_vtable_4h5py_3h5t_TypeCompositeID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeID;
-  __pyx_type_4h5py_3h5t_TypeCompositeID.tp_base = __pyx_ptype_4h5py_3h5t_TypeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeCompositeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeCompositeID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeCompositeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeCompositeID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeCompositeID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeCompositeID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeCompositeID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeCompositeID, __pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeCompositeID = &__pyx_type_4h5py_3h5t_TypeCompositeID;
-  __pyx_vtabptr_4h5py_3h5t_TypeEnumID = &__pyx_vtable_4h5py_3h5t_TypeEnumID;
-  __pyx_vtable_4h5py_3h5t_TypeEnumID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
-  __pyx_vtable_4h5py_3h5t_TypeEnumID.__pyx_base.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_10TypeEnumID_py_dtype;
-  __pyx_vtable_4h5py_3h5t_TypeEnumID.enum_convert = (int (*)(struct __pyx_obj_4h5py_3h5t_TypeEnumID *, PY_LONG_LONG *, int))__pyx_f_4h5py_3h5t_10TypeEnumID_enum_convert;
-  __pyx_type_4h5py_3h5t_TypeEnumID.tp_base = __pyx_ptype_4h5py_3h5t_TypeCompositeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeEnumID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeEnumID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeEnumID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeEnumID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeEnumID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1048; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeEnumID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeEnumID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeEnumID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeEnumID = &__pyx_type_4h5py_3h5t_TypeEnumID;
-  __pyx_vtabptr_4h5py_3h5t_TypeCompoundID = &__pyx_vtable_4h5py_3h5t_TypeCompoundID;
-  __pyx_vtable_4h5py_3h5t_TypeCompoundID.__pyx_base = *__pyx_vtabptr_4h5py_3h5t_TypeCompositeID;
-  __pyx_vtable_4h5py_3h5t_TypeCompoundID.__pyx_base.__pyx_base.py_dtype = (PyObject *(*)(struct __pyx_obj_4h5py_3h5t_TypeID *))__pyx_f_4h5py_3h5t_14TypeCompoundID_py_dtype;
-  __pyx_type_4h5py_3h5t_TypeCompoundID.tp_base = __pyx_ptype_4h5py_3h5t_TypeCompositeID;
-  if (PyType_Ready(&__pyx_type_4h5py_3h5t_TypeCompoundID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetVtable(__pyx_type_4h5py_3h5t_TypeCompoundID.tp_dict, __pyx_vtabptr_4h5py_3h5t_TypeCompoundID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_SetAttrString(__pyx_m, "TypeCompoundID", (PyObject *)&__pyx_type_4h5py_3h5t_TypeCompoundID) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 950; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_type_4h5py_3h5t_TypeCompoundID.tp_weaklistoffset == 0) __pyx_type_4h5py_3h5t_TypeCompoundID.tp_weaklistoffset = offsetof(struct __pyx_obj_4h5py_3h5t_TypeCompoundID, __pyx_base.__pyx_base.__pyx_base.__weakref__);
-  __pyx_ptype_4h5py_3h5t_TypeCompoundID = &__pyx_type_4h5py_3h5t_TypeCompoundID;
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5r_Reference = __Pyx_ImportType("h5py.h5r", "Reference", sizeof(struct __pyx_obj_4h5py_3h5r_Reference), 1); if (unlikely(!__pyx_ptype_4h5py_3h5r_Reference)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_3h5r_RegionReference = __Pyx_ImportType("h5py.h5r", "RegionReference", sizeof(struct __pyx_obj_4h5py_3h5r_RegionReference), 1); if (unlikely(!__pyx_ptype_4h5py_3h5r_RegionReference)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcreate", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcreate, "hid_t (enum H5T_class_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Topen", (void (**)(void))&__pyx_f_4h5py_4defs_H5Topen, "hid_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommitted", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommitted, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcopy", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcopy, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tequal", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tequal, "htri_t (hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tlock", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tlock, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_class, "enum H5T_class_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_size, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_super", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_super, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdetect_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdetect_class, "htri_t (hid_t, enum H5T_class_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tclose", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tclose, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tconvert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tconvert, "herr_t (hid_t, hid_t, size_t, void *, void *, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_size", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_size, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_order, "H5T_order_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_order", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_order, "herr_t (hid_t, H5T_order_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_precision, "hsize_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_precision", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_precision, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_offset, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_offset, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_pad, "herr_t (hid_t, H5T_pad_t *, H5T_pad_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_pad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_pad, "herr_t (hid_t, H5T_pad_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_sign, "H5T_sign_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_sign", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_sign, "herr_t (hid_t, H5T_sign_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_fields, "herr_t (hid_t, size_t *, size_t *, size_t *, size_t *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_fields", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_fields, "herr_t (hid_t, size_t, size_t, size_t, size_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_ebias, "size_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_ebias", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_ebias, "herr_t (hid_t, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_norm, "H5T_norm_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_norm", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_norm, "herr_t (hid_t, H5T_norm_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_inpad, "H5T_pad_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_inpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_inpad, "herr_t (hid_t, H5T_pad_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_cset, "H5T_cset_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_cset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_cset, "herr_t (hid_t, H5T_cset_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_strpad, "H5T_str_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_strpad", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_strpad, "herr_t (hid_t, H5T_str_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tvlen_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tvlen_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tis_variable_str", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tis_variable_str, "htri_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_nmembers", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_nmembers, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_class", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_class, "enum H5T_class_t (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_name", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_name, "char *(hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_type", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_type, "hid_t (hid_t, unsigned int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_offset", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_offset, "int (hid_t, int)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_index", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_index, "int (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tinsert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tinsert, "herr_t (hid_t, char *, size_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tpack", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tpack, "herr_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_create, "hid_t (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_insert", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_insert, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_nameof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_nameof, "herr_t (hid_t, void *, char *, size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tenum_valueof", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tenum_valueof, "herr_t (hid_t, char *, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_member_value", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_member_value, "herr_t (hid_t, unsigned int, void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tarray_create", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tarray_create, "hid_t (hid_t, int, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_array_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_array_dims, "int (hid_t, hsize_t *, int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tset_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tset_tag, "herr_t (hid_t, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tget_tag", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tget_tag, "char *(hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tdecode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tdecode, "hid_t (unsigned char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tencode", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tencode, "herr_t (hid_t, unsigned char *, size_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tcommit2", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tcommit2, "herr_t (hid_t, char *, hid_t, hid_t, hid_t, hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Tfind", (void (**)(void))&__pyx_f_4h5py_4defs_H5Tfind, "H5T_conv_t (hid_t, hid_t, H5T_cdata_t **)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_2 = __Pyx_ImportModule("h5py._objects"); if (!__pyx_t_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_2, "pdefault", (void (**)(void))&__pyx_f_4h5py_8_objects_pdefault, "hid_t (struct __pyx_obj_4h5py_8_objects_ObjectID *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_3 = __Pyx_ImportModule("h5py.utils"); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "emalloc", (void (**)(void))&__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "efree", (void (**)(void))&__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "convert_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "convert_dims", (void (**)(void))&__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_3, "require_tuple", (void (**)(void))&__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5t.pyx":26
- * from utils cimport  emalloc, efree, \
- *                     require_tuple, convert_dims, convert_tuple
- * from h5py import _conv             # <<<<<<<<<<<<<<
- * 
- * # Runtime imports
- */
-  __pyx_t_4 = PyList_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s___conv));
-  PyList_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_n_s___conv));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s___conv));
-  __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__h5py), ((PyObject *)__pyx_t_4), -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s___conv);
-  if (__pyx_t_4 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s___conv);
-    if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___conv, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5t.pyx":29
- * 
- * # Runtime imports
- * import sys             # <<<<<<<<<<<<<<
- * from h5 import get_config
- * import numpy as np
- */
-  __pyx_t_5 = __Pyx_Import(((PyObject *)__pyx_n_s__sys), 0, -1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__sys, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 29; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5t.pyx":30
- * # Runtime imports
- * import sys
- * from h5 import get_config             # <<<<<<<<<<<<<<
- * import numpy as np
- * 
- */
-  __pyx_t_5 = PyList_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_INCREF(((PyObject *)__pyx_n_s__get_config));
-  PyList_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_n_s__get_config));
-  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__get_config));
-  __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__h5), ((PyObject *)__pyx_t_5), -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__get_config);
-  if (__pyx_t_5 == NULL) {
-    if (PyErr_ExceptionMatches(PyExc_AttributeError)) __Pyx_RaiseImportError(__pyx_n_s__get_config);
-    if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_config, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":31
- * import sys
- * from h5 import get_config
- * import numpy as np             # <<<<<<<<<<<<<<
- * 
- * cfg = get_config()
- */
-  __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0, -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__np, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":33
- * import numpy as np
- * 
- * cfg = get_config()             # <<<<<<<<<<<<<<
- * 
- * PY3 = sys.version_info[0] == 3
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__get_config); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__cfg, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-  /* "h5py/h5t.pyx":35
- * cfg = get_config()
- * 
- * PY3 = sys.version_info[0] == 3             # <<<<<<<<<<<<<<
- * 
- * # === Custom C API ============================================================
- */
-  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__version_info); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, __pyx_int_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PY3, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":81
- * 
- * # Enumeration H5T_class_t
- * NO_CLASS  = H5T_NO_CLASS             # <<<<<<<<<<<<<<
- * INTEGER   = H5T_INTEGER
- * FLOAT     = H5T_FLOAT
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_NO_CLASS); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NO_CLASS, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":82
- * # Enumeration H5T_class_t
- * NO_CLASS  = H5T_NO_CLASS
- * INTEGER   = H5T_INTEGER             # <<<<<<<<<<<<<<
- * FLOAT     = H5T_FLOAT
- * TIME      = H5T_TIME
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_INTEGER); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__INTEGER, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":83
- * NO_CLASS  = H5T_NO_CLASS
- * INTEGER   = H5T_INTEGER
- * FLOAT     = H5T_FLOAT             # <<<<<<<<<<<<<<
- * TIME      = H5T_TIME
- * STRING    = H5T_STRING
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLOAT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":84
- * INTEGER   = H5T_INTEGER
- * FLOAT     = H5T_FLOAT
- * TIME      = H5T_TIME             # <<<<<<<<<<<<<<
- * STRING    = H5T_STRING
- * BITFIELD  = H5T_BITFIELD
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_TIME); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__TIME, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":85
- * FLOAT     = H5T_FLOAT
- * TIME      = H5T_TIME
- * STRING    = H5T_STRING             # <<<<<<<<<<<<<<
- * BITFIELD  = H5T_BITFIELD
- * OPAQUE    = H5T_OPAQUE
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_STRING); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STRING, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":86
- * TIME      = H5T_TIME
- * STRING    = H5T_STRING
- * BITFIELD  = H5T_BITFIELD             # <<<<<<<<<<<<<<
- * OPAQUE    = H5T_OPAQUE
- * COMPOUND  = H5T_COMPOUND
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_BITFIELD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BITFIELD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":87
- * STRING    = H5T_STRING
- * BITFIELD  = H5T_BITFIELD
- * OPAQUE    = H5T_OPAQUE             # <<<<<<<<<<<<<<
- * COMPOUND  = H5T_COMPOUND
- * REFERENCE = H5T_REFERENCE
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_OPAQUE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__OPAQUE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":88
- * BITFIELD  = H5T_BITFIELD
- * OPAQUE    = H5T_OPAQUE
- * COMPOUND  = H5T_COMPOUND             # <<<<<<<<<<<<<<
- * REFERENCE = H5T_REFERENCE
- * ENUM      = H5T_ENUM
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_COMPOUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__COMPOUND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":89
- * OPAQUE    = H5T_OPAQUE
- * COMPOUND  = H5T_COMPOUND
- * REFERENCE = H5T_REFERENCE             # <<<<<<<<<<<<<<
- * ENUM      = H5T_ENUM
- * VLEN      = H5T_VLEN
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_REFERENCE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__REFERENCE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":90
- * COMPOUND  = H5T_COMPOUND
- * REFERENCE = H5T_REFERENCE
- * ENUM      = H5T_ENUM             # <<<<<<<<<<<<<<
- * VLEN      = H5T_VLEN
- * ARRAY     = H5T_ARRAY
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_ENUM); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ENUM, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":91
- * REFERENCE = H5T_REFERENCE
- * ENUM      = H5T_ENUM
- * VLEN      = H5T_VLEN             # <<<<<<<<<<<<<<
- * ARRAY     = H5T_ARRAY
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_VLEN); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__VLEN, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":92
- * ENUM      = H5T_ENUM
- * VLEN      = H5T_VLEN
- * ARRAY     = H5T_ARRAY             # <<<<<<<<<<<<<<
- * 
- * # Enumeration H5T_sign_t
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_ARRAY); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ARRAY, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":95
- * 
- * # Enumeration H5T_sign_t
- * SGN_NONE   = H5T_SGN_NONE             # <<<<<<<<<<<<<<
- * SGN_2      = H5T_SGN_2
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_SGN_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SGN_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":96
- * # Enumeration H5T_sign_t
- * SGN_NONE   = H5T_SGN_NONE
- * SGN_2      = H5T_SGN_2             # <<<<<<<<<<<<<<
- * 
- * # Enumeration H5T_order_t
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_SGN_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SGN_2, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":99
- * 
- * # Enumeration H5T_order_t
- * ORDER_LE    = H5T_ORDER_LE             # <<<<<<<<<<<<<<
- * ORDER_BE    = H5T_ORDER_BE
- * ORDER_VAX   = H5T_ORDER_VAX
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":100
- * # Enumeration H5T_order_t
- * ORDER_LE    = H5T_ORDER_LE
- * ORDER_BE    = H5T_ORDER_BE             # <<<<<<<<<<<<<<
- * ORDER_VAX   = H5T_ORDER_VAX
- * ORDER_NONE  = H5T_ORDER_NONE
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":101
- * ORDER_LE    = H5T_ORDER_LE
- * ORDER_BE    = H5T_ORDER_BE
- * ORDER_VAX   = H5T_ORDER_VAX             # <<<<<<<<<<<<<<
- * ORDER_NONE  = H5T_ORDER_NONE
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_VAX); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_VAX, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":102
- * ORDER_BE    = H5T_ORDER_BE
- * ORDER_VAX   = H5T_ORDER_VAX
- * ORDER_NONE  = H5T_ORDER_NONE             # <<<<<<<<<<<<<<
- * 
- * DIR_DEFAULT = H5T_DIR_DEFAULT
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":104
- * ORDER_NONE  = H5T_ORDER_NONE
- * 
- * DIR_DEFAULT = H5T_DIR_DEFAULT             # <<<<<<<<<<<<<<
- * DIR_ASCEND  = H5T_DIR_ASCEND
- * DIR_DESCEND = H5T_DIR_DESCEND
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_DIR_DEFAULT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_DEFAULT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 104; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":105
- * 
- * DIR_DEFAULT = H5T_DIR_DEFAULT
- * DIR_ASCEND  = H5T_DIR_ASCEND             # <<<<<<<<<<<<<<
- * DIR_DESCEND = H5T_DIR_DESCEND
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_DIR_ASCEND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_ASCEND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":106
- * DIR_DEFAULT = H5T_DIR_DEFAULT
- * DIR_ASCEND  = H5T_DIR_ASCEND
- * DIR_DESCEND = H5T_DIR_DESCEND             # <<<<<<<<<<<<<<
- * 
- * # Enumeration H5T_str_t
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_DIR_DESCEND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DIR_DESCEND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":109
- * 
- * # Enumeration H5T_str_t
- * STR_NULLTERM = H5T_STR_NULLTERM             # <<<<<<<<<<<<<<
- * STR_NULLPAD  = H5T_STR_NULLPAD
- * STR_SPACEPAD = H5T_STR_SPACEPAD
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_STR_NULLTERM); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_NULLTERM, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":110
- * # Enumeration H5T_str_t
- * STR_NULLTERM = H5T_STR_NULLTERM
- * STR_NULLPAD  = H5T_STR_NULLPAD             # <<<<<<<<<<<<<<
- * STR_SPACEPAD = H5T_STR_SPACEPAD
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_STR_NULLPAD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_NULLPAD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":111
- * STR_NULLTERM = H5T_STR_NULLTERM
- * STR_NULLPAD  = H5T_STR_NULLPAD
- * STR_SPACEPAD = H5T_STR_SPACEPAD             # <<<<<<<<<<<<<<
- * 
- * # Enumeration H5T_norm_t
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_STR_SPACEPAD); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STR_SPACEPAD, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":114
- * 
- * # Enumeration H5T_norm_t
- * NORM_IMPLIED = H5T_NORM_IMPLIED             # <<<<<<<<<<<<<<
- * NORM_MSBSET = H5T_NORM_MSBSET
- * NORM_NONE = H5T_NORM_NONE
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_NORM_IMPLIED); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_IMPLIED, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":115
- * # Enumeration H5T_norm_t
- * NORM_IMPLIED = H5T_NORM_IMPLIED
- * NORM_MSBSET = H5T_NORM_MSBSET             # <<<<<<<<<<<<<<
- * NORM_NONE = H5T_NORM_NONE
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_NORM_MSBSET); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_MSBSET, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":116
- * NORM_IMPLIED = H5T_NORM_IMPLIED
- * NORM_MSBSET = H5T_NORM_MSBSET
- * NORM_NONE = H5T_NORM_NONE             # <<<<<<<<<<<<<<
- * 
- * # Enumeration H5T_cset_t:
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_NORM_NONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NORM_NONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":119
- * 
- * # Enumeration H5T_cset_t:
- * CSET_ASCII = H5T_CSET_ASCII             # <<<<<<<<<<<<<<
- * 
- * # Enumeration H5T_pad_t:
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_ASCII, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":122
- * 
- * # Enumeration H5T_pad_t:
- * PAD_ZERO = H5T_PAD_ZERO             # <<<<<<<<<<<<<<
- * PAD_ONE = H5T_PAD_ONE
- * PAD_BACKGROUND = H5T_PAD_BACKGROUND
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_PAD_ZERO); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_ZERO, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":123
- * # Enumeration H5T_pad_t:
- * PAD_ZERO = H5T_PAD_ZERO
- * PAD_ONE = H5T_PAD_ONE             # <<<<<<<<<<<<<<
- * PAD_BACKGROUND = H5T_PAD_BACKGROUND
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_PAD_ONE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_ONE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":124
- * PAD_ZERO = H5T_PAD_ZERO
- * PAD_ONE = H5T_PAD_ONE
- * PAD_BACKGROUND = H5T_PAD_BACKGROUND             # <<<<<<<<<<<<<<
- * 
- * if sys.byteorder == "little":    # Custom python addition
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_PAD_BACKGROUND); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PAD_BACKGROUND, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":126
- * PAD_BACKGROUND = H5T_PAD_BACKGROUND
- * 
- * if sys.byteorder == "little":    # Custom python addition             # <<<<<<<<<<<<<<
- *     ORDER_NATIVE = H5T_ORDER_LE
- * else:
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__sys); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__byteorder); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_RichCompare(__pyx_t_5, ((PyObject *)__pyx_n_s__little), Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  if (__pyx_t_6) {
-
-    /* "h5py/h5t.pyx":127
- * 
- * if sys.byteorder == "little":    # Custom python addition
- *     ORDER_NATIVE = H5T_ORDER_LE             # <<<<<<<<<<<<<<
- * else:
- *     ORDER_NATIVE = H5T_ORDER_BE
- */
-    __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NATIVE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 127; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    goto __pyx_L2;
-  }
-  /*else*/ {
-
-    /* "h5py/h5t.pyx":129
- *     ORDER_NATIVE = H5T_ORDER_LE
- * else:
- *     ORDER_NATIVE = H5T_ORDER_BE             # <<<<<<<<<<<<<<
- * 
- * # For conversion
- */
-    __pyx_t_4 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_4);
-    if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ORDER_NATIVE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 129; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  }
-  __pyx_L2:;
-
-  /* "h5py/h5t.pyx":132
- * 
- * # For conversion
- * BKG_NO = H5T_BKG_NO             # <<<<<<<<<<<<<<
- * BKG_TEMP = H5T_BKG_TEMP
- * BKG_YES = H5T_BKG_YES
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_BKG_NO); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_NO, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":133
- * # For conversion
- * BKG_NO = H5T_BKG_NO
- * BKG_TEMP = H5T_BKG_TEMP             # <<<<<<<<<<<<<<
- * BKG_YES = H5T_BKG_YES
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_BKG_TEMP); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_TEMP, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 133; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":134
- * BKG_NO = H5T_BKG_NO
- * BKG_TEMP = H5T_BKG_TEMP
- * BKG_YES = H5T_BKG_YES             # <<<<<<<<<<<<<<
- * 
- * # --- Built-in HDF5 datatypes -------------------------------------------------
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_BKG_YES); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__BKG_YES, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 134; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":139
- * 
- * # IEEE floating-point
- * IEEE_F32LE = lockid(H5T_IEEE_F32LE)             # <<<<<<<<<<<<<<
- * IEEE_F32BE = lockid(H5T_IEEE_F32BE)
- * IEEE_F64LE = lockid(H5T_IEEE_F64LE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 139; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":140
- * # IEEE floating-point
- * IEEE_F32LE = lockid(H5T_IEEE_F32LE)
- * IEEE_F32BE = lockid(H5T_IEEE_F32BE)             # <<<<<<<<<<<<<<
- * IEEE_F64LE = lockid(H5T_IEEE_F64LE)
- * IEEE_F64BE = lockid(H5T_IEEE_F64BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 140; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":141
- * IEEE_F32LE = lockid(H5T_IEEE_F32LE)
- * IEEE_F32BE = lockid(H5T_IEEE_F32BE)
- * IEEE_F64LE = lockid(H5T_IEEE_F64LE)             # <<<<<<<<<<<<<<
- * IEEE_F64BE = lockid(H5T_IEEE_F64BE)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":142
- * IEEE_F32BE = lockid(H5T_IEEE_F32BE)
- * IEEE_F64LE = lockid(H5T_IEEE_F64LE)
- * IEEE_F64BE = lockid(H5T_IEEE_F64BE)             # <<<<<<<<<<<<<<
- * 
- * # Signed 2's complement integer types
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_IEEE_F64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 142; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":145
- * 
- * # Signed 2's complement integer types
- * STD_I8LE  = lockid(H5T_STD_I8LE)             # <<<<<<<<<<<<<<
- * STD_I16LE = lockid(H5T_STD_I16LE)
- * STD_I32LE = lockid(H5T_STD_I32LE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I8LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I8LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 145; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":146
- * # Signed 2's complement integer types
- * STD_I8LE  = lockid(H5T_STD_I8LE)
- * STD_I16LE = lockid(H5T_STD_I16LE)             # <<<<<<<<<<<<<<
- * STD_I32LE = lockid(H5T_STD_I32LE)
- * STD_I64LE = lockid(H5T_STD_I64LE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I16LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":147
- * STD_I8LE  = lockid(H5T_STD_I8LE)
- * STD_I16LE = lockid(H5T_STD_I16LE)
- * STD_I32LE = lockid(H5T_STD_I32LE)             # <<<<<<<<<<<<<<
- * STD_I64LE = lockid(H5T_STD_I64LE)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":148
- * STD_I16LE = lockid(H5T_STD_I16LE)
- * STD_I32LE = lockid(H5T_STD_I32LE)
- * STD_I64LE = lockid(H5T_STD_I64LE)             # <<<<<<<<<<<<<<
- * 
- * STD_I8BE  = lockid(H5T_STD_I8BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 148; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":150
- * STD_I64LE = lockid(H5T_STD_I64LE)
- * 
- * STD_I8BE  = lockid(H5T_STD_I8BE)             # <<<<<<<<<<<<<<
- * STD_I16BE = lockid(H5T_STD_I16BE)
- * STD_I32BE = lockid(H5T_STD_I32BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I8BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I8BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 150; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":151
- * 
- * STD_I8BE  = lockid(H5T_STD_I8BE)
- * STD_I16BE = lockid(H5T_STD_I16BE)             # <<<<<<<<<<<<<<
- * STD_I32BE = lockid(H5T_STD_I32BE)
- * STD_I64BE = lockid(H5T_STD_I64BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I16BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":152
- * STD_I8BE  = lockid(H5T_STD_I8BE)
- * STD_I16BE = lockid(H5T_STD_I16BE)
- * STD_I32BE = lockid(H5T_STD_I32BE)             # <<<<<<<<<<<<<<
- * STD_I64BE = lockid(H5T_STD_I64BE)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 152; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":153
- * STD_I16BE = lockid(H5T_STD_I16BE)
- * STD_I32BE = lockid(H5T_STD_I32BE)
- * STD_I64BE = lockid(H5T_STD_I64BE)             # <<<<<<<<<<<<<<
- * 
- * # Unsigned integers
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_I64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_I64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":156
- * 
- * # Unsigned integers
- * STD_U8LE  = lockid(H5T_STD_U8LE)             # <<<<<<<<<<<<<<
- * STD_U16LE = lockid(H5T_STD_U16LE)
- * STD_U32LE = lockid(H5T_STD_U32LE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U8LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U8LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 156; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":157
- * # Unsigned integers
- * STD_U8LE  = lockid(H5T_STD_U8LE)
- * STD_U16LE = lockid(H5T_STD_U16LE)             # <<<<<<<<<<<<<<
- * STD_U32LE = lockid(H5T_STD_U32LE)
- * STD_U64LE = lockid(H5T_STD_U64LE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U16LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 157; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":158
- * STD_U8LE  = lockid(H5T_STD_U8LE)
- * STD_U16LE = lockid(H5T_STD_U16LE)
- * STD_U32LE = lockid(H5T_STD_U32LE)             # <<<<<<<<<<<<<<
- * STD_U64LE = lockid(H5T_STD_U64LE)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 158; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":159
- * STD_U16LE = lockid(H5T_STD_U16LE)
- * STD_U32LE = lockid(H5T_STD_U32LE)
- * STD_U64LE = lockid(H5T_STD_U64LE)             # <<<<<<<<<<<<<<
- * 
- * STD_U8BE  = lockid(H5T_STD_U8BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":161
- * STD_U64LE = lockid(H5T_STD_U64LE)
- * 
- * STD_U8BE  = lockid(H5T_STD_U8BE)             # <<<<<<<<<<<<<<
- * STD_U16BE = lockid(H5T_STD_U16BE)
- * STD_U32BE = lockid(H5T_STD_U32BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U8BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U8BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":162
- * 
- * STD_U8BE  = lockid(H5T_STD_U8BE)
- * STD_U16BE = lockid(H5T_STD_U16BE)             # <<<<<<<<<<<<<<
- * STD_U32BE = lockid(H5T_STD_U32BE)
- * STD_U64BE = lockid(H5T_STD_U64BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U16BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 162; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":163
- * STD_U8BE  = lockid(H5T_STD_U8BE)
- * STD_U16BE = lockid(H5T_STD_U16BE)
- * STD_U32BE = lockid(H5T_STD_U32BE)             # <<<<<<<<<<<<<<
- * STD_U64BE = lockid(H5T_STD_U64BE)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":164
- * STD_U16BE = lockid(H5T_STD_U16BE)
- * STD_U32BE = lockid(H5T_STD_U32BE)
- * STD_U64BE = lockid(H5T_STD_U64BE)             # <<<<<<<<<<<<<<
- * 
- * # Native types by bytesize
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_U64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_U64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":167
- * 
- * # Native types by bytesize
- * NATIVE_INT8 = lockid(H5T_NATIVE_INT8)             # <<<<<<<<<<<<<<
- * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8)
- * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 167; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":168
- * # Native types by bytesize
- * NATIVE_INT8 = lockid(H5T_NATIVE_INT8)
- * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8)             # <<<<<<<<<<<<<<
- * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)
- * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":169
- * NATIVE_INT8 = lockid(H5T_NATIVE_INT8)
- * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8)
- * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)             # <<<<<<<<<<<<<<
- * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)
- * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT16); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT16, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 169; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":170
- * NATIVE_UINT8 = lockid(H5T_NATIVE_UINT8)
- * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)
- * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)             # <<<<<<<<<<<<<<
- * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)
- * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT16); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT16, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 170; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":171
- * NATIVE_INT16 = lockid(H5T_NATIVE_INT16)
- * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)
- * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)             # <<<<<<<<<<<<<<
- * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)
- * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT32, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":172
- * NATIVE_UINT16 = lockid(H5T_NATIVE_UINT16)
- * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)
- * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)             # <<<<<<<<<<<<<<
- * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)
- * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT32); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT32, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":173
- * NATIVE_INT32 = lockid(H5T_NATIVE_INT32)
- * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)
- * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)             # <<<<<<<<<<<<<<
- * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)
- * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_INT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_INT64, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 173; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":174
- * NATIVE_UINT32 = lockid(H5T_NATIVE_UINT32)
- * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)
- * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)             # <<<<<<<<<<<<<<
- * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT)
- * NATIVE_DOUBLE = lockid(H5T_NATIVE_DOUBLE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_UINT64); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_UINT64, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":175
- * NATIVE_INT64 = lockid(H5T_NATIVE_INT64)
- * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)
- * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT)             # <<<<<<<<<<<<<<
- * NATIVE_DOUBLE = lockid(H5T_NATIVE_DOUBLE)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_FLOAT); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_FLOAT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":176
- * NATIVE_UINT64 = lockid(H5T_NATIVE_UINT64)
- * NATIVE_FLOAT = lockid(H5T_NATIVE_FLOAT)
- * NATIVE_DOUBLE = lockid(H5T_NATIVE_DOUBLE)             # <<<<<<<<<<<<<<
- * 
- * # Unix time types
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_NATIVE_DOUBLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NATIVE_DOUBLE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 176; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":179
- * 
- * # Unix time types
- * UNIX_D32LE = lockid(H5T_UNIX_D32LE)             # <<<<<<<<<<<<<<
- * UNIX_D64LE = lockid(H5T_UNIX_D64LE)
- * UNIX_D32BE = lockid(H5T_UNIX_D32BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D32LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D32LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":180
- * # Unix time types
- * UNIX_D32LE = lockid(H5T_UNIX_D32LE)
- * UNIX_D64LE = lockid(H5T_UNIX_D64LE)             # <<<<<<<<<<<<<<
- * UNIX_D32BE = lockid(H5T_UNIX_D32BE)
- * UNIX_D64BE = lockid(H5T_UNIX_D64BE)
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D64LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D64LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":181
- * UNIX_D32LE = lockid(H5T_UNIX_D32LE)
- * UNIX_D64LE = lockid(H5T_UNIX_D64LE)
- * UNIX_D32BE = lockid(H5T_UNIX_D32BE)             # <<<<<<<<<<<<<<
- * UNIX_D64BE = lockid(H5T_UNIX_D64BE)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D32BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 181; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":182
- * UNIX_D64LE = lockid(H5T_UNIX_D64LE)
- * UNIX_D32BE = lockid(H5T_UNIX_D32BE)
- * UNIX_D64BE = lockid(H5T_UNIX_D64BE)             # <<<<<<<<<<<<<<
- * 
- * # Reference types
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_UNIX_D64BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__UNIX_D64BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":185
- * 
- * # Reference types
- * STD_REF_OBJ = lockid(H5T_STD_REF_OBJ)             # <<<<<<<<<<<<<<
- * STD_REF_DSETREG = lockid(H5T_STD_REF_DSETREG)
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_REF_OBJ); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_REF_OBJ, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 185; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":186
- * # Reference types
- * STD_REF_OBJ = lockid(H5T_STD_REF_OBJ)
- * STD_REF_DSETREG = lockid(H5T_STD_REF_DSETREG)             # <<<<<<<<<<<<<<
- * 
- * # Null terminated (C) and Fortran string types
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_STD_REF_DSETREG); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__STD_REF_DSETREG, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":189
- * 
- * # Null terminated (C) and Fortran string types
- * C_S1 = lockid(H5T_C_S1)             # <<<<<<<<<<<<<<
- * FORTRAN_S1 = lockid(H5T_FORTRAN_S1)
- * VARIABLE = H5T_VARIABLE
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_C_S1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__C_S1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 189; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":190
- * # Null terminated (C) and Fortran string types
- * C_S1 = lockid(H5T_C_S1)
- * FORTRAN_S1 = lockid(H5T_FORTRAN_S1)             # <<<<<<<<<<<<<<
- * VARIABLE = H5T_VARIABLE
- * 
- */
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(H5T_FORTRAN_S1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FORTRAN_S1, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":191
- * C_S1 = lockid(H5T_C_S1)
- * FORTRAN_S1 = lockid(H5T_FORTRAN_S1)
- * VARIABLE = H5T_VARIABLE             # <<<<<<<<<<<<<<
- * 
- * # Character sets
- */
-  __pyx_t_4 = __Pyx_PyInt_FromSize_t(H5T_VARIABLE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__VARIABLE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":194
- * 
- * # Character sets
- * CSET_ASCII = H5T_CSET_ASCII             # <<<<<<<<<<<<<<
- * CSET_UTF8 = H5T_CSET_UTF8
- * 
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_CSET_ASCII); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_ASCII, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":195
- * # Character sets
- * CSET_ASCII = H5T_CSET_ASCII
- * CSET_UTF8 = H5T_CSET_UTF8             # <<<<<<<<<<<<<<
- * 
- * # Custom Python object pointer type
- */
-  __pyx_t_4 = PyInt_FromLong(H5T_CSET_UTF8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__CSET_UTF8, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 195; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":198
- * 
- * # Custom Python object pointer type
- * PYTHON_OBJECT = lockid(_conv.get_python_obj())             # <<<<<<<<<<<<<<
- * 
- * # Mini floats
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s___conv); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__get_python_obj); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_7 = __Pyx_PyInt_from_py_hid_t(__pyx_t_4); if (unlikely((__pyx_t_7 == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = __pyx_f_4h5py_3h5t_lockid(__pyx_t_7); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__PYTHON_OBJECT, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 198; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":201
- * 
- * # Mini floats
- * IEEE_F16BE = IEEE_F32BE.copy()             # <<<<<<<<<<<<<<
- * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
- * IEEE_F16BE.set_size(2)
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F32BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F16BE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":202
- * # Mini floats
- * IEEE_F16BE = IEEE_F32BE.copy()
- * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)             # <<<<<<<<<<<<<<
- * IEEE_F16BE.set_size(2)
- * IEEE_F16BE.set_ebias(15)
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__set_fields); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_50), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 202; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":203
- * IEEE_F16BE = IEEE_F32BE.copy()
- * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
- * IEEE_F16BE.set_size(2)             # <<<<<<<<<<<<<<
- * IEEE_F16BE.set_ebias(15)
- * IEEE_F16BE.lock()
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__set_size); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_51), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":204
- * IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
- * IEEE_F16BE.set_size(2)
- * IEEE_F16BE.set_ebias(15)             # <<<<<<<<<<<<<<
- * IEEE_F16BE.lock()
- * 
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__set_ebias); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_52), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 204; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":205
- * IEEE_F16BE.set_size(2)
- * IEEE_F16BE.set_ebias(15)
- * IEEE_F16BE.lock()             # <<<<<<<<<<<<<<
- * 
- * IEEE_F16LE = IEEE_F16BE.copy()
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__lock); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 205; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":207
- * IEEE_F16BE.lock()
- * 
- * IEEE_F16LE = IEEE_F16BE.copy()             # <<<<<<<<<<<<<<
- * IEEE_F16LE.set_order(H5T_ORDER_LE)
- * IEEE_F16LE.lock()
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__copy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__IEEE_F16LE, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 207; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":208
- * 
- * IEEE_F16LE = IEEE_F16BE.copy()
- * IEEE_F16LE.set_order(H5T_ORDER_LE)             # <<<<<<<<<<<<<<
- * IEEE_F16LE.lock()
- * 
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__set_order); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4);
-  __Pyx_GIVEREF(__pyx_t_4);
-  __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":209
- * IEEE_F16LE = IEEE_F16BE.copy()
- * IEEE_F16LE.set_order(H5T_ORDER_LE)
- * IEEE_F16LE.lock()             # <<<<<<<<<<<<<<
- * 
- * # Translation tables for HDF5 -> NumPy dtype conversion
- */
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16LE); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_8 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__lock); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  __pyx_t_4 = PyObject_Call(__pyx_t_8, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":212
- * 
- * # Translation tables for HDF5 -> NumPy dtype conversion
- * cdef dict _order_map = { H5T_ORDER_NONE: '|', H5T_ORDER_LE: '<', H5T_ORDER_BE: '>'}             # <<<<<<<<<<<<<<
- * cdef dict _sign_map  = { H5T_SGN_NONE: 'u', H5T_SGN_2: 'i' }
- * 
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_8 = PyInt_FromLong(H5T_ORDER_NONE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_kp_s_53)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __pyx_t_8 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_kp_s_54)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __pyx_t_8 = PyInt_FromLong(H5T_ORDER_BE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_kp_s_55)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 212; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__order_map));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__order_map));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__order_map = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":213
- * # Translation tables for HDF5 -> NumPy dtype conversion
- * cdef dict _order_map = { H5T_ORDER_NONE: '|', H5T_ORDER_LE: '<', H5T_ORDER_BE: '>'}
- * cdef dict _sign_map  = { H5T_SGN_NONE: 'u', H5T_SGN_2: 'i' }             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_8 = PyInt_FromLong(H5T_SGN_NONE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_n_s__u)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __pyx_t_8 = PyInt_FromLong(H5T_SGN_2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_t_8, ((PyObject *)__pyx_n_s__i)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 213; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__sign_map));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__sign_map));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__sign_map = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":219
- * 
- * 
- * def create(int classtype, size_t size):             # <<<<<<<<<<<<<<
- *     """(INT classtype, UINT size) => TypeID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_3create, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":233
- * 
- * 
- * def open(ObjectID group not None, char* name):             # <<<<<<<<<<<<<<
- *     """(ObjectID group, STRING name) => TypeID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_5open, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__open, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 233; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":241
- * 
- * 
- * def array_create(TypeID base not None, object dims_tpl):             # <<<<<<<<<<<<<<
- *     """(TypeID base, TUPLE dimensions) => TypeArrayID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_7array_create, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__array_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 241; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":262
- * 
- * 
- * def enum_create(TypeID base not None):             # <<<<<<<<<<<<<<
- *     """(TypeID base) => TypeID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_9enum_create, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__enum_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 262; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":270
- * 
- * 
- * def vlen_create(TypeID base not None):             # <<<<<<<<<<<<<<
- *     """(TypeID base) => TypeID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_11vlen_create, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__vlen_create, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 270; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":281
- * 
- * 
- * def decode(char* buf):             # <<<<<<<<<<<<<<
- *     """(STRING buf) => TypeID
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_13decode, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__decode, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1182
- * # transient and unlocked.
- * 
- * cdef dict _float_le = {2: IEEE_F16LE.id, 4: H5T_IEEE_F32LE, 8: H5T_IEEE_F64LE}             # <<<<<<<<<<<<<<
- * cdef dict _float_be = {2: IEEE_F16BE.id, 4: H5T_IEEE_F32BE, 8: H5T_IEEE_F64BE}
- * cdef dict _float_nt = _float_le if ORDER_NATIVE == H5T_ORDER_LE else _float_be
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16LE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__id); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_5 = PyInt_FromLong(H5T_IEEE_F32LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_5 = PyInt_FromLong(H5T_IEEE_F64LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__float_le = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1183
- * 
- * cdef dict _float_le = {2: IEEE_F16LE.id, 4: H5T_IEEE_F32LE, 8: H5T_IEEE_F64LE}
- * cdef dict _float_be = {2: IEEE_F16BE.id, 4: H5T_IEEE_F32BE, 8: H5T_IEEE_F64BE}             # <<<<<<<<<<<<<<
- * cdef dict _float_nt = _float_le if ORDER_NATIVE == H5T_ORDER_LE else _float_be
- * 
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__IEEE_F16BE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_8 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__id); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __pyx_t_8 = PyInt_FromLong(H5T_IEEE_F32BE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __pyx_t_8 = PyInt_FromLong(H5T_IEEE_F64BE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_8) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1183; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__float_be = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1184
- * cdef dict _float_le = {2: IEEE_F16LE.id, 4: H5T_IEEE_F32LE, 8: H5T_IEEE_F64LE}
- * cdef dict _float_be = {2: IEEE_F16BE.id, 4: H5T_IEEE_F32BE, 8: H5T_IEEE_F64BE}
- * cdef dict _float_nt = _float_le if ORDER_NATIVE == H5T_ORDER_LE else _float_be             # <<<<<<<<<<<<<<
- * 
- * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE}
- */
-  __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__ORDER_NATIVE); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_8);
-  __pyx_t_5 = PyInt_FromLong(H5T_ORDER_LE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
-  __pyx_t_9 = PyObject_RichCompare(__pyx_t_8, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1184; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  if (__pyx_t_6) {
-    __Pyx_INCREF(((PyObject *)__pyx_v_4h5py_3h5t__float_le));
-    __pyx_t_4 = __pyx_v_4h5py_3h5t__float_le;
-  } else {
-    __Pyx_INCREF(((PyObject *)__pyx_v_4h5py_3h5t__float_be));
-    __pyx_t_4 = __pyx_v_4h5py_3h5t__float_be;
-  }
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__float_nt));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__float_nt));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__float_nt = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1186
- * cdef dict _float_nt = _float_le if ORDER_NATIVE == H5T_ORDER_LE else _float_be
- * 
- * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE}             # <<<<<<<<<<<<<<
- * cdef dict _int_be = {1: H5T_STD_I8BE, 2: H5T_STD_I16BE, 4: H5T_STD_I32BE, 8: H5T_STD_I64BE}
- * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64}
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_I8LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_I16LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_I32LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_I64LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1186; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_le));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_le));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__int_le = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1187
- * 
- * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE}
- * cdef dict _int_be = {1: H5T_STD_I8BE, 2: H5T_STD_I16BE, 4: H5T_STD_I32BE, 8: H5T_STD_I64BE}             # <<<<<<<<<<<<<<
- * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64}
- * 
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_I8BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_I16BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_I32BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_I64BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1187; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_be));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_be));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__int_be = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1188
- * cdef dict _int_le = {1: H5T_STD_I8LE, 2: H5T_STD_I16LE, 4: H5T_STD_I32LE, 8: H5T_STD_I64LE}
- * cdef dict _int_be = {1: H5T_STD_I8BE, 2: H5T_STD_I16BE, 4: H5T_STD_I32BE, 8: H5T_STD_I64BE}
- * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64}             # <<<<<<<<<<<<<<
- * 
- * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE}
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_INT8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_INT16); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_INT32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_INT64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1188; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__int_nt));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__int_nt));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__int_nt = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1190
- * cdef dict _int_nt = {1: H5T_NATIVE_INT8, 2: H5T_NATIVE_INT16, 4: H5T_NATIVE_INT32, 8: H5T_NATIVE_INT64}
- * 
- * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE}             # <<<<<<<<<<<<<<
- * cdef dict _uint_be = {1: H5T_STD_U8BE, 2: H5T_STD_U16BE, 4: H5T_STD_U32BE, 8: H5T_STD_U64BE}
- * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64}
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_U8LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_U16LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_U32LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_U64LE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_le));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_le));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__uint_le = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1191
- * 
- * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE}
- * cdef dict _uint_be = {1: H5T_STD_U8BE, 2: H5T_STD_U16BE, 4: H5T_STD_U32BE, 8: H5T_STD_U64BE}             # <<<<<<<<<<<<<<
- * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64}
- * 
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_U8BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_U16BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_U32BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_STD_U64BE); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1191; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_be));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_be));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__uint_be = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1192
- * cdef dict _uint_le = {1: H5T_STD_U8LE, 2: H5T_STD_U16LE, 4: H5T_STD_U32LE, 8: H5T_STD_U64LE}
- * cdef dict _uint_be = {1: H5T_STD_U8BE, 2: H5T_STD_U16BE, 4: H5T_STD_U32BE, 8: H5T_STD_U64BE}
- * cdef dict _uint_nt = {1: H5T_NATIVE_UINT8, 2: H5T_NATIVE_UINT16, 4: H5T_NATIVE_UINT32, 8: H5T_NATIVE_UINT64}             # <<<<<<<<<<<<<<
- * 
- * cdef TypeFloatID _c_float(dtype dt):
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_UINT8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_1, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_UINT16); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_UINT32); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_4, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __pyx_t_9 = PyInt_FromLong(H5T_NATIVE_UINT64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  if (PyDict_SetItem(__pyx_t_4, __pyx_int_8, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-  __Pyx_XGOTREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt));
-  __Pyx_DECREF(((PyObject *)__pyx_v_4h5py_3h5t__uint_nt));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
-  __pyx_v_4h5py_3h5t__uint_nt = ((PyObject*)__pyx_t_4);
-  __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1459
- *         raise TypeError("No conversion path for dtype: %s" % repr(dt))
- * 
- * def special_dtype(**kwds):             # <<<<<<<<<<<<<<
- *     """ Create a new h5py "special" type.  Only one keyword may be given.
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_17special_dtype, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__special_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1459; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1512
- *     raise TypeError('Unknown special type "%s"' % name)
- * 
- * def check_dtype(**kwds):             # <<<<<<<<<<<<<<
- *     """ Check a dtype for h5py special type "hint" information.  Only one
- *     keyword may be given.
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_19check_dtype, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__check_dtype, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1512; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1551
- *     return None
- * 
- * def convert(TypeID src not None, TypeID dst not None, size_t n,             # <<<<<<<<<<<<<<
- *             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):
- *     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_21convert, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__convert, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1572
- *     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
- * 
- * def find(TypeID src not None, TypeID dst not None):             # <<<<<<<<<<<<<<
- *     """ (TypeID src, TypeID dst) => TUPLE or None
- * 
- */
-  __pyx_t_4 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5t_23find, NULL, __pyx_n_s_59); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__find, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1572; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1595
- * # Deprecated functions
- * 
- * import warnings             # <<<<<<<<<<<<<<
- * 
- * cpdef dtype py_new_enum(object dt_in, dict enum_vals):
- */
-  __pyx_t_4 = __Pyx_Import(((PyObject *)__pyx_n_s__warnings), 0, -1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__warnings, __pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-  /* "h5py/h5t.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_4 = PyDict_New(); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5t", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5t");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE int __Pyx_IterFinish(void) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    PyObject* exc_type = tstate->curexc_type;
-    if (unlikely(exc_type)) {
-        if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) {
-            PyObject *exc_value, *exc_tb;
-            exc_value = tstate->curexc_value;
-            exc_tb = tstate->curexc_traceback;
-            tstate->curexc_type = 0;
-            tstate->curexc_value = 0;
-            tstate->curexc_traceback = 0;
-            Py_DECREF(exc_type);
-            Py_XDECREF(exc_value);
-            Py_XDECREF(exc_tb);
-            return 0;
-        } else {
-            return -1;
-        }
-    }
-    return 0;
-#else
-    if (unlikely(PyErr_Occurred())) {
-        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
-            PyErr_Clear();
-            return 0;
-        } else {
-            return -1;
-        }
-    }
-    return 0;
-#endif
-}
-
-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);
-}
-
-static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
-    PyErr_Format(PyExc_ValueError,
-                 "need more than %" CYTHON_FORMAT_SSIZE_T "d value%s to unpack",
-                 index, (index == 1) ? "" : "s");
-}
-
-static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
-}
-
-static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
-    if (t == Py_None) {
-      __Pyx_RaiseNoneNotIterableError();
-    } else if (PyTuple_GET_SIZE(t) < index) {
-      __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
-    } else {
-      __Pyx_RaiseTooManyValuesError(index);
-    }
-}
-
-static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
-    if (unlikely(retval)) {
-        Py_DECREF(retval);
-        __Pyx_RaiseTooManyValuesError(expected);
-        return -1;
-    } else {
-        return __Pyx_IterFinish();
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_unpack_tuple2(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2,
-                                             int is_tuple, int has_known_size, int decref_tuple) {
-    Py_ssize_t index;
-    PyObject *value1 = NULL, *value2 = NULL, *iter = NULL;
-    if (!is_tuple && unlikely(!PyTuple_Check(tuple))) {
-        iternextfunc iternext;
-        iter = PyObject_GetIter(tuple);
-        if (unlikely(!iter)) goto bad;
-        if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; }
-        iternext = Py_TYPE(iter)->tp_iternext;
-        value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; }
-        value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; }
-        if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad;
-        Py_DECREF(iter);
-    } else {
-        if (!has_known_size && unlikely(PyTuple_GET_SIZE(tuple) != 2)) {
-            __Pyx_UnpackTupleError(tuple, 2);
-            goto bad;
-        }
-#if CYTHON_COMPILING_IN_PYPY
-        value1 = PySequence_ITEM(tuple, 0);
-        if (unlikely(!value1)) goto bad;
-        value2 = PySequence_ITEM(tuple, 1);
-        if (unlikely(!value2)) goto bad;
-#else
-        value1 = PyTuple_GET_ITEM(tuple, 0);
-        value2 = PyTuple_GET_ITEM(tuple, 1);
-        Py_INCREF(value1);
-        Py_INCREF(value2);
-#endif
-        if (decref_tuple) { Py_DECREF(tuple); }
-    }
-    *pvalue1 = value1;
-    *pvalue2 = value2;
-    return 0;
-unpacking_failed:
-    if (!has_known_size && __Pyx_IterFinish() == 0)
-        __Pyx_RaiseNeedMoreValuesError(index);
-bad:
-    Py_XDECREF(iter);
-    Py_XDECREF(value1);
-    Py_XDECREF(value2);
-    if (decref_tuple) { Py_XDECREF(tuple); }
-    return -1;
-}
-
-static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name,
-                                                   Py_ssize_t* p_orig_length, int* p_source_is_dict) {
-    is_dict = is_dict || likely(PyDict_CheckExact(iterable));
-    *p_source_is_dict = is_dict;
-#if !CYTHON_COMPILING_IN_PYPY
-    if (is_dict) {
-        *p_orig_length = PyDict_Size(iterable);
-        Py_INCREF(iterable);
-        return iterable;
-    }
-#endif
-    *p_orig_length = 0;
-    if (method_name) {
-        PyObject* iter;
-        iterable = PyObject_CallMethodObjArgs(iterable, method_name, NULL);
-        if (!iterable)
-            return NULL;
-#if !CYTHON_COMPILING_IN_PYPY
-        if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
-            return iterable;
-#endif
-        iter = PyObject_GetIter(iterable);
-        Py_DECREF(iterable);
-        return iter;
-    }
-    return PyObject_GetIter(iterable);
-}
-static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* iter_obj, Py_ssize_t orig_length, Py_ssize_t* ppos,
-                                              PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) {
-    PyObject* next_item;
-#if !CYTHON_COMPILING_IN_PYPY
-    if (source_is_dict) {
-        PyObject *key, *value;
-        if (unlikely(orig_length != PyDict_Size(iter_obj))) {
-            PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration");
-            return -1;
-        }
-        if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) {
-            return 0;
-        }
-        if (pitem) {
-            PyObject* tuple = PyTuple_New(2);
-            if (unlikely(!tuple)) {
-                return -1;
-            }
-            Py_INCREF(key);
-            Py_INCREF(value);
-            PyTuple_SET_ITEM(tuple, 0, key);
-            PyTuple_SET_ITEM(tuple, 1, value);
-            *pitem = tuple;
-        } else {
-            if (pkey) {
-                Py_INCREF(key);
-                *pkey = key;
-            }
-            if (pvalue) {
-                Py_INCREF(value);
-                *pvalue = value;
-            }
-        }
-        return 1;
-    } else if (PyTuple_CheckExact(iter_obj)) {
-        Py_ssize_t pos = *ppos;
-        if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0;
-        *ppos = pos + 1;
-        next_item = PyTuple_GET_ITEM(iter_obj, pos);
-        Py_INCREF(next_item);
-    } else if (PyList_CheckExact(iter_obj)) {
-        Py_ssize_t pos = *ppos;
-        if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0;
-        *ppos = pos + 1;
-        next_item = PyList_GET_ITEM(iter_obj, pos);
-        Py_INCREF(next_item);
-    } else
-#endif
-    {
-        next_item = PyIter_Next(iter_obj);
-        if (unlikely(!next_item)) {
-            return __Pyx_IterFinish();
-        }
-    }
-    if (pitem) {
-        *pitem = next_item;
-    } else if (pkey && pvalue) {
-        if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1))
-            return -1;
-    } else if (pkey) {
-        *pkey = next_item;
-    } else {
-        *pvalue = next_item;
-    }
-    return 1;
-}
-
-static CYTHON_INLINE int __Pyx_CheckKeywordStrings(
-    PyObject *kwdict,
-    const char* function_name,
-    int kw_allowed)
-{
-    PyObject* key = 0;
-    Py_ssize_t pos = 0;
-#if CPYTHON_COMPILING_IN_PYPY
-    if (!kw_allowed && PyDict_Next(kwdict, &pos, &key, 0))
-        goto invalid_keyword;
-    return 1;
-#else
-    while (PyDict_Next(kwdict, &pos, &key, 0)) {
-        #if PY_MAJOR_VERSION < 3
-        if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key)))
-        #endif
-            if (unlikely(!PyUnicode_Check(key)))
-                goto invalid_keyword_type;
-    }
-    if ((!kw_allowed) && unlikely(key))
-        goto invalid_keyword;
-    return 1;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    return 0;
-#endif
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-    return 0;
-}
-
-static void __Pyx_call_next_tp_dealloc(PyObject* obj, destructor current_tp_dealloc) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_dealloc != current_tp_dealloc)
-        type = type->tp_base;
-    while (type && type->tp_dealloc == current_tp_dealloc)
-        type = type->tp_base;
-    if (type)
-        type->tp_dealloc(obj);
-}
-
-static int __Pyx_call_next_tp_traverse(PyObject* obj, visitproc v, void *a, traverseproc current_tp_traverse) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_traverse != current_tp_traverse)
-        type = type->tp_base;
-    while (type && type->tp_traverse == current_tp_traverse)
-        type = type->tp_base;
-    if (type && type->tp_traverse)
-        return type->tp_traverse(obj, v, a);
-    return 0;
-}
-
-static void __Pyx_call_next_tp_clear(PyObject* obj, inquiry current_tp_clear) {
-    PyTypeObject* type = Py_TYPE(obj);
-    while (type && type->tp_clear != current_tp_clear)
-        type = type->tp_base;
-    while (type && type->tp_clear == current_tp_clear)
-        type = type->tp_base;
-    if (type && type->tp_clear)
-        type->tp_clear(obj);
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
-    PyObject *empty_list = 0;
-    PyObject *module = 0;
-    PyObject *global_dict = 0;
-    PyObject *empty_dict = 0;
-    PyObject *list;
-    #if PY_VERSION_HEX < 0x03030000
-    PyObject *py_import = 0;
-    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
-    if (!py_import)
-        goto bad;
-    #endif
-    if (from_list)
-        list = from_list;
-    else {
-        empty_list = PyList_New(0);
-        if (!empty_list)
-            goto bad;
-        list = empty_list;
-    }
-    global_dict = PyModule_GetDict(__pyx_m);
-    if (!global_dict)
-        goto bad;
-    empty_dict = PyDict_New();
-    if (!empty_dict)
-        goto bad;
-    #if PY_VERSION_HEX >= 0x02050000
-    {
-        #if PY_MAJOR_VERSION >= 3
-        if (level == -1) {
-            if (strchr(__Pyx_MODULE_NAME, '.')) {
-                #if PY_VERSION_HEX < 0x03030000
-                PyObject *py_level = PyInt_FromLong(1);
-                if (!py_level)
-                    goto bad;
-                module = PyObject_CallFunctionObjArgs(py_import,
-                    name, global_dict, empty_dict, list, py_level, NULL);
-                Py_DECREF(py_level);
-                #else
-                module = PyImport_ImportModuleLevelObject(
-                    name, global_dict, empty_dict, list, 1);
-                #endif
-                if (!module) {
-                    if (!PyErr_ExceptionMatches(PyExc_ImportError))
-                        goto bad;
-                    PyErr_Clear();
-                }
-            }
-            level = 0; /* try absolute import on failure */
-        }
-        #endif
-        if (!module) {
-            #if PY_VERSION_HEX < 0x03030000
-            PyObject *py_level = PyInt_FromLong(level);
-            if (!py_level)
-                goto bad;
-            module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
-            Py_DECREF(py_level);
-            #else
-            module = PyImport_ImportModuleLevelObject(
-                name, global_dict, empty_dict, list, level);
-            #endif
-        }
-    }
-    #else
-    if (level>0) {
-        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
-        goto bad;
-    }
-    module = PyObject_CallFunctionObjArgs(py_import,
-        name, global_dict, empty_dict, list, NULL);
-    #endif
-bad:
-    #if PY_VERSION_HEX < 0x03030000
-    Py_XDECREF(py_import);
-    #endif
-    Py_XDECREF(empty_list);
-    Py_XDECREF(empty_dict);
-    return module;
-}
-
-static CYTHON_INLINE void __Pyx_RaiseImportError(PyObject *name) {
-#if PY_MAJOR_VERSION < 3
-    PyErr_Format(PyExc_ImportError, "cannot import name %.230s",
-                 PyString_AsString(name));
-#else
-    PyErr_Format(PyExc_ImportError, "cannot import name %S", name);
-#endif
-}
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hid_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hid_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hid_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hid_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hid_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hid_t)-1;
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hid_t(hid_t val) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hid_t) == sizeof(char))  ||
-        (sizeof(hid_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hid_t) == sizeof(int)) ||
-               (sizeof(hid_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hid_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-static int __Pyx_SetVtable(PyObject *dict, void *vtable) {
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    PyObject *ob = PyCapsule_New(vtable, 0, 0);
-#else
-    PyObject *ob = PyCObject_FromVoidPtr(vtable, 0);
-#endif
-    if (!ob)
-        goto bad;
-    if (PyDict_SetItemString(dict, "__pyx_vtable__", ob) < 0)
-        goto bad;
-    Py_DECREF(ob);
-    return 0;
-bad:
-    Py_XDECREF(ob);
-    return -1;
-}
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5t.pxd b/h5py/h5t.pxd
index 480f6bd..13e9c8c 100644
--- a/h5py/h5t.pxd
+++ b/h5py/h5t.pxd
@@ -66,6 +66,7 @@ cdef class TypeCompoundID(TypeCompositeID):
 # === C API for other modules =================================================
 
 cpdef TypeID typewrap(hid_t id_)
+cdef hid_t H5PY_OBJ
 cpdef TypeID py_create(object dtype, bint logical=*)
 
 
diff --git a/h5py/h5t.pyx b/h5py/h5t.pyx
index e570717..879f1a7 100644
--- a/h5py/h5t.pyx
+++ b/h5py/h5t.pyx
@@ -23,12 +23,12 @@ from h5r cimport Reference, RegionReference
 
 from utils cimport  emalloc, efree, \
                     require_tuple, convert_dims, convert_tuple
-from h5py import _conv
 
 # Runtime imports
 import sys
 from h5 import get_config
 import numpy as np
+from ._objects import phil, with_phil
 
 cfg = get_config()
 
@@ -194,9 +194,6 @@ VARIABLE = H5T_VARIABLE
 CSET_ASCII = H5T_CSET_ASCII
 CSET_UTF8 = H5T_CSET_UTF8
 
-# Custom Python object pointer type
-PYTHON_OBJECT = lockid(_conv.get_python_obj())
-
 # Mini floats
 IEEE_F16BE = IEEE_F32BE.copy()
 IEEE_F16BE.set_fields(15, 10, 5, 0, 10)
@@ -208,6 +205,13 @@ IEEE_F16LE = IEEE_F16BE.copy()
 IEEE_F16LE.set_order(H5T_ORDER_LE)
 IEEE_F16LE.lock()
 
+# Custom Python object pointer type
+cdef hid_t H5PY_OBJ = H5Tcreate(H5T_OPAQUE, sizeof(PyObject*))
+H5Tset_tag(H5PY_OBJ, "PYTHON:OBJECT")
+H5Tlock(H5PY_OBJ)
+
+PYTHON_OBJECT = lockid(H5PY_OBJ)
+
 # Translation tables for HDF5 -> NumPy dtype conversion
 cdef dict _order_map = { H5T_ORDER_NONE: '|', H5T_ORDER_LE: '<', H5T_ORDER_BE: '>'}
 cdef dict _sign_map  = { H5T_SGN_NONE: 'u', H5T_SGN_2: 'i' }
@@ -215,7 +219,7 @@ cdef dict _sign_map  = { H5T_SGN_NONE: 'u', H5T_SGN_2: 'i' }
 
 # === General datatype operations =============================================
 
-
+ at with_phil
 def create(int classtype, size_t size):
     """(INT classtype, UINT size) => TypeID
         
@@ -230,6 +234,7 @@ def create(int classtype, size_t size):
     return typewrap(H5Tcreate(<H5T_class_t>classtype, size))
 
 
+ at with_phil
 def open(ObjectID group not None, char* name):
     """(ObjectID group, STRING name) => TypeID
 
@@ -238,6 +243,7 @@ def open(ObjectID group not None, char* name):
     return typewrap(H5Topen(group.id, name))
 
 
+ at with_phil
 def array_create(TypeID base not None, object dims_tpl):
     """(TypeID base, TUPLE dimensions) => TypeArrayID
 
@@ -259,6 +265,7 @@ def array_create(TypeID base not None, object dims_tpl):
         efree(dims)
 
 
+ at with_phil
 def enum_create(TypeID base not None):
     """(TypeID base) => TypeID
 
@@ -267,6 +274,7 @@ def enum_create(TypeID base not None):
     return typewrap(H5Tenum_create(base.id))
 
 
+ at with_phil
 def vlen_create(TypeID base not None):
     """(TypeID base) => TypeID
 
@@ -278,6 +286,7 @@ def vlen_create(TypeID base not None):
     return typewrap(H5Tvlen_create(base.id))
 
     
+ at with_phil
 def decode(char* buf):
     """(STRING buf) => TypeID
 
@@ -286,6 +295,7 @@ def decode(char* buf):
     """
     return typewrap(H5Tdecode(<unsigned char*>buf))
 
+
 # === Base type class =========================================================
 
 cdef class TypeID(ObjectID):
@@ -298,45 +308,54 @@ cdef class TypeID(ObjectID):
     """
 
     def __hash__(self):
-        if self._hash is None:
-            try:
-                # Try to use object header first
-                return ObjectID.__hash__(self)
-            except TypeError:
-                # It's a transient type object
-                if self.locked:
-                    self._hash = hash(self.encode())
-                else:
-                    raise TypeError("Only locked or committed types can be hashed")
-
-        return self._hash
+        with phil:
+            if self._hash is None:
+                try:
+                    # Try to use object header first
+                    return ObjectID.__hash__(self)
+                except TypeError:
+                    # It's a transient type object
+                    if self.locked:
+                        self._hash = hash(self.encode())
+                    else:
+                        raise TypeError("Only locked or committed types can be hashed")
+
+            return self._hash
+
 
     def __richcmp__(self, object other, int how):
         cdef bint truthval = 0
-        if how != 2 and how != 3:
-            return NotImplemented
-        if isinstance(other, TypeID):
-            truthval = self.equal(other)
+        with phil:
+            if how != 2 and how != 3:
+                return NotImplemented
+            if isinstance(other, TypeID):
+                truthval = self.equal(other)
         
-        if how == 2:
-            return truthval
-        return not truthval
+            if how == 2:
+                return truthval
+            return not truthval
+
 
     def __copy__(self):
         cdef TypeID cpy
-        cpy = ObjectID.__copy__(self)
-        return cpy
+        with phil:
+            cpy = ObjectID.__copy__(self)
+            return cpy
+
 
     property dtype:
         """ A Numpy-style dtype object representing this object.
         """
         def __get__(self):
-            return self.py_dtype()
+            with phil:
+                return self.py_dtype()
+
 
     cdef object py_dtype(self):
         raise TypeError("No NumPy equivalent for %s exists" % self.__class__.__name__)
 
 
+    @with_phil
     def commit(self, ObjectID group not None, char* name, ObjectID lcpl=None):
         """(ObjectID group, STRING name, PropID lcpl=None)
 
@@ -346,6 +365,8 @@ cdef class TypeID(ObjectID):
         H5Tcommit2(group.id, name, self.id, pdefault(lcpl),
             H5P_DEFAULT, H5P_DEFAULT)
     
+
+    @with_phil
     def committed(self):
         """() => BOOL is_comitted
 
@@ -353,7 +374,8 @@ cdef class TypeID(ObjectID):
         """
         return <bint>(H5Tcommitted(self.id))
 
-    
+
+    @with_phil
     def copy(self):
         """() => TypeID
 
@@ -362,6 +384,7 @@ cdef class TypeID(ObjectID):
         return typewrap(H5Tcopy(self.id))
 
     
+    @with_phil
     def equal(self, TypeID typeid):
         """(TypeID typeid) => BOOL
 
@@ -371,6 +394,7 @@ cdef class TypeID(ObjectID):
         return <bint>(H5Tequal(self.id, typeid.id))
 
     
+    @with_phil
     def lock(self):
         """()
 
@@ -381,6 +405,7 @@ cdef class TypeID(ObjectID):
         self.locked = 1
 
     
+    @with_phil
     def get_class(self):
         """() => INT classcode
 
@@ -388,7 +413,8 @@ cdef class TypeID(ObjectID):
         """
         return <int>H5Tget_class(self.id)
 
-    
+
+    @with_phil    
     def set_size(self, size_t size):
         """(UINT size)
 
@@ -397,6 +423,7 @@ cdef class TypeID(ObjectID):
         H5Tset_size(self.id, size)
 
     
+    @with_phil
     def get_size(self):
         """ () => INT size
 
@@ -405,6 +432,7 @@ cdef class TypeID(ObjectID):
         return H5Tget_size(self.id)
 
     
+    @with_phil
     def get_super(self):
         """() => TypeID
 
@@ -412,7 +440,8 @@ cdef class TypeID(ObjectID):
         """
         return typewrap(H5Tget_super(self.id))
 
-    
+
+    @with_phil    
     def detect_class(self, int classtype):
         """(INT classtype) => BOOL class_is_present
 
@@ -421,19 +450,8 @@ cdef class TypeID(ObjectID):
         """
         return <bint>(H5Tdetect_class(self.id, <H5T_class_t>classtype))
 
-    
-    def _close(self):
-        """()
-
-        Close this datatype.  If it's locked, nothing happens.
-
-        You shouldn't ordinarily need to call this function; datatype
-        objects are automatically closed when they're deallocated.
-        """
-        if not self.locked:
-            H5Tclose(self.id)
-
 
+    @with_phil
     def encode(self):
         """() => STRING
 
@@ -456,11 +474,13 @@ cdef class TypeID(ObjectID):
 
 
     def __reduce__(self):
-        return (type(self), (-1,), self.encode())
+        with phil:
+            return (type(self), (-1,), self.encode())
 
     
     def __setstate__(self, char* state):
-        self.id = H5Tdecode(<unsigned char*>state)
+        with phil:
+            self.id = H5Tdecode(<unsigned char*>state)
 
 
 # === Top-level classes (inherit directly from TypeID) ========================
@@ -472,6 +492,7 @@ cdef class TypeArrayID(TypeID):
     """
 
     
+    @with_phil
     def get_array_ndims(self):
         """() => INT rank
 
@@ -480,6 +501,7 @@ cdef class TypeArrayID(TypeID):
         return H5Tget_array_ndims(self.id)
 
     
+    @with_phil
     def get_array_dims(self):
         """() => TUPLE dimensions
 
@@ -515,6 +537,7 @@ cdef class TypeOpaqueID(TypeID):
     """
 
     
+    @with_phil
     def set_tag(self, char* tag):
         """(STRING tag)
 
@@ -524,6 +547,7 @@ cdef class TypeOpaqueID(TypeID):
         H5Tset_tag(self.id, tag)
 
     
+    @with_phil
     def get_tag(self):
         """() => STRING tag
 
@@ -543,6 +567,7 @@ cdef class TypeOpaqueID(TypeID):
         # Numpy translation function for opaque types
         return dtype("|V" + str(self.get_size()))
 
+
 cdef class TypeStringID(TypeID):
 
     """
@@ -550,6 +575,7 @@ cdef class TypeStringID(TypeID):
     """
 
     
+    @with_phil
     def is_variable_str(self):
         """() => BOOL is_variable
 
@@ -558,6 +584,7 @@ cdef class TypeStringID(TypeID):
         return <bint>(H5Tis_variable_str(self.id))
 
     
+    @with_phil
     def get_cset(self):
         """() => INT character_set
 
@@ -566,6 +593,7 @@ cdef class TypeStringID(TypeID):
         return <int>H5Tget_cset(self.id)
 
     
+    @with_phil
     def set_cset(self, int cset):
         """(INT character_set)
 
@@ -574,6 +602,7 @@ cdef class TypeStringID(TypeID):
         H5Tset_cset(self.id, <H5T_cset_t>cset)
 
     
+    @with_phil
     def get_strpad(self):
         """() => INT padding_type
 
@@ -591,6 +620,7 @@ cdef class TypeStringID(TypeID):
         return <int>H5Tget_strpad(self.id)
 
     
+    @with_phil
     def set_strpad(self, int pad):
         """(INT pad)
 
@@ -607,6 +637,7 @@ cdef class TypeStringID(TypeID):
         """
         H5Tset_strpad(self.id, <H5T_str_t>pad)
 
+
     cdef object py_dtype(self):
         # Numpy translation function for string types
         if self.is_variable_str():
@@ -624,7 +655,14 @@ cdef class TypeVlenID(TypeID):
     """
         Non-string vlen datatypes.
     """
-    pass
+    
+    cdef object py_dtype(self):
+    
+        # get base type id
+        cdef TypeID base_type
+        base_type = self.get_super()
+        
+        return special_dtype(vlen=base_type.dtype)
 
 cdef class TypeTimeID(TypeID):
 
@@ -664,6 +702,7 @@ cdef class TypeAtomicID(TypeID):
     """
 
     
+    @with_phil
     def get_order(self):
         """() => INT order
 
@@ -675,6 +714,7 @@ cdef class TypeAtomicID(TypeID):
         return <int>H5Tget_order(self.id)
 
     
+    @with_phil
     def set_order(self, int order):
         """(INT order)
 
@@ -686,6 +726,7 @@ cdef class TypeAtomicID(TypeID):
         H5Tset_order(self.id, <H5T_order_t>order)
 
     
+    @with_phil
     def get_precision(self):
         """() => UINT precision
 
@@ -694,6 +735,7 @@ cdef class TypeAtomicID(TypeID):
         return H5Tget_precision(self.id)
 
     
+    @with_phil
     def set_precision(self, size_t precision):
         """(UINT precision)
             
@@ -702,6 +744,7 @@ cdef class TypeAtomicID(TypeID):
         H5Tset_precision(self.id, precision)
 
     
+    @with_phil
     def get_offset(self):
         """() => INT offset
 
@@ -710,6 +753,7 @@ cdef class TypeAtomicID(TypeID):
         return H5Tget_offset(self.id)
 
     
+    @with_phil
     def set_offset(self, size_t offset):
         """(UINT offset)
 
@@ -718,6 +762,7 @@ cdef class TypeAtomicID(TypeID):
         H5Tset_offset(self.id, offset)
 
     
+    @with_phil
     def get_pad(self):
         """() => (INT lsb_pad_code, INT msb_pad_code)
 
@@ -733,6 +778,7 @@ cdef class TypeAtomicID(TypeID):
         return (<int>lsb, <int>msb)
 
     
+    @with_phil
     def set_pad(self, int lsb, int msb):
         """(INT lsb_pad_code, INT msb_pad_code)
 
@@ -752,6 +798,7 @@ cdef class TypeIntegerID(TypeAtomicID):
     """
 
     
+    @with_phil
     def get_sign(self):
         """() => INT sign
 
@@ -766,6 +813,7 @@ cdef class TypeIntegerID(TypeAtomicID):
         return <int>H5Tget_sign(self.id)
 
     
+    @with_phil
     def set_sign(self, int sign):
         """(INT sign)
 
@@ -792,6 +840,7 @@ cdef class TypeFloatID(TypeAtomicID):
     """
 
     
+    @with_phil
     def get_fields(self):
         """() => TUPLE field_info
 
@@ -809,6 +858,7 @@ cdef class TypeFloatID(TypeAtomicID):
         return (spos, epos, esize, mpos, msize)
 
     
+    @with_phil
     def set_fields(self, size_t spos, size_t epos, size_t esize, 
                           size_t mpos, size_t msize):
         """(UINT spos, UINT epos, UINT esize, UINT mpos, UINT msize)
@@ -819,6 +869,7 @@ cdef class TypeFloatID(TypeAtomicID):
         H5Tset_fields(self.id, spos, epos, esize, mpos, msize)
 
     
+    @with_phil
     def get_ebias(self):
         """() => UINT ebias
 
@@ -827,6 +878,7 @@ cdef class TypeFloatID(TypeAtomicID):
         return H5Tget_ebias(self.id)
 
     
+    @with_phil
     def set_ebias(self, size_t ebias):
         """(UINT ebias)
 
@@ -835,6 +887,7 @@ cdef class TypeFloatID(TypeAtomicID):
         H5Tset_ebias(self.id, ebias)
 
     
+    @with_phil
     def get_norm(self):
         """() => INT normalization_code
 
@@ -847,6 +900,7 @@ cdef class TypeFloatID(TypeAtomicID):
         return <int>H5Tget_norm(self.id)
 
     
+    @with_phil
     def set_norm(self, int norm):
         """(INT normalization_code)
 
@@ -859,6 +913,7 @@ cdef class TypeFloatID(TypeAtomicID):
         H5Tset_norm(self.id, <H5T_norm_t>norm)
 
     
+    @with_phil
     def get_inpad(self):
         """() => INT pad_code
 
@@ -871,6 +926,7 @@ cdef class TypeFloatID(TypeAtomicID):
         return <int>H5Tget_inpad(self.id)
 
     
+    @with_phil
     def set_inpad(self, int pad_code):
         """(INT pad_code)
 
@@ -882,6 +938,7 @@ cdef class TypeFloatID(TypeAtomicID):
         """
         H5Tset_inpad(self.id, <H5T_pad_t>pad_code)
 
+
     cdef object py_dtype(self):
         # Translation function for floating-point types
         size = self.get_size()                  # int giving number of bytes
@@ -908,6 +965,7 @@ cdef class TypeCompositeID(TypeID):
     """
 
     
+    @with_phil
     def get_nmembers(self):
         """() => INT number_of_members
 
@@ -916,6 +974,7 @@ cdef class TypeCompositeID(TypeID):
         return H5Tget_nmembers(self.id)
 
     
+    @with_phil
     def get_member_name(self, int member):
         """(INT member) => STRING name
         
@@ -938,6 +997,7 @@ cdef class TypeCompositeID(TypeID):
         return pyname
 
     
+    @with_phil
     def get_member_index(self, char* name):
         """(STRING name) => INT index
 
@@ -954,7 +1014,7 @@ cdef class TypeCompoundID(TypeCompositeID):
     """
 
 
-    
+    @with_phil
     def get_member_class(self, int member):
         """(INT member) => INT class
 
@@ -966,7 +1026,7 @@ cdef class TypeCompoundID(TypeCompositeID):
         return H5Tget_member_class(self.id, member)
 
 
-    
+    @with_phil
     def get_member_offset(self, int member):
         """(INT member) => INT offset
 
@@ -977,7 +1037,8 @@ cdef class TypeCompoundID(TypeCompositeID):
             raise ValueError("Member index must be non-negative.")
         return H5Tget_member_offset(self.id, member)
 
-    
+
+    @with_phil
     def get_member_type(self, int member):
         """(INT member) => TypeID
 
@@ -989,6 +1050,7 @@ cdef class TypeCompoundID(TypeCompositeID):
         return typewrap(H5Tget_member_type(self.id, member))
 
     
+    @with_phil
     def insert(self, char* name, size_t offset, TypeID field not None):
         """(STRING name, UINT offset, TypeID field)
 
@@ -999,6 +1061,7 @@ cdef class TypeCompoundID(TypeCompositeID):
         H5Tinsert(self.id, name, offset, field.id)
 
     
+    @with_phil
     def pack(self):
         """()
 
@@ -1045,6 +1108,7 @@ cdef class TypeCompoundID(TypeCompositeID):
 
         return typeobj
 
+
 cdef class TypeEnumID(TypeCompositeID):
 
     """
@@ -1074,7 +1138,8 @@ cdef class TypeEnumID(TypeCompositeID):
         finally:
             H5Tclose(basetype)
 
-    
+
+    @with_phil
     def enum_insert(self, char* name, long long value):
         """(STRING name, INT/LONG value)
 
@@ -1090,6 +1155,7 @@ cdef class TypeEnumID(TypeCompositeID):
         H5Tenum_insert(self.id, name, &buf)
 
     
+    @with_phil
     def enum_nameof(self, long long value):
         """(LONG value) => STRING name
 
@@ -1109,6 +1175,7 @@ cdef class TypeEnumID(TypeCompositeID):
         return retstring
 
     
+    @with_phil
     def enum_valueof(self, char* name):
         """(STRING name) => LONG value
 
@@ -1121,6 +1188,7 @@ cdef class TypeEnumID(TypeCompositeID):
         return buf
 
     
+    @with_phil
     def get_member_value(self, int idx):
         """(UINT index) => LONG value
 
@@ -1376,6 +1444,7 @@ cdef TypeReferenceID _c_ref(object refclass):
         return STD_REF_DSETREG
     raise TypeError("Unrecognized reference code")
 
+
 cpdef TypeID py_create(object dtype_in, bint logical=0):
     """(OBJECT dtype_in, BOOL logical=False) => TypeID
 
@@ -1396,74 +1465,79 @@ cpdef TypeID py_create(object dtype_in, bint logical=0):
     cdef dtype dt = dtype(dtype_in)
     cdef char kind = dt.kind
 
-    # Float
-    if kind == c'f':
-        return _c_float(dt)
+    with phil:
+        # Float
+        if kind == c'f':
+            return _c_float(dt)
     
-    # Integer
-    elif kind == c'u' or kind == c'i':
-
-        if logical:
-            # Check for an enumeration hint
-            enum_vals = check_dtype(enum=dt)
-            if enum_vals is not None:
-                return _c_enum(dt, enum_vals)
-
-        return _c_int(dt)
-
-    # Complex
-    elif kind == c'c':
-        return _c_complex(dt)
-
-    # Compound
-    elif kind == c'V' and dt.names is not None:
-        return _c_compound(dt, logical)
+        # Integer
+        elif kind == c'u' or kind == c'i':
 
-    # Array or opaque
-    elif kind == c'V':
-        if dt.subdtype is not None:
-            return _c_array(dt, logical)
-        else:
-            return _c_opaque(dt)
-
-    # String
-    elif kind == c'S':
-        return _c_string(dt)
+            if logical:
+                # Check for an enumeration hint
+                enum_vals = check_dtype(enum=dt)
+                if enum_vals is not None:
+                    return _c_enum(dt, enum_vals)
 
-    # Boolean
-    elif kind == c'b':
-        return _c_bool(dt)
+            return _c_int(dt)
 
-    # Object types (including those with vlen hints)
-    elif kind == c'O':
+        # Complex
+        elif kind == c'c':
+            return _c_complex(dt)
 
-        if logical:
-            vlen = check_dtype(vlen=dt)
-            if vlen is bytes:
-                return _c_vlen_str()
-            elif vlen is unicode:
-                return _c_vlen_unicode()
+        # Compound
+        elif kind == c'V' and dt.names is not None:
+            return _c_compound(dt, logical)
 
-            refclass = check_dtype(ref=dt)
-            if refclass is not None:
+        # Array or opaque
+        elif kind == c'V':
+            if dt.subdtype is not None:
+                return _c_array(dt, logical)
+            else:
+                return _c_opaque(dt)
+
+        # String
+        elif kind == c'S':
+            return _c_string(dt)
+
+        # Boolean
+        elif kind == c'b':
+            return _c_bool(dt)
+
+        # Object types (including those with vlen hints)
+        elif kind == c'O':
+
+            if logical:
+                vlen = check_dtype(vlen=dt)
+                if vlen is bytes:
+                    return _c_vlen_str()
+                elif vlen is unicode:
+                    return _c_vlen_unicode()
+                elif vlen is not None:
+                    return vlen_create(py_create(vlen))
+
+                refclass = check_dtype(ref=dt)
+                if refclass is not None:
                     return _c_ref(refclass)
 
-            raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,))
+                raise TypeError("Object dtype %r has no native HDF5 equivalent" % (dt,))
 
-        return PYTHON_OBJECT
+            return PYTHON_OBJECT
+
+        # Unrecognized
+        else:
+            raise TypeError("No conversion path for dtype: %s" % repr(dt))
 
-    # Unrecognized
-    else:
-        raise TypeError("No conversion path for dtype: %s" % repr(dt))
 
+ at with_phil
 def special_dtype(**kwds):
     """ Create a new h5py "special" type.  Only one keyword may be given.
 
     Legal keywords are:
 
     vlen = basetype
-        Base type for HDF5 variable-length datatype.  Currently only the
-        builtin string class (str) is allowed.
+        Base type for HDF5 variable-length datatype. This can be Python
+        str type or instance of np.dtype.
         Example: special_dtype( vlen=str )
 
     enum = (basetype, values_dict)
@@ -1482,10 +1556,8 @@ def special_dtype(**kwds):
     name, val = kwds.popitem()
 
     if name == 'vlen':
-        if val not in (bytes, unicode):
-            raise NotImplementedError("Only byte or unicode string vlens are currently supported")
 
-        return dtype(('O', [( ({'type': val},'vlen'), 'O' )] ))
+        return dtype('O', metadata={'vlen': val})
 
     if name == 'enum':
 
@@ -1498,17 +1570,19 @@ def special_dtype(**kwds):
         if dt.kind not in "iu":
             raise TypeError("Only integer types can be used as enums")
 
-        return dtype((dt, [( ({'vals': enum_vals},'enum'), dt )] ))
+        return dtype(dt, metadata={'enum': enum_vals})
 
     if name == 'ref':
 
         if val not in (Reference, RegionReference):
             raise ValueError("Ref class must be Reference or RegionReference")
 
-        return dtype(('O', [( ({'type': val},'ref'), 'O' )] ))
+        return dtype('O', metadata={'ref': val})
 
     raise TypeError('Unknown special type "%s"' % name)
    
+
+ at with_phil
 def check_dtype(**kwds):
     """ Check a dtype for h5py special type "hint" information.  Only one
     keyword may be given.
@@ -1537,17 +1611,15 @@ def check_dtype(**kwds):
     if name not in ('vlen', 'enum', 'ref'):
         raise TypeError('Unknown special type "%s"' % name)
 
-    hintkey = 'type' if name is not 'enum' else 'vals'
-
-    if dt.fields is not None and name in dt.fields:
-        tpl = dt.fields[name]
-        if len(tpl) == 3:
-            hint_dict = tpl[2]
-            if hintkey in hint_dict:
-                return hint_dict[hintkey]
+    try:
+        return dt.metadata[name]
+    except TypeError:
+        return None
+    except KeyError:
+        return None
 
-    return None
 
+ at with_phil
 def convert(TypeID src not None, TypeID dst not None, size_t n,
             ndarray buf not None, ndarray bkg=None, ObjectID dxpl=None):
     """ (TypeID src, TypeID dst, UINT n, NDARRAY buf, NDARRAY bkg=None,
@@ -1569,6 +1641,8 @@ def convert(TypeID src not None, TypeID dst not None, size_t n,
 
     H5Tconvert(src.id, dst.id, n, buf_, bkg_, pdefault(dxpl))
 
+
+ at with_phil
 def find(TypeID src not None, TypeID dst not None):
     """ (TypeID src, TypeID dst) => TUPLE or None
 
@@ -1589,6 +1663,7 @@ def find(TypeID src not None, TypeID dst not None):
     except:
         return None
 
+
 # ============================================================================
 # Deprecated functions
 
diff --git a/h5py/h5z.c b/h5py/h5z.c
deleted file mode 100644
index fd8b8b4..0000000
--- a/h5py/h5z.c
+++ /dev/null
@@ -1,2210 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__h5z
-#define __PYX_HAVE_API__h5py__h5z
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "h5z.pyx",
-};
-
-/*--- Type declarations ---*/
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static int __Pyx_check_binary_version(void);
-
-#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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static htri_t (*__pyx_f_4h5py_4defs_H5Zfilter_avail)(H5Z_filter_t); /*proto*/
-static herr_t (*__pyx_f_4h5py_4defs_H5Zget_filter_info)(H5Z_filter_t, unsigned int *); /*proto*/
-
-/* Module declarations from 'h5py.h5z' */
-#define __Pyx_MODULE_NAME "h5py.h5z"
-int __pyx_module_is_main_h5py__h5z = 0;
-
-/* Implementation of 'h5py.h5z' */
-static PyObject *__pyx_pf_4h5py_3h5z_filter_avail(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_filter_code); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5z_2get_filter_info(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_filter_code); /* proto */
-static PyObject *__pyx_pf_4h5py_3h5z_4_register_lzf(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
-static char __pyx_k_1[] = "\n    Filter API and constants.\n";
-static char __pyx_k_2[] = "SZIP_ALLOW_K13_OPTION_MASK";
-static char __pyx_k_3[] = "SZIP_CHIP_OPTION_MASK";
-static char __pyx_k_4[] = "SZIP_MAX_PIXELS_PER_BLOCK";
-static char __pyx_k_5[] = "SO_INT_MINBITS_DEFAULT";
-static char __pyx_k_6[] = "FILTER_CONFIG_ENCODE_ENABLED";
-static char __pyx_k_7[] = "FILTER_CONFIG_DECODE_ENABLED";
-static char __pyx_k_10[] = "/home/computer/h5py/h5py/h5z.pyx";
-static char __pyx_k_11[] = "h5py.h5z";
-static char __pyx_k__flags[] = "flags";
-static char __pyx_k__NO_EDC[] = "NO_EDC";
-static char __pyx_k__SO_INT[] = "SO_INT";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__ERROR_EDC[] = "ERROR_EDC";
-static char __pyx_k__ENABLE_EDC[] = "ENABLE_EDC";
-static char __pyx_k__FILTER_ALL[] = "FILTER_ALL";
-static char __pyx_k__FILTER_LZF[] = "FILTER_LZF";
-static char __pyx_k__FILTER_MAX[] = "FILTER_MAX";
-static char __pyx_k__DISABLE_EDC[] = "DISABLE_EDC";
-static char __pyx_k__FILTER_NBIT[] = "FILTER_NBIT";
-static char __pyx_k__FILTER_NONE[] = "FILTER_NONE";
-static char __pyx_k__FILTER_SZIP[] = "FILTER_SZIP";
-static char __pyx_k__filter_code[] = "filter_code";
-static char __pyx_k__FILTER_ERROR[] = "FILTER_ERROR";
-static char __pyx_k__FLAG_DEFMASK[] = "FLAG_DEFMASK";
-static char __pyx_k__FLAG_INVMASK[] = "FLAG_INVMASK";
-static char __pyx_k__FLAG_REVERSE[] = "FLAG_REVERSE";
-static char __pyx_k__filter_avail[] = "filter_avail";
-static char __pyx_k__FLAG_OPTIONAL[] = "FLAG_OPTIONAL";
-static char __pyx_k__FLAG_SKIP_EDC[] = "FLAG_SKIP_EDC";
-static char __pyx_k___register_lzf[] = "_register_lzf";
-static char __pyx_k__FILTER_DEFLATE[] = "FILTER_DEFLATE";
-static char __pyx_k__FILTER_SHUFFLE[] = "FILTER_SHUFFLE";
-static char __pyx_k__FLAG_MANDATORY[] = "FLAG_MANDATORY";
-static char __pyx_k__FILTER_RESERVED[] = "FILTER_RESERVED";
-static char __pyx_k__SO_FLOAT_DSCALE[] = "SO_FLOAT_DSCALE";
-static char __pyx_k__SO_FLOAT_ESCALE[] = "SO_FLOAT_ESCALE";
-static char __pyx_k__get_filter_info[] = "get_filter_info";
-static char __pyx_k__FILTER_FLETCHER32[] = "FILTER_FLETCHER32";
-static char __pyx_k__FILTER_SCALEOFFSET[] = "FILTER_SCALEOFFSET";
-static char __pyx_k__SZIP_EC_OPTION_MASK[] = "SZIP_EC_OPTION_MASK";
-static char __pyx_k__SZIP_NN_OPTION_MASK[] = "SZIP_NN_OPTION_MASK";
-static PyObject *__pyx_kp_s_10;
-static PyObject *__pyx_n_s_11;
-static PyObject *__pyx_n_s_2;
-static PyObject *__pyx_n_s_3;
-static PyObject *__pyx_n_s_4;
-static PyObject *__pyx_n_s_5;
-static PyObject *__pyx_n_s_6;
-static PyObject *__pyx_n_s_7;
-static PyObject *__pyx_n_s__DISABLE_EDC;
-static PyObject *__pyx_n_s__ENABLE_EDC;
-static PyObject *__pyx_n_s__ERROR_EDC;
-static PyObject *__pyx_n_s__FILTER_ALL;
-static PyObject *__pyx_n_s__FILTER_DEFLATE;
-static PyObject *__pyx_n_s__FILTER_ERROR;
-static PyObject *__pyx_n_s__FILTER_FLETCHER32;
-static PyObject *__pyx_n_s__FILTER_LZF;
-static PyObject *__pyx_n_s__FILTER_MAX;
-static PyObject *__pyx_n_s__FILTER_NBIT;
-static PyObject *__pyx_n_s__FILTER_NONE;
-static PyObject *__pyx_n_s__FILTER_RESERVED;
-static PyObject *__pyx_n_s__FILTER_SCALEOFFSET;
-static PyObject *__pyx_n_s__FILTER_SHUFFLE;
-static PyObject *__pyx_n_s__FILTER_SZIP;
-static PyObject *__pyx_n_s__FLAG_DEFMASK;
-static PyObject *__pyx_n_s__FLAG_INVMASK;
-static PyObject *__pyx_n_s__FLAG_MANDATORY;
-static PyObject *__pyx_n_s__FLAG_OPTIONAL;
-static PyObject *__pyx_n_s__FLAG_REVERSE;
-static PyObject *__pyx_n_s__FLAG_SKIP_EDC;
-static PyObject *__pyx_n_s__NO_EDC;
-static PyObject *__pyx_n_s__SO_FLOAT_DSCALE;
-static PyObject *__pyx_n_s__SO_FLOAT_ESCALE;
-static PyObject *__pyx_n_s__SO_INT;
-static PyObject *__pyx_n_s__SZIP_EC_OPTION_MASK;
-static PyObject *__pyx_n_s__SZIP_NN_OPTION_MASK;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___register_lzf;
-static PyObject *__pyx_n_s__filter_avail;
-static PyObject *__pyx_n_s__filter_code;
-static PyObject *__pyx_n_s__flags;
-static PyObject *__pyx_n_s__get_filter_info;
-static PyObject *__pyx_k_tuple_8;
-static PyObject *__pyx_k_tuple_12;
-static PyObject *__pyx_k_codeobj_9;
-static PyObject *__pyx_k_codeobj_13;
-static PyObject *__pyx_k_codeobj_14;
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5z_1filter_avail(PyObject *__pyx_self, PyObject *__pyx_arg_filter_code); /*proto*/
-static char __pyx_doc_4h5py_3h5z_filter_avail[] = "(INT filter_code) => BOOL\n\n    Determine if the given filter is available to the library. The\n    filter code should be one of:\n\n    - FILTER_DEFLATE\n    - FILTER_SHUFFLE\n    - FILTER_FLETCHER32\n    - FILTER_SZIP\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5z_1filter_avail = {__Pyx_NAMESTR("filter_avail"), (PyCFunction)__pyx_pw_4h5py_3h5z_1filter_avail, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5z_filter_avail)};
-static PyObject *__pyx_pw_4h5py_3h5z_1filter_avail(PyObject *__pyx_self, PyObject *__pyx_arg_filter_code) {
-  int __pyx_v_filter_code;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("filter_avail (wrapper)", 0);
-  assert(__pyx_arg_filter_code); {
-    __pyx_v_filter_code = __Pyx_PyInt_AsInt(__pyx_arg_filter_code); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5z.filter_avail", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5z_filter_avail(__pyx_self, ((int)__pyx_v_filter_code));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5z.pyx":60
- * 
- * 
- * def filter_avail(int filter_code):             # <<<<<<<<<<<<<<
- *     """(INT filter_code) => BOOL
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5z_filter_avail(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_filter_code) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  htri_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("filter_avail", 0);
-
-  /* "h5py/h5z.pyx":71
- *     - FILTER_SZIP
- *     """
- *     return <bint>H5Zfilter_avail(<H5Z_filter_t>filter_code)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Zfilter_avail(((H5Z_filter_t)__pyx_v_filter_code)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = __Pyx_PyBool_FromLong(((int)__pyx_t_1)); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5z.filter_avail", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5z_3get_filter_info(PyObject *__pyx_self, PyObject *__pyx_arg_filter_code); /*proto*/
-static char __pyx_doc_4h5py_3h5z_2get_filter_info[] = "(INT filter_code) => INT filter_flags\n\n    Retrieve a bitfield with information about the given filter. The\n    filter code should be one of:\n\n    - FILTER_DEFLATE\n    - FILTER_SHUFFLE\n    - FILTER_FLETCHER32\n    - FILTER_SZIP\n\n    Valid bitmasks for use with the returned bitfield are:\n\n    - FILTER_CONFIG_ENCODE_ENABLED\n    - FILTER_CONFIG_DECODE_ENABLED\n    ";
-static PyMethodDef __pyx_mdef_4h5py_3h5z_3get_filter_info = {__Pyx_NAMESTR("get_filter_info"), (PyCFunction)__pyx_pw_4h5py_3h5z_3get_filter_info, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_3h5z_2get_filter_info)};
-static PyObject *__pyx_pw_4h5py_3h5z_3get_filter_info(PyObject *__pyx_self, PyObject *__pyx_arg_filter_code) {
-  int __pyx_v_filter_code;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("get_filter_info (wrapper)", 0);
-  assert(__pyx_arg_filter_code); {
-    __pyx_v_filter_code = __Pyx_PyInt_AsInt(__pyx_arg_filter_code); if (unlikely((__pyx_v_filter_code == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.h5z.get_filter_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_3h5z_2get_filter_info(__pyx_self, ((int)__pyx_v_filter_code));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5z.pyx":74
- * 
- * 
- * def get_filter_info(int filter_code):             # <<<<<<<<<<<<<<
- *     """(INT filter_code) => INT filter_flags
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5z_2get_filter_info(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_filter_code) {
-  unsigned int __pyx_v_flags;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  herr_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("get_filter_info", 0);
-
-  /* "h5py/h5z.pyx":91
- *     """
- *     cdef unsigned int flags
- *     H5Zget_filter_info(<H5Z_filter_t>filter_code, &flags)             # <<<<<<<<<<<<<<
- *     return flags
- * 
- */
-  __pyx_t_1 = __pyx_f_4h5py_4defs_H5Zget_filter_info(((H5Z_filter_t)__pyx_v_filter_code), (&__pyx_v_flags)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5z.pyx":92
- *     cdef unsigned int flags
- *     H5Zget_filter_info(<H5Z_filter_t>filter_code, &flags)
- *     return flags             # <<<<<<<<<<<<<<
- * 
- * def _register_lzf():
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2 = PyLong_FromUnsignedLong(__pyx_v_flags); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __pyx_r = __pyx_t_2;
-  __pyx_t_2 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_AddTraceback("h5py.h5z.get_filter_info", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_3h5z_5_register_lzf(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
-static PyMethodDef __pyx_mdef_4h5py_3h5z_5_register_lzf = {__Pyx_NAMESTR("_register_lzf"), (PyCFunction)__pyx_pw_4h5py_3h5z_5_register_lzf, METH_NOARGS, __Pyx_DOCSTR(0)};
-static PyObject *__pyx_pw_4h5py_3h5z_5_register_lzf(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_register_lzf (wrapper)", 0);
-  __pyx_r = __pyx_pf_4h5py_3h5z_4_register_lzf(__pyx_self);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/h5z.pyx":94
- *     return flags
- * 
- * def _register_lzf():             # <<<<<<<<<<<<<<
- *     register_lzf()
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_3h5z_4_register_lzf(CYTHON_UNUSED PyObject *__pyx_self) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_register_lzf", 0);
-
-  /* "h5py/h5z.pyx":95
- * 
- * def _register_lzf():
- *     register_lzf()             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_1 = register_lzf(); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.h5z._register_lzf", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyMethodDef __pyx_methods[] = {
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("h5z"),
-    __Pyx_DOCSTR(__pyx_k_1), /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_10, __pyx_k_10, sizeof(__pyx_k_10), 0, 0, 1, 0},
-  {&__pyx_n_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 1},
-  {&__pyx_n_s_2, __pyx_k_2, sizeof(__pyx_k_2), 0, 0, 1, 1},
-  {&__pyx_n_s_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 0, 1, 1},
-  {&__pyx_n_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 1},
-  {&__pyx_n_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 1},
-  {&__pyx_n_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 1},
-  {&__pyx_n_s_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 0, 1, 1},
-  {&__pyx_n_s__DISABLE_EDC, __pyx_k__DISABLE_EDC, sizeof(__pyx_k__DISABLE_EDC), 0, 0, 1, 1},
-  {&__pyx_n_s__ENABLE_EDC, __pyx_k__ENABLE_EDC, sizeof(__pyx_k__ENABLE_EDC), 0, 0, 1, 1},
-  {&__pyx_n_s__ERROR_EDC, __pyx_k__ERROR_EDC, sizeof(__pyx_k__ERROR_EDC), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_ALL, __pyx_k__FILTER_ALL, sizeof(__pyx_k__FILTER_ALL), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_DEFLATE, __pyx_k__FILTER_DEFLATE, sizeof(__pyx_k__FILTER_DEFLATE), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_ERROR, __pyx_k__FILTER_ERROR, sizeof(__pyx_k__FILTER_ERROR), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_FLETCHER32, __pyx_k__FILTER_FLETCHER32, sizeof(__pyx_k__FILTER_FLETCHER32), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_LZF, __pyx_k__FILTER_LZF, sizeof(__pyx_k__FILTER_LZF), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_MAX, __pyx_k__FILTER_MAX, sizeof(__pyx_k__FILTER_MAX), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_NBIT, __pyx_k__FILTER_NBIT, sizeof(__pyx_k__FILTER_NBIT), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_NONE, __pyx_k__FILTER_NONE, sizeof(__pyx_k__FILTER_NONE), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_RESERVED, __pyx_k__FILTER_RESERVED, sizeof(__pyx_k__FILTER_RESERVED), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_SCALEOFFSET, __pyx_k__FILTER_SCALEOFFSET, sizeof(__pyx_k__FILTER_SCALEOFFSET), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_SHUFFLE, __pyx_k__FILTER_SHUFFLE, sizeof(__pyx_k__FILTER_SHUFFLE), 0, 0, 1, 1},
-  {&__pyx_n_s__FILTER_SZIP, __pyx_k__FILTER_SZIP, sizeof(__pyx_k__FILTER_SZIP), 0, 0, 1, 1},
-  {&__pyx_n_s__FLAG_DEFMASK, __pyx_k__FLAG_DEFMASK, sizeof(__pyx_k__FLAG_DEFMASK), 0, 0, 1, 1},
-  {&__pyx_n_s__FLAG_INVMASK, __pyx_k__FLAG_INVMASK, sizeof(__pyx_k__FLAG_INVMASK), 0, 0, 1, 1},
-  {&__pyx_n_s__FLAG_MANDATORY, __pyx_k__FLAG_MANDATORY, sizeof(__pyx_k__FLAG_MANDATORY), 0, 0, 1, 1},
-  {&__pyx_n_s__FLAG_OPTIONAL, __pyx_k__FLAG_OPTIONAL, sizeof(__pyx_k__FLAG_OPTIONAL), 0, 0, 1, 1},
-  {&__pyx_n_s__FLAG_REVERSE, __pyx_k__FLAG_REVERSE, sizeof(__pyx_k__FLAG_REVERSE), 0, 0, 1, 1},
-  {&__pyx_n_s__FLAG_SKIP_EDC, __pyx_k__FLAG_SKIP_EDC, sizeof(__pyx_k__FLAG_SKIP_EDC), 0, 0, 1, 1},
-  {&__pyx_n_s__NO_EDC, __pyx_k__NO_EDC, sizeof(__pyx_k__NO_EDC), 0, 0, 1, 1},
-  {&__pyx_n_s__SO_FLOAT_DSCALE, __pyx_k__SO_FLOAT_DSCALE, sizeof(__pyx_k__SO_FLOAT_DSCALE), 0, 0, 1, 1},
-  {&__pyx_n_s__SO_FLOAT_ESCALE, __pyx_k__SO_FLOAT_ESCALE, sizeof(__pyx_k__SO_FLOAT_ESCALE), 0, 0, 1, 1},
-  {&__pyx_n_s__SO_INT, __pyx_k__SO_INT, sizeof(__pyx_k__SO_INT), 0, 0, 1, 1},
-  {&__pyx_n_s__SZIP_EC_OPTION_MASK, __pyx_k__SZIP_EC_OPTION_MASK, sizeof(__pyx_k__SZIP_EC_OPTION_MASK), 0, 0, 1, 1},
-  {&__pyx_n_s__SZIP_NN_OPTION_MASK, __pyx_k__SZIP_NN_OPTION_MASK, sizeof(__pyx_k__SZIP_NN_OPTION_MASK), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___register_lzf, __pyx_k___register_lzf, sizeof(__pyx_k___register_lzf), 0, 0, 1, 1},
-  {&__pyx_n_s__filter_avail, __pyx_k__filter_avail, sizeof(__pyx_k__filter_avail), 0, 0, 1, 1},
-  {&__pyx_n_s__filter_code, __pyx_k__filter_code, sizeof(__pyx_k__filter_code), 0, 0, 1, 1},
-  {&__pyx_n_s__flags, __pyx_k__flags, sizeof(__pyx_k__flags), 0, 0, 1, 1},
-  {&__pyx_n_s__get_filter_info, __pyx_k__get_filter_info, sizeof(__pyx_k__get_filter_info), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  return 0;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/h5z.pyx":60
- * 
- * 
- * def filter_avail(int filter_code):             # <<<<<<<<<<<<<<
- *     """(INT filter_code) => BOOL
- * 
- */
-  __pyx_k_tuple_8 = PyTuple_Pack(2, ((PyObject *)__pyx_n_s__filter_code), ((PyObject *)__pyx_n_s__filter_code)); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_8);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
-  __pyx_k_codeobj_9 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_8, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__filter_avail, 60, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5z.pyx":74
- * 
- * 
- * def get_filter_info(int filter_code):             # <<<<<<<<<<<<<<
- *     """(INT filter_code) => INT filter_flags
- * 
- */
-  __pyx_k_tuple_12 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__filter_code), ((PyObject *)__pyx_n_s__filter_code), ((PyObject *)__pyx_n_s__flags)); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_12);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));
-  __pyx_k_codeobj_13 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_12, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s__get_filter_info, 74, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-
-  /* "h5py/h5z.pyx":94
- *     return flags
- * 
- * def _register_lzf():             # <<<<<<<<<<<<<<
- *     register_lzf()
- * 
- */
-  __pyx_k_codeobj_14 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_10, __pyx_n_s___register_lzf, 94, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC inith5z(void); /*proto*/
-PyMODINIT_FUNC inith5z(void)
-#else
-PyMODINIT_FUNC PyInit_h5z(void); /*proto*/
-PyMODINIT_FUNC PyInit_h5z(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_h5z(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("h5z"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_1), 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.h5z")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.h5z", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__h5z) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  /*--- Type init code ---*/
-  /*--- Type import code ---*/
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Zfilter_avail", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zfilter_avail, "htri_t (H5Z_filter_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Zget_filter_info", (void (**)(void))&__pyx_f_4h5py_4defs_H5Zget_filter_info, "herr_t (H5Z_filter_t, unsigned int *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/h5z.pyx":16
- * # === Public constants and data structures ====================================
- * 
- * FILTER_LZF = H5PY_FILTER_LZF             # <<<<<<<<<<<<<<
- * 
- * FILTER_ERROR    = H5Z_FILTER_ERROR
- */
-  __pyx_t_2 = PyInt_FromLong(H5PY_FILTER_LZF); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_LZF, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":18
- * FILTER_LZF = H5PY_FILTER_LZF
- * 
- * FILTER_ERROR    = H5Z_FILTER_ERROR             # <<<<<<<<<<<<<<
- * FILTER_NONE     = H5Z_FILTER_NONE
- * FILTER_ALL      = H5Z_FILTER_ALL
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_ERROR); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_ERROR, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":19
- * 
- * FILTER_ERROR    = H5Z_FILTER_ERROR
- * FILTER_NONE     = H5Z_FILTER_NONE             # <<<<<<<<<<<<<<
- * FILTER_ALL      = H5Z_FILTER_ALL
- * FILTER_DEFLATE  = H5Z_FILTER_DEFLATE
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_NONE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_NONE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":20
- * FILTER_ERROR    = H5Z_FILTER_ERROR
- * FILTER_NONE     = H5Z_FILTER_NONE
- * FILTER_ALL      = H5Z_FILTER_ALL             # <<<<<<<<<<<<<<
- * FILTER_DEFLATE  = H5Z_FILTER_DEFLATE
- * FILTER_SHUFFLE  = H5Z_FILTER_SHUFFLE
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_ALL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_ALL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":21
- * FILTER_NONE     = H5Z_FILTER_NONE
- * FILTER_ALL      = H5Z_FILTER_ALL
- * FILTER_DEFLATE  = H5Z_FILTER_DEFLATE             # <<<<<<<<<<<<<<
- * FILTER_SHUFFLE  = H5Z_FILTER_SHUFFLE
- * FILTER_FLETCHER32 = H5Z_FILTER_FLETCHER32
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_DEFLATE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_DEFLATE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":22
- * FILTER_ALL      = H5Z_FILTER_ALL
- * FILTER_DEFLATE  = H5Z_FILTER_DEFLATE
- * FILTER_SHUFFLE  = H5Z_FILTER_SHUFFLE             # <<<<<<<<<<<<<<
- * FILTER_FLETCHER32 = H5Z_FILTER_FLETCHER32
- * FILTER_SZIP     = H5Z_FILTER_SZIP
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_SHUFFLE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_SHUFFLE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":23
- * FILTER_DEFLATE  = H5Z_FILTER_DEFLATE
- * FILTER_SHUFFLE  = H5Z_FILTER_SHUFFLE
- * FILTER_FLETCHER32 = H5Z_FILTER_FLETCHER32             # <<<<<<<<<<<<<<
- * FILTER_SZIP     = H5Z_FILTER_SZIP
- * FILTER_NBIT     = H5Z_FILTER_NBIT
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_FLETCHER32); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_FLETCHER32, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":24
- * FILTER_SHUFFLE  = H5Z_FILTER_SHUFFLE
- * FILTER_FLETCHER32 = H5Z_FILTER_FLETCHER32
- * FILTER_SZIP     = H5Z_FILTER_SZIP             # <<<<<<<<<<<<<<
- * FILTER_NBIT     = H5Z_FILTER_NBIT
- * FILTER_SCALEOFFSET = H5Z_FILTER_SCALEOFFSET
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_SZIP); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_SZIP, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":25
- * FILTER_FLETCHER32 = H5Z_FILTER_FLETCHER32
- * FILTER_SZIP     = H5Z_FILTER_SZIP
- * FILTER_NBIT     = H5Z_FILTER_NBIT             # <<<<<<<<<<<<<<
- * FILTER_SCALEOFFSET = H5Z_FILTER_SCALEOFFSET
- * FILTER_RESERVED = H5Z_FILTER_RESERVED
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_NBIT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_NBIT, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":26
- * FILTER_SZIP     = H5Z_FILTER_SZIP
- * FILTER_NBIT     = H5Z_FILTER_NBIT
- * FILTER_SCALEOFFSET = H5Z_FILTER_SCALEOFFSET             # <<<<<<<<<<<<<<
- * FILTER_RESERVED = H5Z_FILTER_RESERVED
- * FILTER_MAX      = H5Z_FILTER_MAX
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_SCALEOFFSET); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_SCALEOFFSET, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":27
- * FILTER_NBIT     = H5Z_FILTER_NBIT
- * FILTER_SCALEOFFSET = H5Z_FILTER_SCALEOFFSET
- * FILTER_RESERVED = H5Z_FILTER_RESERVED             # <<<<<<<<<<<<<<
- * FILTER_MAX      = H5Z_FILTER_MAX
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_RESERVED); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_RESERVED, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":28
- * FILTER_SCALEOFFSET = H5Z_FILTER_SCALEOFFSET
- * FILTER_RESERVED = H5Z_FILTER_RESERVED
- * FILTER_MAX      = H5Z_FILTER_MAX             # <<<<<<<<<<<<<<
- * 
- * FLAG_DEFMASK    = H5Z_FLAG_DEFMASK
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_MAX); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FILTER_MAX, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":30
- * FILTER_MAX      = H5Z_FILTER_MAX
- * 
- * FLAG_DEFMASK    = H5Z_FLAG_DEFMASK             # <<<<<<<<<<<<<<
- * FLAG_MANDATORY  = H5Z_FLAG_MANDATORY
- * FLAG_OPTIONAL   = H5Z_FLAG_OPTIONAL
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FLAG_DEFMASK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLAG_DEFMASK, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":31
- * 
- * FLAG_DEFMASK    = H5Z_FLAG_DEFMASK
- * FLAG_MANDATORY  = H5Z_FLAG_MANDATORY             # <<<<<<<<<<<<<<
- * FLAG_OPTIONAL   = H5Z_FLAG_OPTIONAL
- * FLAG_INVMASK    = H5Z_FLAG_INVMASK
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FLAG_MANDATORY); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLAG_MANDATORY, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 31; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":32
- * FLAG_DEFMASK    = H5Z_FLAG_DEFMASK
- * FLAG_MANDATORY  = H5Z_FLAG_MANDATORY
- * FLAG_OPTIONAL   = H5Z_FLAG_OPTIONAL             # <<<<<<<<<<<<<<
- * FLAG_INVMASK    = H5Z_FLAG_INVMASK
- * FLAG_REVERSE    = H5Z_FLAG_REVERSE
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FLAG_OPTIONAL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLAG_OPTIONAL, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":33
- * FLAG_MANDATORY  = H5Z_FLAG_MANDATORY
- * FLAG_OPTIONAL   = H5Z_FLAG_OPTIONAL
- * FLAG_INVMASK    = H5Z_FLAG_INVMASK             # <<<<<<<<<<<<<<
- * FLAG_REVERSE    = H5Z_FLAG_REVERSE
- * FLAG_SKIP_EDC   = H5Z_FLAG_SKIP_EDC
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FLAG_INVMASK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLAG_INVMASK, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":34
- * FLAG_OPTIONAL   = H5Z_FLAG_OPTIONAL
- * FLAG_INVMASK    = H5Z_FLAG_INVMASK
- * FLAG_REVERSE    = H5Z_FLAG_REVERSE             # <<<<<<<<<<<<<<
- * FLAG_SKIP_EDC   = H5Z_FLAG_SKIP_EDC
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FLAG_REVERSE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLAG_REVERSE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":35
- * FLAG_INVMASK    = H5Z_FLAG_INVMASK
- * FLAG_REVERSE    = H5Z_FLAG_REVERSE
- * FLAG_SKIP_EDC   = H5Z_FLAG_SKIP_EDC             # <<<<<<<<<<<<<<
- * 
- * SZIP_ALLOW_K13_OPTION_MASK  = H5_SZIP_ALLOW_K13_OPTION_MASK   #1
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FLAG_SKIP_EDC); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__FLAG_SKIP_EDC, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":37
- * FLAG_SKIP_EDC   = H5Z_FLAG_SKIP_EDC
- * 
- * SZIP_ALLOW_K13_OPTION_MASK  = H5_SZIP_ALLOW_K13_OPTION_MASK   #1             # <<<<<<<<<<<<<<
- * SZIP_CHIP_OPTION_MASK       = H5_SZIP_CHIP_OPTION_MASK        #2
- * SZIP_EC_OPTION_MASK         = H5_SZIP_EC_OPTION_MASK          #4
- */
-  __pyx_t_2 = PyInt_FromLong(H5_SZIP_ALLOW_K13_OPTION_MASK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_2, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":38
- * 
- * SZIP_ALLOW_K13_OPTION_MASK  = H5_SZIP_ALLOW_K13_OPTION_MASK   #1
- * SZIP_CHIP_OPTION_MASK       = H5_SZIP_CHIP_OPTION_MASK        #2             # <<<<<<<<<<<<<<
- * SZIP_EC_OPTION_MASK         = H5_SZIP_EC_OPTION_MASK          #4
- * SZIP_NN_OPTION_MASK         = H5_SZIP_NN_OPTION_MASK          #32
- */
-  __pyx_t_2 = PyInt_FromLong(H5_SZIP_CHIP_OPTION_MASK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_3, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":39
- * SZIP_ALLOW_K13_OPTION_MASK  = H5_SZIP_ALLOW_K13_OPTION_MASK   #1
- * SZIP_CHIP_OPTION_MASK       = H5_SZIP_CHIP_OPTION_MASK        #2
- * SZIP_EC_OPTION_MASK         = H5_SZIP_EC_OPTION_MASK          #4             # <<<<<<<<<<<<<<
- * SZIP_NN_OPTION_MASK         = H5_SZIP_NN_OPTION_MASK          #32
- * SZIP_MAX_PIXELS_PER_BLOCK   = H5_SZIP_MAX_PIXELS_PER_BLOCK    #32
- */
-  __pyx_t_2 = PyInt_FromLong(H5_SZIP_EC_OPTION_MASK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SZIP_EC_OPTION_MASK, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":40
- * SZIP_CHIP_OPTION_MASK       = H5_SZIP_CHIP_OPTION_MASK        #2
- * SZIP_EC_OPTION_MASK         = H5_SZIP_EC_OPTION_MASK          #4
- * SZIP_NN_OPTION_MASK         = H5_SZIP_NN_OPTION_MASK          #32             # <<<<<<<<<<<<<<
- * SZIP_MAX_PIXELS_PER_BLOCK   = H5_SZIP_MAX_PIXELS_PER_BLOCK    #32
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5_SZIP_NN_OPTION_MASK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SZIP_NN_OPTION_MASK, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":41
- * SZIP_EC_OPTION_MASK         = H5_SZIP_EC_OPTION_MASK          #4
- * SZIP_NN_OPTION_MASK         = H5_SZIP_NN_OPTION_MASK          #32
- * SZIP_MAX_PIXELS_PER_BLOCK   = H5_SZIP_MAX_PIXELS_PER_BLOCK    #32             # <<<<<<<<<<<<<<
- * 
- * SO_FLOAT_DSCALE = H5Z_SO_FLOAT_DSCALE
- */
-  __pyx_t_2 = PyInt_FromLong(H5_SZIP_MAX_PIXELS_PER_BLOCK); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_4, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":43
- * SZIP_MAX_PIXELS_PER_BLOCK   = H5_SZIP_MAX_PIXELS_PER_BLOCK    #32
- * 
- * SO_FLOAT_DSCALE = H5Z_SO_FLOAT_DSCALE             # <<<<<<<<<<<<<<
- * SO_FLOAT_ESCALE = H5Z_SO_FLOAT_ESCALE
- * SO_INT          = H5Z_SO_INT
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_SO_FLOAT_DSCALE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SO_FLOAT_DSCALE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":44
- * 
- * SO_FLOAT_DSCALE = H5Z_SO_FLOAT_DSCALE
- * SO_FLOAT_ESCALE = H5Z_SO_FLOAT_ESCALE             # <<<<<<<<<<<<<<
- * SO_INT          = H5Z_SO_INT
- * SO_INT_MINBITS_DEFAULT = H5Z_SO_INT_MINBITS_DEFAULT
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_SO_FLOAT_ESCALE); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SO_FLOAT_ESCALE, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":45
- * SO_FLOAT_DSCALE = H5Z_SO_FLOAT_DSCALE
- * SO_FLOAT_ESCALE = H5Z_SO_FLOAT_ESCALE
- * SO_INT          = H5Z_SO_INT             # <<<<<<<<<<<<<<
- * SO_INT_MINBITS_DEFAULT = H5Z_SO_INT_MINBITS_DEFAULT
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_SO_INT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__SO_INT, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":46
- * SO_FLOAT_ESCALE = H5Z_SO_FLOAT_ESCALE
- * SO_INT          = H5Z_SO_INT
- * SO_INT_MINBITS_DEFAULT = H5Z_SO_INT_MINBITS_DEFAULT             # <<<<<<<<<<<<<<
- * 
- * FILTER_CONFIG_ENCODE_ENABLED = H5Z_FILTER_CONFIG_ENCODE_ENABLED
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_SO_INT_MINBITS_DEFAULT); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_5, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":48
- * SO_INT_MINBITS_DEFAULT = H5Z_SO_INT_MINBITS_DEFAULT
- * 
- * FILTER_CONFIG_ENCODE_ENABLED = H5Z_FILTER_CONFIG_ENCODE_ENABLED             # <<<<<<<<<<<<<<
- * FILTER_CONFIG_DECODE_ENABLED = H5Z_FILTER_CONFIG_DECODE_ENABLED
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_CONFIG_ENCODE_ENABLED); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_6, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 48; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":49
- * 
- * FILTER_CONFIG_ENCODE_ENABLED = H5Z_FILTER_CONFIG_ENCODE_ENABLED
- * FILTER_CONFIG_DECODE_ENABLED = H5Z_FILTER_CONFIG_DECODE_ENABLED             # <<<<<<<<<<<<<<
- * 
- * ERROR_EDC   = H5Z_ERROR_EDC
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_FILTER_CONFIG_DECODE_ENABLED); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s_7, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":51
- * FILTER_CONFIG_DECODE_ENABLED = H5Z_FILTER_CONFIG_DECODE_ENABLED
- * 
- * ERROR_EDC   = H5Z_ERROR_EDC             # <<<<<<<<<<<<<<
- * DISABLE_EDC = H5Z_DISABLE_EDC
- * ENABLE_EDC  = H5Z_ENABLE_EDC
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_ERROR_EDC); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ERROR_EDC, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":52
- * 
- * ERROR_EDC   = H5Z_ERROR_EDC
- * DISABLE_EDC = H5Z_DISABLE_EDC             # <<<<<<<<<<<<<<
- * ENABLE_EDC  = H5Z_ENABLE_EDC
- * NO_EDC      = H5Z_NO_EDC
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_DISABLE_EDC); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__DISABLE_EDC, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":53
- * ERROR_EDC   = H5Z_ERROR_EDC
- * DISABLE_EDC = H5Z_DISABLE_EDC
- * ENABLE_EDC  = H5Z_ENABLE_EDC             # <<<<<<<<<<<<<<
- * NO_EDC      = H5Z_NO_EDC
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_ENABLE_EDC); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__ENABLE_EDC, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":54
- * DISABLE_EDC = H5Z_DISABLE_EDC
- * ENABLE_EDC  = H5Z_ENABLE_EDC
- * NO_EDC      = H5Z_NO_EDC             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_t_2 = PyInt_FromLong(H5Z_NO_EDC); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__NO_EDC, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":60
- * 
- * 
- * def filter_avail(int filter_code):             # <<<<<<<<<<<<<<
- *     """(INT filter_code) => BOOL
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5z_1filter_avail, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__filter_avail, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":74
- * 
- * 
- * def get_filter_info(int filter_code):             # <<<<<<<<<<<<<<
- *     """(INT filter_code) => INT filter_flags
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5z_3get_filter_info, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__get_filter_info, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":94
- *     return flags
- * 
- * def _register_lzf():             # <<<<<<<<<<<<<<
- *     register_lzf()
- * 
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_3h5z_5_register_lzf, NULL, __pyx_n_s_11); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___register_lzf, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/h5z.pyx":1
- * # This file is part of h5py, a Python interface to the HDF5 library.             # <<<<<<<<<<<<<<
- * #
- * # http://www.h5py.org
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.h5z", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.h5z");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-#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
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/h5z.pyx b/h5py/h5z.pyx
index 4b82199..68974f5 100644
--- a/h5py/h5z.pyx
+++ b/h5py/h5z.pyx
@@ -11,6 +11,9 @@
     Filter API and constants.
 """
 
+from ._objects import phil, with_phil
+
+
 # === Public constants and data structures ====================================
 
 FILTER_LZF = H5PY_FILTER_LZF
@@ -56,7 +59,7 @@ NO_EDC      = H5Z_NO_EDC
 
 # === Filter API  =============================================================
 
-
+ at with_phil
 def filter_avail(int filter_code):
     """(INT filter_code) => BOOL
 
@@ -71,6 +74,7 @@ def filter_avail(int filter_code):
     return <bint>H5Zfilter_avail(<H5Z_filter_t>filter_code)
 
 
+ at with_phil
 def get_filter_info(int filter_code):
     """(INT filter_code) => INT filter_flags
 
diff --git a/h5py/ipy_completer.py b/h5py/ipy_completer.py
index 3de34d3..4266562 100644
--- a/h5py/ipy_completer.py
+++ b/h5py/ipy_completer.py
@@ -39,13 +39,23 @@ import posixpath
 import re
 
 try:
+    # >=ipython-1.0
+    from IPython import get_ipython
+except ImportError:
+    try:
+        # support >=ipython-0.11, <ipython-1.0
+        from IPython.core.ipapi import get as get_ipython
+    except ImportError:
+        # support <ipython-0.11
+        from IPython.ipapi import get as get_ipython
+try:
+    # support >=ipython-0.11
     from IPython.utils import generics
-    from IPython.core.error import TryNext
-    from IPython.core.ipapi import get as ipget
+    from IPython import TryNext
 except ImportError:
     # support <ipython-0.11
     from IPython import generics
-    from IPython.ipapi import TryNext, get as ipget
+    from IPython.ipapi import TryNext
 
 import readline
 
@@ -116,19 +126,19 @@ def h5py_attr_completer(context, command):
     omit__names = None
     try:
         # support >=ipython-0.12
-        omit__names = ipget().Completer.omit__names
+        omit__names = get_ipython().Completer.omit__names
     except AttributeError:
         pass
     if omit__names is None:
         try:
             # support ipython-0.11
-            omit__names = ipget().readline_omit__names
+            omit__names = get_ipython().readline_omit__names
         except AttributeError:
             pass
     if omit__names is None:
         try:
             # support <ipython-0.11
-            omit__names = ipget().options.readline_omit__names
+            omit__names = get_ipython().options.readline_omit__names
         except AttributeError:
             omit__names = 0
     if omit__names == 1:
@@ -162,5 +172,5 @@ def h5py_completer(self, event):
 
 def load_ipython_extension(ip=None):
     if ip is None:
-        ip = ipget()
+        ip = get_ipython()
     ip.set_hook('complete_command', h5py_completer, re_key=r"(?:.*\=)?(.+?)\[")
diff --git a/h5py/lowtest/__init__.py b/h5py/lowtest/__init__.py
deleted file mode 100644
index a23327b..0000000
--- a/h5py/lowtest/__init__.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file is part of h5py, a Python interface to the HDF5 library.
-#
-# http://www.h5py.org
-#
-# Copyright 2008-2013 Andrew Collette and contributors
-#
-# License:  Standard 3-clause BSD; see "license.txt" for full license terms
-#           and contributor agreement.
diff --git a/h5py/tests/__init__.py b/h5py/tests/__init__.py
new file mode 100644
index 0000000..06127ef
--- /dev/null
+++ b/h5py/tests/__init__.py
@@ -0,0 +1,41 @@
+# This file is part of h5py, a Python interface to the HDF5 library.
+#
+# http://www.h5py.org
+#
+# Copyright 2008-2013 Andrew Collette and contributors
+#
+# License:  Standard 3-clause BSD; see "license.txt" for full license terms
+#           and contributor agreement.
+
+from __future__ import print_function
+
+import sys
+from .common import ut
+
+from . import old, hl
+
+MODULES = old.MODULES + hl.MODULES
+
+
+def mname(obj):
+    """ Get the full dotted name of the test method """
+    mod_name = obj.__class__.__module__.replace('h5py.tests.','')
+    return "%s.%s.%s" % (mod_name, obj.__class__.__name__, obj._testMethodName)
+    
+
+def run_tests(verbose=False):
+    """ Run tests with TextTestRunner.  Returns a TestResult instance.
+    
+    """
+    suite = ut.TestSuite()
+    for m in MODULES:
+        suite.addTests(ut.defaultTestLoader.loadTestsFromModule(m))
+    result = ut.TextTestRunner(verbosity=1).run(suite)
+
+    if verbose:
+        for (case, reason) in result.skipped:
+            print("S  %s (%s)" % (mname(case), reason), file=sys.stderr)
+        for (case, reason) in result.expectedFailures:
+            print("X  %s" % mname(case), file=sys.stderr)
+        
+    return result
\ No newline at end of file
diff --git a/h5py/_hl/tests/common.py b/h5py/tests/common.py
similarity index 66%
copy from h5py/_hl/tests/common.py
copy to h5py/tests/common.py
index d41e4e6..7c211a8 100644
--- a/h5py/_hl/tests/common.py
+++ b/h5py/tests/common.py
@@ -8,12 +8,11 @@
 #           and contributor agreement.
 
 import sys
-
-if sys.version_info[0] == 3:
-    py3 = True
-else:
-    py3 = False
-
+import os
+import shutil
+import tempfile
+import numpy as np
+import h5py
 
 if sys.version_info >= (2, 7) or sys.version_info >= (3, 2):
     import unittest as ut
@@ -26,14 +25,35 @@ else:
             % (sys.version_info[:2])
             )
 
-import shutil
-import tempfile
-import numpy as np
-import os
+
+if sys.version_info[0] == 3:
+    PY3 = True
+else:
+    PY3 = False
+
+
+# Check if non-ascii filenames are supported
+# Evidently this is the most reliable way to check
+# See also h5py issue #263 and ipython #466
+# To test for this, run the testsuite with LC_ALL=C
+try:
+    testfile, fname = tempfile.mkstemp(u'\u03b7')
+except UnicodeError:
+    UNICODE_FILENAMES = False
+else:
+    UNICODE_FILENAMES = True
+    os.close(testfile)
+    os.unlink(fname)
+    del fname
+    del testfile
 
 
 class TestCase(ut.TestCase):
 
+    """
+        Base class for unit tests.
+    """
+    
     @classmethod
     def setUpClass(cls):
         cls.tempdir = tempfile.mkdtemp(prefix='h5py-test_')
@@ -46,6 +66,16 @@ class TestCase(ut.TestCase):
         if dir is None:
             dir = self.tempdir
         return tempfile.mktemp(suffix, prefix, dir=self.tempdir)
+        
+    def setUp(self):
+        self.f = h5py.File(self.mktemp(), 'w')
+        
+    def tearDown(self):
+        try:
+            if self.f:
+                self.f.close()
+        except:
+            pass
 
     if not hasattr(ut.TestCase, 'assertSameElements'):
         # shim until this is ported into unittest2
@@ -98,22 +128,38 @@ class TestCase(ut.TestCase):
             dset.dtype == arr.dtype,
             "Dtype mismatch (%s vs %s)%s" % (dset.dtype, arr.dtype, message)
             )
-        self.assert_(
-            np.all(np.abs(dset[...] - arr[...]) < precision),
-            "Arrays differ by more than %.3f%s" % (precision, message)
-            )
+            
+        if arr.dtype.names is not None:
+            for n in arr.dtype.names:
+                message = '[FIELD %s] %s' % (n, message)
+                self.assertArrayEqual(dset[n], arr[n], message=message, precision=precision)
+        elif arr.dtype.kind in ('i', 'f'):
+            self.assert_(
+                np.all(np.abs(dset[...] - arr[...]) < precision),
+                "Arrays differ by more than %.3f%s" % (precision, message)
+                )
+        else:
+            self.assert_(
+                np.all(dset[...] == arr[...]),
+                "Arrays are not equal (dtype %s) %s" % (arr.dtype.str, message)
+                )
 
-# Check if non-ascii filenames are supported
-# Evidently this is the most reliable way to check
-# See also h5py issue #263 and ipython #466
-# To test for this, run the testsuite with LC_ALL=C
-try:
-    testfile, fname = tempfile.mkstemp(u'\u03b7')
-except UnicodeError:
-    unicode_filenames = False
-else:
-    unicode_filenames = True
-    os.close(testfile)
-    os.unlink(fname)
-    del fname
-    del testfile
+    def assertNumpyBehavior(self, dset, arr, s):
+        """ Apply slicing arguments "s" to both dset and arr.
+        
+        Succeeds if the results of the slicing are identical, or the
+        exception raised is of the same type for both.
+        
+        "arr" must be a Numpy array; "dset" may be a NumPy array or dataset.
+        """
+        exc = None
+        try:
+            arr_result = arr[s]
+        except Exception as e:
+            exc = type(e)
+            
+        if exc is None:
+            self.assertArrayEqual(dset[s], arr_result)
+        else:
+            with self.assertRaises(exc):
+                dset[s]
\ No newline at end of file
diff --git a/h5py/tests/hl/__init__.py b/h5py/tests/hl/__init__.py
new file mode 100644
index 0000000..958b083
--- /dev/null
+++ b/h5py/tests/hl/__init__.py
@@ -0,0 +1,7 @@
+from . import  (test_dataset_getitem, 
+                test_dims_dimensionproxy,
+                test_file, )
+                
+MODULES = ( test_dataset_getitem, 
+            test_dims_dimensionproxy,
+            test_file, )
\ No newline at end of file
diff --git a/h5py/tests/hl/test_dataset_getitem.py b/h5py/tests/hl/test_dataset_getitem.py
new file mode 100644
index 0000000..edcc9a5
--- /dev/null
+++ b/h5py/tests/hl/test_dataset_getitem.py
@@ -0,0 +1,405 @@
+# This file is part of h5py, a Python interface to the HDF5 library.
+#
+# http://www.h5py.org
+#
+# Copyright 2008-2013 Andrew Collette and contributors
+#
+# License:  Standard 3-clause BSD; see "license.txt" for full license terms
+#           and contributor agreement.
+
+"""
+    Tests the h5py.Dataset.__getitem__ method.
+    
+    This module does not specifically test type conversion.  The "type" axis
+    therefore only tests objects which interact with the slicing system in
+    unreliable ways; for example, compound and array types.  
+    
+    See test_dataset_getitem_types for type-conversion tests.
+    
+    Tests are organized into TestCases by dataset shape and type.  Test
+    methods vary by slicing arg type.
+    
+    1. Dataset shape:
+        Empty
+        Scalar
+        1D
+        3D
+        
+    2. Type:
+        Float
+        Compound
+        Array
+
+    3. Slicing arg types:
+        Ellipsis
+        Empty tuple
+        Regular slice
+        Indexing
+        Index list
+        Boolean mask
+        Field names
+"""
+
+import numpy as np
+import h5py
+
+from ..common import ut, TestCase
+
+
+class TestEmpty(TestCase):
+
+    def setUp(self):
+        TestCase.setUp(self)
+        sid = h5py.h5s.create(h5py.h5s.NULL)
+        tid = h5py.h5t.C_S1.copy()
+        tid.set_size(10)
+        dsid = h5py.h5d.create(self.f.id, b'x', tid, sid)
+        self.dset = h5py.Dataset(dsid)
+        
+    def test_ellipsis(self):
+        """ Ellipsis -> IOError """
+        with self.assertRaises(IOError):
+            out = self.dset[...]
+        
+    def test_tuple(self):
+        """ () -> IOError """
+        with self.assertRaises(IOError):
+            out = self.dset[()]
+        
+    def test_slice(self):
+        """ slice -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[0:4]
+        
+    def test_index(self):
+        """ index -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[0]
+
+    def test_indexlist(self):
+        """ index list -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[[1,2,5]]
+        
+    def test_mask(self):
+        """ mask -> ValueError """
+        mask = np.array(True, dtype='bool')
+        with self.assertRaises(ValueError):
+            self.dset[mask]
+        
+    def test_fieldnames(self):
+        """ field name -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset['field']
+
+
+class TestScalarFloat(TestCase):
+
+    def setUp(self):
+        TestCase.setUp(self)
+        self.data = np.array(42.5, dtype='f')
+        self.dset = self.f.create_dataset('x', data=self.data)
+
+    def test_ellipsis(self):
+        """ Ellipsis -> scalar ndarray """
+        out = self.dset[...]
+        self.assertArrayEqual(out, self.data)
+        
+    def test_tuple(self):
+        """ () -> bare item """
+        out = self.dset[()]
+        self.assertArrayEqual(out, self.data.item())
+        
+    def test_slice(self):
+        """ slice -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[0:4]
+        
+    def test_index(self):
+        """ index -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[0]
+
+    # FIXME: NumPy has IndexError instead
+    def test_indexlist(self):
+        """ index list -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[[1,2,5]]
+        
+    # FIXME: NumPy permits this
+    def test_mask(self):
+        """ mask -> ValueError """
+        mask = np.array(True, dtype='bool')
+        with self.assertRaises(ValueError):
+            self.dset[mask]
+        
+    def test_fieldnames(self):
+        """ field name -> ValueError (no fields) """
+        with self.assertRaises(ValueError):
+            self.dset['field']
+
+
+class TestScalarCompound(TestCase):
+
+    def setUp(self):
+        TestCase.setUp(self)
+        self.data = np.array((42.5, -118, "Hello"), dtype=[('a', 'f'), ('b', 'i'), ('c', '|S10')])
+        self.dset = self.f.create_dataset('x', data=self.data)
+
+    def test_ellipsis(self):
+        """ Ellipsis -> scalar ndarray """
+        out = self.dset[...]
+        # assertArrayEqual doesn't work with compounds; do manually
+        self.assertIsInstance(out, np.ndarray)
+        self.assertEqual(out.shape, self.data.shape)
+        self.assertEqual(out.dtype, self.data.dtype)
+        
+    def test_tuple(self):
+        """ () -> np.void instance """
+        out = self.dset[()]
+        self.assertIsInstance(out, np.void)
+        self.assertEqual(out.dtype, self.data.dtype)
+        
+    def test_slice(self):
+        """ slice -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[0:4]
+        
+    def test_index(self):
+        """ index -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[0]
+
+    # FIXME: NumPy has IndexError instead
+    def test_indexlist(self):
+        """ index list -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[[1,2,5]]
+        
+    # FIXME: NumPy permits this
+    def test_mask(self):
+        """ mask -> ValueError  """
+        mask = np.array(True, dtype='bool')
+        with self.assertRaises(ValueError):
+            self.dset[mask]
+        
+    # FIXME: NumPy returns a scalar ndarray
+    def test_fieldnames(self):
+        """ field name -> bare value """
+        out = self.dset['a']
+        self.assertIsInstance(out, np.float32)
+        self.assertEqual(out, self.dset['a'])
+
+
+class TestScalarArray(TestCase):
+
+    def setUp(self):
+        TestCase.setUp(self)
+        self.dt = np.dtype('(3,2)f')
+        self.data = np.array([(3.2, -119), (42, 99.8), (3.14, 0)], dtype='f')
+        self.dset = self.f.create_dataset('x', (), dtype=self.dt)
+        self.dset[...] = self.data
+
+    def test_ellipsis(self):
+        """ Ellipsis -> ndarray promoted to underlying shape """
+        out = self.dset[...]
+        self.assertArrayEqual(out, self.data)
+        
+    def test_tuple(self):
+        """ () -> same as ellipsis """
+        out = self.dset[...]
+        self.assertArrayEqual(out, self.data)
+        
+    def test_slice(self):
+        """ slice -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[0:4]
+
+    def test_index(self):
+        """ index -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[0]
+            
+    def test_indexlist(self):
+        """ index list -> ValueError """
+        with self.assertRaises(ValueError):
+            self.dset[[]]
+        
+    def test_mask(self):
+        """ mask -> ValueError """
+        mask = np.array(True, dtype='bool')
+        with self.assertRaises(ValueError):
+            self.dset[mask]
+        
+    def test_fieldnames(self):
+        """ field name -> ValueError (no fields) """
+        with self.assertRaises(ValueError):
+            self.dset['field']
+
+            
+ at ut.skipUnless(h5py.version.hdf5_version_tuple >= (1, 8, 7), 'HDF5 1.8.7+ required')
+class Test1DZeroFloat(TestCase):
+
+    def setUp(self):
+        TestCase.setUp(self)
+        self.data = np.ones((0,), dtype='f')
+        self.dset = self.f.create_dataset('x', data=self.data)
+
+    def test_ellipsis(self):
+        """ Ellipsis -> ndarray of matching shape """
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[...])
+        
+    def test_tuple(self):
+        """ () -> same as ellipsis """
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[()])
+        
+    def test_slice(self):
+        """ slice -> ndarray of shape (0,) """
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[0:4])
+
+    # FIXME: NumPy raises IndexError
+    def test_index(self):
+        """ index -> out of range """
+        with self.assertRaises(ValueError):
+            self.dset[0]
+            
+    # FIXME: Under NumPy this works and returns a shape-(0,) array
+    # Also, at the moment it rasies UnboundLocalError (!)
+    @ut.expectedFailure
+    def test_indexlist(self):
+        """ index list """
+        with self.assertRaises(ValueError):
+            self.dset[[]]
+        
+    def test_mask(self):
+        """ mask -> ndarray of matching shape """
+        mask = np.ones((0,), dtype='bool')
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[mask])
+        
+    def test_fieldnames(self):
+        """ field name -> ValueError (no fields) """
+        with self.assertRaises(ValueError):
+            self.dset['field']
+
+
+class Test1DFloat(TestCase):
+
+    def setUp(self):
+        TestCase.setUp(self)
+        self.data = np.arange(13).astype('f')
+        self.dset = self.f.create_dataset('x', data=self.data)
+
+    def test_ellipsis(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[...])
+        
+    def test_tuple(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[()])
+        
+    def test_slice_simple(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[0:4])
+        
+    def test_slice_zerosize(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[4:4])
+           
+    def test_slice_strides(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[1:7:3])
+
+    def test_slice_negindexes(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[-8:-2:3])
+
+    def test_slice_outofrange(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[100:400:3])
+                 
+    def test_slice_backwards(self):
+        """ we disallow negative steps """
+        with self.assertRaises(ValueError):
+            self.dset[::-1]
+            
+    def test_slice_zerostride(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[::0])
+            
+    def test_index_simple(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[3])
+
+    def test_index_neg(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[-4])
+
+    # FIXME: NumPy permits this... it adds a new axis in front
+    def test_index_none(self):
+        with self.assertRaises(TypeError):
+            self.dset[None]
+            
+    # FIXME: NumPy raises IndexError
+    # Also this currently raises UnboundLocalError. :(
+    @ut.expectedFailure
+    def test_index_illegal(self):
+        """ Illegal slicing argument """
+        with self.assertRaises(TypeError):
+            self.dset[{}]
+
+    # FIXME: NumPy raises IndexError
+    def test_index_outofrange(self):
+        with self.assertRaises(ValueError):
+            self.dset[100]
+        
+    def test_indexlist_simple(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[[1,2,5]])
+        
+    # Another UnboundLocalError
+    @ut.expectedFailure
+    def test_indexlist_empty(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[[]])
+         
+    # FIXME: NumPy has IndexError
+    def test_indexlist_outofrange(self):
+        with self.assertRaises(ValueError):
+            self.dset[[100]]
+                
+    def test_indexlist_nonmonotonic(self):
+        """ we require index list values to be strictly increasing """
+        with self.assertRaises(TypeError):
+            self.dset[[1,3,2]]
+        
+    # This results in IOError as the argument is not properly validated.
+    # Suggest IndexError be raised.
+    @ut.expectedFailure
+    def test_indexlist_repeated(self):
+        """ we forbid repeated index values """
+        with self.assertRaises(TypeError):
+            self.dset[[1,1,2]]
+            
+    def test_mask_true(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[self.data > -100])
+
+    def test_mask_false(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[self.data > 100])
+
+    def test_mask_partial(self):
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[self.data > 5])
+        
+    def test_mask_wrongsize(self):
+        """ we require the boolean mask shape to match exactly """
+        with self.assertRaises(TypeError):
+            self.dset[np.ones((2,), dtype='bool')]
+        
+    def test_fieldnames(self):
+        """ field name -> ValueError (no fields) """
+        with self.assertRaises(ValueError):
+            self.dset['field']
+            
+
+ at ut.skipUnless(h5py.version.hdf5_version_tuple >= (1, 8, 7), 'HDF5 1.8.7+ required')
+class Test2DZeroFloat(TestCase):
+
+    def setUp(self):
+        TestCase.setUp(self)
+        self.data = np.ones((0,3), dtype='f')
+        self.dset = self.f.create_dataset('x', data=self.data)
+        
+    @ut.expectedFailure
+    def test_indexlist(self):
+        """ see issue #473 """
+        self.assertNumpyBehavior(self.dset, self.data, np.s_[:,[0,1,2]])
+
+        
+        
\ No newline at end of file
diff --git a/h5py/tests/hl/test_dims_dimensionproxy.py b/h5py/tests/hl/test_dims_dimensionproxy.py
new file mode 100644
index 0000000..ed3d283
--- /dev/null
+++ b/h5py/tests/hl/test_dims_dimensionproxy.py
@@ -0,0 +1,24 @@
+# This file is part of h5py, a Python interface to the HDF5 library.
+#
+# http://www.h5py.org
+#
+# Copyright 2008-2013 Andrew Collette and contributors
+#
+# License:  Standard 3-clause BSD; see "license.txt" for full license terms
+#           and contributor agreement.
+
+"""
+    Tests the h5py.Dataset.dims.DimensionProxy class.
+"""
+
+import numpy as np
+import h5py
+
+from ..common import ut, TestCase
+
+class TestItems(TestCase):
+
+    def test_empty(self):
+        """ no dimension scales -> empty list """
+        dset = self.f.create_dataset('x', (10,))
+        self.assertEqual(dset.dims[0].items(), [])
\ No newline at end of file
diff --git a/h5py/tests/hl/test_file.py b/h5py/tests/hl/test_file.py
new file mode 100644
index 0000000..01610a4
--- /dev/null
+++ b/h5py/tests/hl/test_file.py
@@ -0,0 +1,67 @@
+# This file is part of h5py, a Python interface to the HDF5 library.
+#
+# http://www.h5py.org
+#
+# Copyright 2008-2013 Andrew Collette and contributors
+#
+# License:  Standard 3-clause BSD; see "license.txt" for full license terms
+#           and contributor agreement.
+
+"""
+    Tests the h5py.File object.
+"""
+
+import h5py
+
+from ..common import ut, TestCase
+
+
+def nfiles():
+    return h5py.h5f.get_obj_count(h5py.h5f.OBJ_ALL, h5py.h5f.OBJ_FILE)
+
+def ngroups():
+    return h5py.h5f.get_obj_count(h5py.h5f.OBJ_ALL, h5py.h5f.OBJ_GROUP)
+
+        
+class TestDealloc(TestCase):
+
+    """ 
+        Behavior on object dellocation.  Note most of this behavior is
+        delegated to FileID.
+    """
+    
+    def test_autoclose(self):
+        """ File objects close automatically when out of scope, but
+        other objects remain open. """
+        
+        start_nfiles = nfiles()
+        start_ngroups = ngroups()
+        
+        fname = self.mktemp()
+        f = h5py.File(fname, 'w')
+        g = f['/']
+        
+        self.assertEqual(nfiles(), start_nfiles+1)
+        self.assertEqual(ngroups(), start_ngroups+1)
+        
+        del f
+        
+        self.assertTrue(g)
+        self.assertEqual(nfiles(), start_nfiles)
+        self.assertEqual(ngroups(), start_ngroups+1)
+        
+        f = g.file
+        
+        self.assertTrue(f)
+        self.assertEqual(nfiles(), start_nfiles+1)
+        self.assertEqual(ngroups(), start_ngroups+1)
+        
+        del g
+        
+        self.assertEqual(nfiles(), start_nfiles+1)
+        self.assertEqual(ngroups(), start_ngroups)
+        
+        del f
+        
+        self.assertEqual(nfiles(), start_nfiles)
+        self.assertEqual(ngroups(), start_ngroups)
\ No newline at end of file
diff --git a/h5py/tests/old/__init__.py b/h5py/tests/old/__init__.py
new file mode 100644
index 0000000..5062aea
--- /dev/null
+++ b/h5py/tests/old/__init__.py
@@ -0,0 +1,31 @@
+from . import ( test_attrs,
+                test_attrs_data,
+                test_base,
+                test_dataset,
+                test_datatype,
+                test_dimension_scales,
+                test_file,
+                test_group,
+                test_h5,
+                test_h5f,
+                test_h5p,
+                test_h5t,
+                test_objects,
+                test_selections,
+                test_slicing )
+                
+MODULES = ( test_attrs,
+                test_attrs_data,
+                test_base,
+                test_dataset,
+                test_datatype,
+                test_dimension_scales,
+                test_file,
+                test_group,
+                test_h5,
+                test_h5f,
+                test_h5p,
+                test_h5t,
+                test_objects,
+                test_selections,
+                test_slicing )
\ No newline at end of file
diff --git a/h5py/_hl/tests/common.py b/h5py/tests/old/common.py
similarity index 100%
rename from h5py/_hl/tests/common.py
rename to h5py/tests/old/common.py
diff --git a/h5py/_hl/tests/test_attrs.py b/h5py/tests/old/test_attrs.py
similarity index 94%
rename from h5py/_hl/tests/test_attrs.py
rename to h5py/tests/old/test_attrs.py
index 3a974a7..dae9b66 100644
--- a/h5py/_hl/tests/test_attrs.py
+++ b/h5py/tests/old/test_attrs.py
@@ -21,7 +21,7 @@ import collections
 from common import TestCase, ut
 
 from h5py.highlevel import File
-from h5py import h5a
+from h5py import h5a,  h5t
 from h5py.highlevel import AttributeManager
 
 
@@ -154,3 +154,10 @@ class TestMutableMapping(BaseAttrs):
         AttributeManager.__delitem__
         AttributeManager.__iter__
         AttributeManager.__len__
+
+class TestVlen(BaseAttrs):
+    def test_vlen(self):
+        a = np.array([np.arange(3), np.arange(4)],
+            dtype=h5t.special_dtype(vlen=int))
+        self.f.attrs['a'] = a
+        self.assertArrayEqual(self.f.attrs['a'][0], a[0])
diff --git a/h5py/_hl/tests/test_attrs_data.py b/h5py/tests/old/test_attrs_data.py
similarity index 100%
rename from h5py/_hl/tests/test_attrs_data.py
rename to h5py/tests/old/test_attrs_data.py
diff --git a/h5py/_hl/tests/test_base.py b/h5py/tests/old/test_base.py
similarity index 100%
rename from h5py/_hl/tests/test_base.py
rename to h5py/tests/old/test_base.py
diff --git a/h5py/_hl/tests/test_dataset.py b/h5py/tests/old/test_dataset.py
similarity index 73%
rename from h5py/_hl/tests/test_dataset.py
rename to h5py/tests/old/test_dataset.py
index aa834e2..24feec0 100644
--- a/h5py/_hl/tests/test_dataset.py
+++ b/h5py/tests/old/test_dataset.py
@@ -25,8 +25,8 @@ from h5py.highlevel import File, Group, Dataset
 from h5py import h5t
 import h5py
 
-class BaseDataset(TestCase):
 
+class BaseDataset(TestCase):
     def setUp(self):
         self.f = File(self.mktemp(), 'w')
 
@@ -34,8 +34,8 @@ class BaseDataset(TestCase):
         if self.f:
             self.f.close()
 
-class TestRepr(BaseDataset):
 
+class TestRepr(BaseDataset):
     """
         Feature: repr(Dataset) behaves sensibly
     """
@@ -47,6 +47,7 @@ class TestRepr(BaseDataset):
         self.f.close()
         self.assertIsInstance(repr(ds), basestring)
 
+
 class TestCreateShape(BaseDataset):
 
     """
@@ -82,6 +83,7 @@ class TestCreateShape(BaseDataset):
         with self.assertRaises(TypeError):
             self.f.create_dataset('foo')
 
+
 class TestCreateData(BaseDataset):
 
     """
@@ -109,17 +111,21 @@ class TestCreateData(BaseDataset):
     def test_reshape(self):
         """ Create from existing data, and make it fit a new shape """
         data = np.arange(30, dtype='f')
-        dset = self.f.create_dataset('foo', shape=(10,3), data=data)
-        self.assertEqual(dset.shape, (10,3))
-        self.assertArrayEqual(dset[...],data.reshape((10,3)))
+        dset = self.f.create_dataset('foo', shape=(10, 3), data=data)
+        self.assertEqual(dset.shape, (10, 3))
+        self.assertArrayEqual(dset[...], data.reshape((10, 3)))
 
     def test_appropriate_low_level_id(self):
         " Binding Dataset to a non-DatasetID identifier fails with ValueError "
         with self.assertRaises(ValueError):
             Dataset(self.f['/'].id)
 
+    @ut.expectedFailure
     def test_create_bytestring(self):
         """ Creating dataset with byte string yields vlen ASCII dataset """
+        # there was no test here!
+        self.assertEqual(True, False)
+
 
 class TestCreateRequire(BaseDataset):
 
@@ -129,43 +135,44 @@ class TestCreateRequire(BaseDataset):
 
     def test_create(self):
         """ Create new dataset with no conflicts """
-        dset = self.f.require_dataset('foo', (10,3), 'f')
+        dset = self.f.require_dataset('foo', (10, 3), 'f')
         self.assertIsInstance(dset, Dataset)
-        self.assertEqual(dset.shape, (10,3))
+        self.assertEqual(dset.shape, (10, 3))
 
     def test_create_existing(self):
         """ require_dataset yields existing dataset """
-        dset = self.f.require_dataset('foo', (10,3), 'f')
-        dset2 = self.f.require_dataset('foo',(10,3), 'f')
+        dset = self.f.require_dataset('foo', (10, 3), 'f')
+        dset2 = self.f.require_dataset('foo', (10, 3), 'f')
         self.assertEqual(dset, dset2)
 
     def test_shape_conflict(self):
         """ require_dataset with shape conflict yields TypeError """
-        self.f.create_dataset('foo', (10,3), 'f')
+        self.f.create_dataset('foo', (10, 3), 'f')
         with self.assertRaises(TypeError):
-            self.f.require_dataset('foo', (10,4), 'f')
+            self.f.require_dataset('foo', (10, 4), 'f')
 
     def test_type_confict(self):
         """ require_dataset with object type conflict yields TypeError """
         self.f.create_group('foo')
         with self.assertRaises(TypeError):
-            self.f.require_dataset('foo', (10,3), 'f')
+            self.f.require_dataset('foo', (10, 3), 'f')
 
     def test_dtype_conflict(self):
         """ require_dataset with dtype conflict (strict mode) yields TypeError
         """
-        dset = self.f.create_dataset('foo', (10,3), 'f')
+        dset = self.f.create_dataset('foo', (10, 3), 'f')
         with self.assertRaises(TypeError):
-            self.f.require_dataset('foo', (10,3), 'S10')
+            self.f.require_dataset('foo', (10, 3), 'S10')
 
     def test_dtype_close(self):
         """ require_dataset with convertible type succeeds (non-strict mode)
         """
-        dset = self.f.create_dataset('foo', (10,3), 'i4')
-        dset2 = self.f.require_dataset('foo', (10,3), 'i2', exact=False)
+        dset = self.f.create_dataset('foo', (10, 3), 'i4')
+        dset2 = self.f.require_dataset('foo', (10, 3), 'i2', exact=False)
         self.assertEqual(dset, dset2)
         self.assertEqual(dset2.dtype, np.dtype('i4'))
 
+
 class TestCreateChunked(BaseDataset):
 
     """
@@ -189,7 +196,7 @@ class TestCreateChunked(BaseDataset):
 
     def test_auto_chunks(self):
         """ Auto-chunking of datasets """
-        dset = self.f.create_dataset('foo', shape=(20,100), chunks=True)
+        dset = self.f.create_dataset('foo', shape=(20, 100), chunks=True)
         self.assertIsInstance(dset.chunks, tuple)
         self.assertEqual(len(dset.chunks), 2)
 
@@ -198,6 +205,7 @@ class TestCreateChunked(BaseDataset):
         dset = self.f.create_dataset('foo', shape=(3,), dtype='S100000000', chunks=True)
         self.assertEqual(dset.chunks, (1,))
 
+
 class TestCreateFillvalue(BaseDataset):
 
     """
@@ -223,7 +231,7 @@ class TestCreateFillvalue(BaseDataset):
 
     def test_compound(self):
         """ Fill value works with compound types """
-        dt = np.dtype([('a','f4'),('b','i8')])
+        dt = np.dtype([('a', 'f4'), ('b', 'i8')])
         v = np.ones((1,), dtype=dt)[0]
         dset = self.f.create_dataset('foo', (10,), dtype=dt, fillvalue=v)
         self.assertEqual(dset.fillvalue, v)
@@ -233,7 +241,8 @@ class TestCreateFillvalue(BaseDataset):
         """ Bogus fill value raises TypeError """
         with self.assertRaises(ValueError):
             dset = self.f.create_dataset('foo', (10,),
-                    dtype=[('a','i'),('b','f')], fillvalue=42)
+                    dtype=[('a', 'i'), ('b', 'f')], fillvalue=42)
+
 
 class TestCreateNamedType(BaseDataset):
 
@@ -249,6 +258,7 @@ class TestCreateNamedType(BaseDataset):
         self.assertEqual(dset.id.get_type(), self.f['type'].id)
         self.assertTrue(dset.id.get_type().committed())
 
+
 @ut.skipIf('gzip' not in h5py.filters.encode, "DEFLATE is not installed")
 class TestCreateGzip(BaseDataset):
 
@@ -258,34 +268,82 @@ class TestCreateGzip(BaseDataset):
 
     def test_gzip(self):
         """ Create with explicit gzip options """
-        dset = self.f.create_dataset('foo', (20,30), compression='gzip',
+        dset = self.f.create_dataset('foo', (20, 30), compression='gzip',
                                      compression_opts=9)
         self.assertEqual(dset.compression, 'gzip')
         self.assertEqual(dset.compression_opts, 9)
 
     def test_gzip_implicit(self):
         """ Create with implicit gzip level (level 4) """
-        dset = self.f.create_dataset('foo', (20,30), compression='gzip')
+        dset = self.f.create_dataset('foo', (20, 30), compression='gzip')
         self.assertEqual(dset.compression, 'gzip')
         self.assertEqual(dset.compression_opts, 4)
 
     def test_gzip_number(self):
         """ Create with gzip level by specifying integer """
-        dset = self.f.create_dataset('foo', (20,30), compression=7)
+        dset = self.f.create_dataset('foo', (20, 30), compression=7)
         self.assertEqual(dset.compression, 'gzip')
         self.assertEqual(dset.compression_opts, 7)
 
+        original_compression_vals = h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS
+        try:
+            h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS = tuple()
+            with self.assertRaises(ValueError):
+                dset = self.f.create_dataset('foo', (20, 30), compression=7)
+        finally:
+            h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS = original_compression_vals
+
     def test_gzip_exc(self):
         """ Illegal gzip level (explicit or implicit) raises ValueError """
+        with self.assertRaises((ValueError, RuntimeError)):
+            self.f.create_dataset('foo', (20, 30), compression=14)
         with self.assertRaises(ValueError):
-            self.f.create_dataset('foo', (20,30), compression=14)
+            self.f.create_dataset('foo', (20, 30), compression=-4)
         with self.assertRaises(ValueError):
-            self.f.create_dataset('foo', (20,30), compression=-4)
-        with self.assertRaises(ValueError):
-            self.f.create_dataset('foo', (20,30), compression='gzip',
+            self.f.create_dataset('foo', (20, 30), compression='gzip',
                                   compression_opts=14)
 
 
+ at ut.skipIf('gzip' not in h5py.filters.encode, "DEFLATE is not installed")
+class TestCreateCompressionNumber(BaseDataset):
+
+    """
+        Feature: Datasets created with a compression code
+    """
+
+    def test_compression_number(self):
+        """ Create with compression number of gzip (h5py.h5z.FILTER_DEFLATE) and a compression level of 7"""
+        original_compression_vals = h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS
+        try:
+            h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS = tuple()
+            dset = self.f.create_dataset('foo', (20, 30), compression=h5py.h5z.FILTER_DEFLATE, compression_opts=(7,))
+        finally:
+            h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS = original_compression_vals
+
+        self.assertEqual(dset.compression, 'gzip')
+        self.assertEqual(dset.compression_opts, 7)
+
+    def test_compression_number_invalid(self):
+        """ Create with invalid compression numbers  """
+        with self.assertRaises(ValueError) as e:
+            self.f.create_dataset('foo', (20, 30), compression=-999)
+        self.assertIn("Invalid filter", str(e.exception))
+
+        with self.assertRaises(ValueError) as e:
+            self.f.create_dataset('foo', (20, 30), compression=100)
+        self.assertIn("Unknown compression", str(e.exception))
+
+        original_compression_vals = h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS
+        try:
+            h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS = tuple()
+
+            # Using gzip compression requires a compression level specified in compression_opts
+            with self.assertRaises(IndexError):
+                self.f.create_dataset('foo', (20, 30), compression=h5py.h5z.FILTER_DEFLATE)
+        finally:
+            h5py._hl.dataset._LEGACY_GZIP_COMPRESSION_VALS = original_compression_vals
+
+
 @ut.skipIf('lzf' not in h5py.filters.encode, "LZF is not installed")
 class TestCreateLZF(BaseDataset):
 
@@ -295,14 +353,14 @@ class TestCreateLZF(BaseDataset):
 
     def test_lzf(self):
         """ Create with explicit lzf """
-        dset = self.f.create_dataset('foo', (20,30), compression='lzf')
+        dset = self.f.create_dataset('foo', (20, 30), compression='lzf')
         self.assertEqual(dset.compression, 'lzf')
         self.assertEqual(dset.compression_opts, None)
 
     def test_lzf_exc(self):
         """ Giving lzf options raises ValueError """
         with self.assertRaises(ValueError):
-            self.f.create_dataset('foo', (20,30), compression='lzf',
+            self.f.create_dataset('foo', (20, 30), compression='lzf',
                                   compression_opts=4)
 
 
@@ -315,8 +373,8 @@ class TestCreateSZIP(BaseDataset):
 
     def test_szip(self):
         """ Create with explicit szip """
-        dset = self.f.create_dataset('foo', (20,30), compression='szip',
-                                     compression_opts=('ec',16))
+        dset = self.f.create_dataset('foo', (20, 30), compression='szip',
+                                     compression_opts=('ec', 16))
 
 
 @ut.skipIf('shuffle' not in h5py.filters.encode, "SHUFFLE is not installed")
@@ -328,7 +386,7 @@ class TestCreateShuffle(BaseDataset):
 
     def test_shuffle(self):
         """ Enable shuffle filter """
-        dset = self.f.create_dataset('foo', (20,30), shuffle=True)
+        dset = self.f.create_dataset('foo', (20, 30), shuffle=True)
         self.assertTrue(dset.shuffle)
 
 
@@ -340,9 +398,10 @@ class TestCreateFletcher32(BaseDataset):
 
     def test_fletcher32(self):
         """ Enable fletcher32 filter """
-        dset = self.f.create_dataset('foo', (20,30), fletcher32=True)
+        dset = self.f.create_dataset('foo', (20, 30), fletcher32=True)
         self.assertTrue(dset.fletcher32)
 
+
 @ut.skipIf('scaleoffset' not in h5py.filters.encode, "SCALEOFFSET is not installed")
 class TestCreateScaleOffset(BaseDataset):
     """
@@ -353,14 +412,14 @@ class TestCreateScaleOffset(BaseDataset):
         """ Ensure that a scale factor is required for scaleoffset compression of floating point data """
 
         with self.assertRaises(ValueError):
-            dset = self.f.create_dataset('foo', (20,30), dtype=float, scaleoffset=True)
+            dset = self.f.create_dataset('foo', (20, 30), dtype=float, scaleoffset=True)
 
     def test_float(self):
         """ Scaleoffset filter works for floating point data """
 
         scalefac = 4
-        shape=(100,300)
-        range=20*10**scalefac
+        shape = (100, 300)
+        range = 20*10**scalefac
         testdata = (np.random.rand(*shape)-0.5)*range
 
         dset = self.f.create_dataset('foo', shape, dtype=float, scaleoffset=scalefac)
@@ -385,8 +444,8 @@ class TestCreateScaleOffset(BaseDataset):
         """ Scaleoffset filter works for integer data with default precision """
 
         nbits = 12
-        shape =  (100, 300)
-        testdata = np.random.randint(0, 2**nbits-1,size=shape)
+        shape = (100, 300)
+        testdata = np.random.randint(0, 2**nbits-1, size=shape)
 
         # Create dataset; note omission of nbits (for library-determined precision)
         dset = self.f.create_dataset('foo', shape, dtype=int, scaleoffset=True)
@@ -406,8 +465,8 @@ class TestCreateScaleOffset(BaseDataset):
         """ Scaleoffset filter works for integer data with specified precision """
 
         nbits = 12
-        shape =  (100, 300)
-        testdata = np.random.randint(0, 2**nbits,size=shape)
+        shape = (100, 300)
+        testdata = np.random.randint(0, 2**nbits, size=shape)
 
         dset = self.f.create_dataset('foo', shape, dtype=int, scaleoffset=nbits)
 
@@ -426,8 +485,8 @@ class TestCreateScaleOffset(BaseDataset):
         """ Scaleoffset filter works for integer data with specified precision """
 
         nbits = 12
-        shape =  (100, 300)
-        testdata = np.random.randint(0, 2**(nbits+1)-1,size=shape)
+        shape = (100, 300)
+        testdata = np.random.randint(0, 2**(nbits+1)-1, size=shape)
 
         dset = self.f.create_dataset('foo', shape, dtype=int, scaleoffset=nbits)
 
@@ -444,6 +503,7 @@ class TestCreateScaleOffset(BaseDataset):
         # Compression is lossy
         assert not (readdata == testdata).all()
 
+
 class TestAutoCreate(BaseDataset):
 
     """
@@ -478,6 +538,7 @@ class TestAutoCreate(BaseDataset):
         self.assertEqual(tid.get_size(), 11)
         self.assertEqual(tid.get_cset(), h5py.h5t.CSET_ASCII)
 
+
 class TestResize(BaseDataset):
 
     """
@@ -486,48 +547,49 @@ class TestResize(BaseDataset):
 
     def test_create(self):
         """ Create dataset with "maxshape" """
-        dset = self.f.create_dataset('foo', (20,30), maxshape=(20,60))
+        dset = self.f.create_dataset('foo', (20, 30), maxshape=(20, 60))
         self.assertIsNot(dset.chunks, None)
-        self.assertEqual(dset.maxshape, (20,60))
+        self.assertEqual(dset.maxshape, (20, 60))
 
     def test_resize(self):
         """ Datasets may be resized up to maxshape """
-        dset = self.f.create_dataset('foo', (20,30), maxshape=(20,60))
-        self.assertEqual(dset.shape, (20,30))
-        dset.resize((20,50))
-        self.assertEqual(dset.shape, (20,50))
-        dset.resize((20,60))
-        self.assertEqual(dset.shape, (20,60))
+        dset = self.f.create_dataset('foo', (20, 30), maxshape=(20, 60))
+        self.assertEqual(dset.shape, (20, 30))
+        dset.resize((20, 50))
+        self.assertEqual(dset.shape, (20, 50))
+        dset.resize((20, 60))
+        self.assertEqual(dset.shape, (20, 60))
 
     def test_resize_over(self):
         """ Resizing past maxshape triggers ValueError """
-        dset = self.f.create_dataset('foo', (20,30), maxshape=(20,60))
+        dset = self.f.create_dataset('foo', (20, 30), maxshape=(20, 60))
         with self.assertRaises(ValueError):
-            dset.resize((20,70))
+            dset.resize((20, 70))
 
     def test_resize_nonchunked(self):
         """ Resizing non-chunked dataset raises TypeError """
-        dset = self.f.create_dataset("foo", (20,30))
+        dset = self.f.create_dataset("foo", (20, 30))
         with self.assertRaises(TypeError):
-            dset.resize((20,60))
+            dset.resize((20, 60))
 
     def test_resize_axis(self):
         """ Resize specified axis """
-        dset = self.f.create_dataset('foo', (20,30), maxshape=(20,60))
+        dset = self.f.create_dataset('foo', (20, 30), maxshape=(20, 60))
         dset.resize(50, axis=1)
-        self.assertEqual(dset.shape, (20,50))
+        self.assertEqual(dset.shape, (20, 50))
 
     def test_axis_exc(self):
         """ Illegal axis raises ValueError """
-        dset = self.f.create_dataset('foo', (20,30), maxshape=(20,60))
+        dset = self.f.create_dataset('foo', (20, 30), maxshape=(20, 60))
         with self.assertRaises(ValueError):
             dset.resize(50, axis=2)
 
     def test_zero_dim(self):
         """ Allow zero-length initial dims for unlimited axes (issue 111) """
-        dset = self.f.create_dataset('foo', (15,0), maxshape=(15,None))
-        self.assertEqual(dset.shape, (15,0))
-        self.assertEqual(dset.maxshape, (15,None))
+        dset = self.f.create_dataset('foo', (15, 0), maxshape=(15, None))
+        self.assertEqual(dset.shape, (15, 0))
+        self.assertEqual(dset.maxshape, (15, None))
+
 
 class TestDtype(BaseDataset):
 
@@ -549,12 +611,12 @@ class TestLen(BaseDataset):
 
     def test_len(self):
         """ Python len() (under 32 bits) """
-        dset = self.f.create_dataset('foo', (312,15))
+        dset = self.f.create_dataset('foo', (312, 15))
         self.assertEqual(len(dset), 312)
 
     def test_len_big(self):
         """ Python len() vs Dataset.len() """
-        dset = self.f.create_dataset('foo', (2**33,15))
+        dset = self.f.create_dataset('foo', (2**33, 15))
         self.assertEqual(dset.shape, (2**33, 15))
         if sys.maxsize == 2**31-1:
             with self.assertRaises(OverflowError):
@@ -563,6 +625,7 @@ class TestLen(BaseDataset):
             self.assertEqual(len(dset), 2**33)
         self.assertEqual(dset.len(), 2**33)
 
+
 class TestIter(BaseDataset):
 
     """
@@ -571,11 +634,11 @@ class TestIter(BaseDataset):
 
     def test_iter(self):
         """ Iterating over a dataset yields rows """
-        data = np.arange(30, dtype='f').reshape((10,3))
+        data = np.arange(30, dtype='f').reshape((10, 3))
         dset = self.f.create_dataset('foo', data=data)
         for x, y in zip(dset, data):
             self.assertEqual(len(x), 3)
-            self.assertArrayEqual(x,y)
+            self.assertArrayEqual(x, y)
 
     def test_iter_scalar(self):
         """ Iterating over scalar dataset raises TypeError """
@@ -583,6 +646,7 @@ class TestIter(BaseDataset):
         with self.assertRaises(TypeError):
             [x for x in dset]
 
+
 class TestStrings(BaseDataset):
 
     """
@@ -614,7 +678,7 @@ class TestStrings(BaseDataset):
         tid = ds.id.get_type()
         self.assertEqual(type(tid), h5py.h5t.TypeStringID)
         self.assertFalse(tid.is_variable_str())
-        self.assertEqual(tid.get_size(),10)
+        self.assertEqual(tid.get_size(), 10)
         self.assertEqual(tid.get_cset(), h5py.h5t.CSET_ASCII)
 
     def test_fixed_unicode(self):
@@ -677,6 +741,7 @@ class TestStrings(BaseDataset):
         self.assertEqual(type(out), unicode)
         self.assertEqual(out, data)
 
+
 class TestCompound(BaseDataset):
 
     """
@@ -694,7 +759,7 @@ class TestCompound(BaseDataset):
                              ('status', np.uint8),
                              ('endpoint_type', np.uint8), ] )
 
-        testdata = np.ndarray((16,),dtype=dt)
+        testdata = np.ndarray((16,), dtype=dt)
         for key in dt.fields:
             testdata[key] = np.random.random((16,))*100
 
@@ -703,6 +768,7 @@ class TestCompound(BaseDataset):
         self.assertTrue(np.all(outdata == testdata))
         self.assertEqual(outdata.dtype, testdata.dtype)
 
+
 class TestEnum(BaseDataset):
 
     """
@@ -714,19 +780,20 @@ class TestEnum(BaseDataset):
     def test_create(self):
         """ Enum datasets can be created and type correctly round-trips """
         dt = h5py.special_dtype(enum=('i', self.EDICT))
-        ds = self.f.create_dataset('x', (100,100), dtype=dt)
+        ds = self.f.create_dataset('x', (100, 100), dtype=dt)
         dt2 = ds.dtype
         dict2 = h5py.check_dtype(enum=dt2)
-        self.assertEqual(dict2,self.EDICT)
+        self.assertEqual(dict2, self.EDICT)
 
     def test_readwrite(self):
         """ Enum datasets can be read/written as integers """
         dt = h5py.special_dtype(enum=('i4', self.EDICT))
-        ds = self.f.create_dataset('x', (100,100), dtype=dt)
-        ds[35,37] = 42
-        ds[1,:] = 1
-        self.assertEqual(ds[35,37], 42)
-        self.assertArrayEqual(ds[1,:], np.array((1,)*100,dtype='i4'))
+        ds = self.f.create_dataset('x', (100, 100), dtype=dt)
+        ds[35, 37] = 42
+        ds[1, :] = 1
+        self.assertEqual(ds[35, 37], 42)
+        self.assertArrayEqual(ds[1, :], np.array((1,)*100, dtype='i4'))
+
 
 class TestFloats(BaseDataset):
 
@@ -741,7 +808,7 @@ class TestFloats(BaseDataset):
         dset[...] = data
         self.assertArrayEqual(dset[...], data)
 
-    @ut.skipUnless(hasattr(np, 'float16'), "NumPy float16 support required") 
+    @ut.skipUnless(hasattr(np, 'float16'), "NumPy float16 support required")
     def test_mini(self):
         """ Mini-floats round trip """
         self._exectest(np.dtype('float16'))
@@ -754,6 +821,7 @@ class TestFloats(BaseDataset):
         else:
             self.assertEqual(h5t.IEEE_F16LE.dtype, np.dtype('<f4'))
 
+
 class TestTrackTimes(BaseDataset):
 
     """
@@ -766,6 +834,7 @@ class TestTrackTimes(BaseDataset):
         ds_mtime = h5py.h5g.get_objinfo(ds._id).mtime
         self.assertEqual(0, ds_mtime)
 
+
 class TestZeroShape(BaseDataset):
 
     """
@@ -777,12 +846,12 @@ class TestZeroShape(BaseDataset):
         ds = self.f.create_dataset('x', (0,), maxshape=(None,))
         self.assertEqual(ds.shape, np.array(ds).shape)
 
-        ds = self.f.create_dataset('y', (0,0), maxshape=(None,None))
+        ds = self.f.create_dataset('y', (0, 0), maxshape=(None, None))
         self.assertEqual(ds.shape, np.array(ds).shape)
 
     def test_reading(self):
         """ Slicing into empty datasets works correctly """
-        dt = [('a','f'),('b','i')]
+        dt = [('a', 'f'), ('b', 'i')]
         ds = self.f.create_dataset('x', (0,), dtype=dt, maxshape=(None,))
         arr = np.empty((0,), dtype=dt)
 
@@ -791,6 +860,7 @@ class TestZeroShape(BaseDataset):
         self.assertEqual(ds[()].shape, arr.shape)
         self.assertEqual(ds[()].dtype, arr.dtype)
 
+
 class TestRegionRefs(BaseDataset):
 
     """
@@ -799,23 +869,24 @@ class TestRegionRefs(BaseDataset):
 
     def setUp(self):
         BaseDataset.setUp(self)
-        self.data = np.arange(100*100).reshape((100,100))
+        self.data = np.arange(100*100).reshape((100, 100))
         self.dset = self.f.create_dataset('x', data=self.data)
         self.dset[...] = self.data
 
     def test_create_ref(self):
         """ Region references can be used as slicing arguments """
-        slic = np.s_[25:35,10:100:5]
+        slic = np.s_[25:35, 10:100:5]
         ref = self.dset.regionref[slic]
         self.assertArrayEqual(self.dset[ref], self.data[slic])
 
     def test_ref_shape(self):
         """ Region reference shape and selection shape """
-        slic = np.s_[25:35,10:100:5]
+        slic = np.s_[25:35, 10:100:5]
         ref = self.dset.regionref[slic]
         self.assertEqual(self.dset.regionref.shape(ref), self.dset.shape)
         self.assertEqual(self.dset.regionref.selection(ref), (10, 18))
 
+
 class TestAstype(BaseDataset):
 
     """
@@ -840,17 +911,68 @@ class TestScalarCompound(BaseDataset):
 
     def test_scalar_compound(self):
 
-        dt = np.dtype([('a','i')])
+        dt = np.dtype([('a', 'i')])
         dset = self.f.create_dataset('x', (), dtype=dt)
         self.assertEqual(dset['a'].dtype, np.dtype('i'))
 
 
-
-
-
-
-
-
-
-
-
+class TestVlen(BaseDataset):
+    def test_int(self):
+        dt = h5py.special_dtype(vlen=int)
+        ds = self.f.create_dataset('vlen', (4,), dtype=dt)
+        ds[0] = np.arange(3)
+        ds[1] = np.arange(0)
+        ds[2] = [1, 2, 3]
+        ds[3] = np.arange(1)
+        self.assertArrayEqual(ds[0], np.arange(3))
+        self.assertArrayEqual(ds[1], np.arange(0))
+        self.assertArrayEqual(ds[2], np.array([1, 2, 3]))
+        self.assertArrayEqual(ds[1], np.arange(0))
+        ds[0:2] = np.array([np.arange(5), np.arange(4)])
+        self.assertArrayEqual(ds[0], np.arange(5))
+        self.assertArrayEqual(ds[1], np.arange(4))
+        ds[0:2] = np.array([np.arange(3), np.arange(3)])
+        self.assertArrayEqual(ds[0], np.arange(3))
+        self.assertArrayEqual(ds[1], np.arange(3))
+
+    def test_convert(self):
+        dt = h5py.special_dtype(vlen=int)
+        ds = self.f.create_dataset('vlen', (3,), dtype=dt)
+        ds[0] = np.array([1.4, 1.2])
+        ds[1] = np.array([1.2])
+        ds[2] = [1.2, 2, 3]
+        self.assertArrayEqual(ds[0], np.array([1, 1]))
+        self.assertArrayEqual(ds[1], np.array([1]))
+        self.assertArrayEqual(ds[2], np.array([1, 2, 3]))
+        ds[0:2] = np.array([[0.1, 1.1, 2.1, 3.1, 4], np.arange(4)])
+        self.assertArrayEqual(ds[0], np.arange(5))
+        self.assertArrayEqual(ds[1], np.arange(4))
+        ds[0:2] = np.array([np.array([0.1, 1.2, 2.2]),
+                            np.array([0.2, 1.2, 2.2])])
+        self.assertArrayEqual(ds[0], np.arange(3))
+        self.assertArrayEqual(ds[1], np.arange(3))
+
+    def test_multidim(self):
+        dt = h5py.special_dtype(vlen=int)
+        ds = self.f.create_dataset('vlen', (2, 2), dtype=dt)
+        ds[0, 0] = np.arange(1)
+        ds[:, :] = np.array([[np.arange(3), np.arange(2)],
+                            [np.arange(1), np.arange(2)]])
+        ds[:, :] = np.array([[np.arange(2), np.arange(2)],
+                             [np.arange(2), np.arange(2)]])
+
+
+class TestLowOpen(BaseDataset):
+
+    def test_get_access_list(self):
+        """ Test H5Dget_access_plist """
+        ds = self.f.create_dataset('foo', (4,))
+        p_list = ds.id.get_access_plist()
+
+    def test_dapl(self):
+        """ Test the dapl keyword to h5d.open """
+        dapl = h5py.h5p.create(h5py.h5p.DATASET_ACCESS)
+        dset = self.f.create_dataset('x', (100,))
+        del dset
+        dsid = h5py.h5d.open(self.f.id, b'x', dapl)
+        self.assertIsInstance(dsid, h5py.h5d.DatasetID)
diff --git a/h5py/_hl/tests/test_datatype.py b/h5py/tests/old/test_datatype.py
similarity index 100%
rename from h5py/_hl/tests/test_datatype.py
rename to h5py/tests/old/test_datatype.py
diff --git a/h5py/_hl/tests/test_dimension_scales.py b/h5py/tests/old/test_dimension_scales.py
similarity index 93%
rename from h5py/_hl/tests/test_dimension_scales.py
rename to h5py/tests/old/test_dimension_scales.py
index ce384fb..7eef162 100644
--- a/h5py/_hl/tests/test_dimension_scales.py
+++ b/h5py/tests/old/test_dimension_scales.py
@@ -159,8 +159,8 @@ class TestDimensionsHighLevel(BaseDataset):
         self.f['data'].dims[2].detach_scale(self.f['x1'])
         self.assertEqual(len(self.f['data'].dims[2]), 1)
         self.assertEqual(self.f['data'].dims[2][0], self.f['x2'])
-        self.f['data2'].dims[2].detach_scale(self.f['x1'])
-        self.assertEqual(len(self.f['data2'].dims[2]), 0)
+        self.f['data'].dims[2].detach_scale(self.f['x2'])
+        self.assertEqual(len(self.f['data'].dims[2]), 0)
 
     def test_attach_scale(self):
         self.f['x3'] = self.f['x2'][...]
@@ -170,7 +170,7 @@ class TestDimensionsHighLevel(BaseDataset):
 
     def test_get_dimension_scale(self):
         self.assertEqual(self.f['data'].dims[2][0], self.f['x1'])
-        with self.assertRaises(IndexError):
+        with self.assertRaises(RuntimeError):
             self.f['data2'].dims[2][0], self.f['x2']
         self.assertEqual(self.f['data'].dims[2][''], self.f['x1'])
         self.assertEqual(self.f['data'].dims[2]['x2 name'], self.f['x2'])
@@ -195,3 +195,10 @@ class TestDimensionsHighLevel(BaseDataset):
 
     def test_repr(self):
         self.assertEqual(repr(self.f['data'].dims[2])[1:16], '"x" dimension 2')
+
+    def test_attributes(self):
+        self.f["data2"].attrs["DIMENSION_LIST"] = self.f["data"].attrs[
+            "DIMENSION_LIST"]
+        self.assertEqual(len(self.f['data2'].dims[0]), 0)
+        self.assertEqual(len(self.f['data2'].dims[1]), 1)
+        self.assertEqual(len(self.f['data2'].dims[2]), 2)
diff --git a/h5py/_hl/tests/test_file.py b/h5py/tests/old/test_file.py
similarity index 95%
rename from h5py/_hl/tests/test_file.py
rename to h5py/tests/old/test_file.py
index d0b066c..473bf46 100644
--- a/h5py/_hl/tests/test_file.py
+++ b/h5py/tests/old/test_file.py
@@ -15,7 +15,7 @@
 
 from __future__ import with_statement
 
-import os
+import os, stat
 
 from .common import ut, TestCase, unicode_filenames
 from h5py.highlevel import File
@@ -29,6 +29,30 @@ class TestFileOpen(TestCase):
         Feature: Opening files with Python-style modes.
     """
 
+    def test_default(self):
+        """ Default semantics in the presence or absence of a file """
+        fname = self.mktemp()
+
+        # No existing file; create a new file and open RW
+        with File(fname) as f:
+            self.assertTrue(f)
+            self.assertEqual(f.mode, 'r+')
+
+        # Existing readonly file; open read-only
+        os.chmod(fname, stat.S_IREAD)
+        try:
+            with File(fname) as f:
+                self.assertTrue(f)
+                self.assertEqual(f.mode, 'r')
+        finally:
+            os.chmod(fname, stat.S_IWRITE)
+
+        # File exists but is not HDF5; raise IOError
+        with open(fname, 'wb') as f:
+            f.write(b'\x00')
+        with self.assertRaises(IOError):
+            File(fname)
+        
     def test_create(self):
         """ Mode 'w' opens file in overwrite mode """
         fname = self.mktemp()
@@ -389,23 +413,6 @@ class TestFileProperty(TestCase):
         finally:
             hfile.close()
 
-    def test_property_object_id(self):
-        """ File property should have the same ObjectID as the original """
-        fname = self.mktemp()
-        hfile = File(fname, 'w')
-        try:
-            self.assertIs(hfile.id, hfile.file.id)
-        finally:
-            hfile.close()
-        # otherwise, following up with this next block would yield:
-        # ValueError: invalid file identifier
-        # (Invalid arguments to routine: Inappropriate type)
-        hfile = File(fname, 'w')
-        try:
-            self.assertEqual(hfile.id, hfile.file.id)
-        finally:
-            hfile.close()
-
     def test_close(self):
         """ All retrieved File objects are closed at the same time """
         fname = self.mktemp()
diff --git a/h5py/_hl/tests/test_group.py b/h5py/tests/old/test_group.py
similarity index 91%
rename from h5py/_hl/tests/test_group.py
rename to h5py/tests/old/test_group.py
index a954158..25329a1 100644
--- a/h5py/_hl/tests/test_group.py
+++ b/h5py/tests/old/test_group.py
@@ -282,21 +282,79 @@ class TestLen(BaseMapping):
         with self.assertRaises(ValueError):
             len(self.f)
 
-class TestContains(BaseMapping):
+class TestContains(BaseGroup):
 
     """
         Feature: The Python "in" builtin tests for containership
     """
 
     def test_contains(self):
-        """ "in" builtin works for containership """
-        self.assertIn('a', self.f)
-        self.assertNotIn('mongoose', self.f)
+        """ "in" builtin works for containership (byte and Unicode) """
+        self.f.create_group('a')
+        self.assertIn(b'a', self.f)
+        self.assertIn(u'a', self.f)
+        self.assertIn(b'/a', self.f)
+        self.assertIn(u'/a', self.f)
+        self.assertNotIn(b'mongoose', self.f)
+        self.assertNotIn(u'mongoose', self.f)
 
     def test_exc(self):
         """ "in" on closed group returns False (see also issue 174) """
+        self.f.create_group('a')
         self.f.close()
-        self.assertFalse('a' in self.f)
+        self.assertFalse(b'a' in self.f)
+        self.assertFalse(u'a' in self.f)
+
+    def test_empty(self):
+        """ Empty strings work properly and aren't contained """
+        self.assertNotIn(u'', self.f)
+        self.assertNotIn(b'', self.f)
+
+    def test_dot(self):
+        """ Current group "." is always contained """
+        self.assertIn(b'.', self.f)
+        self.assertIn(u'.', self.f)
+
+    def test_root(self):
+        """ Root group (by itself) is contained """
+        self.assertIn(b'/', self.f)
+        self.assertIn(u'/', self.f)
+
+    def test_trailing_slash(self):
+        """ Trailing slashes are unconditionally ignored """
+        self.f.create_group('group')
+        self.f['dataset'] = 42
+        self.assertIn('/group/', self.f)
+        self.assertIn('group/', self.f)
+        self.assertIn('/dataset/', self.f)
+        self.assertIn('dataset/', self.f)
+
+    def test_softlinks(self):
+        """ Broken softlinks are contained, but their members are not """
+        self.f.create_group('grp')
+        self.f['/grp/soft'] = h5py.SoftLink('/mongoose')
+        self.f['/grp/external'] = h5py.ExternalLink('mongoose.hdf5', '/mongoose')
+        self.assertIn('/grp/soft', self.f)
+        self.assertNotIn('/grp/soft/something', self.f)
+        self.assertIn('/grp/external', self.f)
+        self.assertNotIn('/grp/external/something', self.f)
+
+    def test_oddball_paths(self):
+        """ Technically legitimate (but odd-looking) paths """
+        self.f.create_group('x/y/z')
+        self.f['dset'] = 42
+        self.assertIn('/', self.f)
+        self.assertIn('//', self.f)
+        self.assertIn('///', self.f)
+        self.assertIn('.///', self.f)
+        self.assertIn('././/', self.f)
+        grp = self.f['x']
+        self.assertIn('.//x/y/z', self.f)
+        self.assertNotIn('.//x/y/z', grp)
+        self.assertIn('x///', self.f)
+        self.assertIn('./x///', self.f)
+        self.assertIn('dset///', self.f)
+        self.assertIn('/dset//', self.f)
 
 class TestIter(BaseMapping):
 
diff --git a/h5py/lowtest/test_h5.py b/h5py/tests/old/test_h5.py
similarity index 100%
rename from h5py/lowtest/test_h5.py
rename to h5py/tests/old/test_h5.py
diff --git a/h5py/lowtest/test_h5f.py b/h5py/tests/old/test_h5f.py
similarity index 100%
rename from h5py/lowtest/test_h5f.py
rename to h5py/tests/old/test_h5f.py
diff --git a/h5py/lowtest/test_h5p.py b/h5py/tests/old/test_h5p.py
similarity index 79%
rename from h5py/lowtest/test_h5p.py
rename to h5py/tests/old/test_h5p.py
index c7d0baa..8ca69a6 100644
--- a/h5py/lowtest/test_h5p.py
+++ b/h5py/tests/old/test_h5p.py
@@ -32,7 +32,7 @@ class TestDA(ut.TestCase):
     '''
     Feature: setting/getting chunk cache size on a dataset access property list
     '''
-    def test_chuck_cache(self):
+    def test_chunk_cache(self):
         '''test get/set chunk cache '''
         dalist = h5p.create(h5p.DATASET_ACCESS)
         nslots = 10000 # 40kb hash table
@@ -43,6 +43,28 @@ class TestDA(ut.TestCase):
         self.assertEqual((nslots, nbytes, w0),
                          dalist.get_chunk_cache())
 
+class TestFA(ut.TestCase):
+    '''
+    Feature: setting/getting mdc config on a file access property list
+    '''
+    def test_mdc_config(self):
+        '''test get/set mdc config '''
+        falist = h5p.create(h5p.FILE_ACCESS)
+    
+        config = falist.get_mdc_config()
+        falist.set_mdc_config(config)
+
+    def test_set_alignment(self):
+        '''test get/set chunk cache '''
+        falist = h5p.create(h5p.FILE_ACCESS)
+        threshold = 10 * 1024 # threshold of 10kiB
+        alignment = 1024 * 1024 # threshold of 1kiB
+
+        falist.set_alignment(threshold, alignment)
+        self.assertEqual((threshold, alignment),
+                         falist.get_alignment())
+
+
 class TestPL(ut.TestCase):
     def test_obj_track_times(self):
         """
diff --git a/h5py/lowtest/test_h5t.py b/h5py/tests/old/test_h5t.py
similarity index 100%
rename from h5py/lowtest/test_h5t.py
rename to h5py/tests/old/test_h5t.py
diff --git a/h5py/lowtest/test_objects.py b/h5py/tests/old/test_objects.py
similarity index 100%
rename from h5py/lowtest/test_objects.py
rename to h5py/tests/old/test_objects.py
diff --git a/h5py/_hl/tests/test_selections.py b/h5py/tests/old/test_selections.py
similarity index 76%
rename from h5py/_hl/tests/test_selections.py
rename to h5py/tests/old/test_selections.py
index a00a1e3..76f9699 100644
--- a/h5py/_hl/tests/test_selections.py
+++ b/h5py/tests/old/test_selections.py
@@ -55,27 +55,6 @@ class TestTypeGeneration(TestCase):
         self.assertEqual(out, np.dtype('i'))
         self.assertEqual(format, np.dtype( [('a','i')] ))
 
-    def test_objects(self):
-        """ Metadata is stripped from object types """
-        dt = h5py.special_dtype(ref=h5py.Reference)
-        
-        out, format = sel.read_dtypes(dt, ())
-        self.assertEqual(out, format)
-        self.assertEqual(format, dt)
-        self.assertTrue(out.fields is None)
-        self.assertTrue(format.fields is not None)
-
-    def test_compound_objects(self):
-        """ Metadata is stripped from output in compound types"""
-        reftype = h5py.special_dtype(ref=h5py.Reference)
-
-        dt = np.dtype( [('a','i'), ('b',reftype), ('c','|S10')] )
-
-        out, format = sel.read_dtypes(dt, ())
-        self.assertEqual(out, format)
-        self.assertEqual(format, dt)
-        self.assertTrue(all(x[0].fields is None for x in out.fields.values() if x[0].kind == 'O'))
-
 
 class TestScalarSliceRules(TestCase):
 
diff --git a/h5py/_hl/tests/test_slicing.py b/h5py/tests/old/test_slicing.py
similarity index 94%
rename from h5py/_hl/tests/test_slicing.py
rename to h5py/tests/old/test_slicing.py
index 06321dd..6ff3c8c 100644
--- a/h5py/_hl/tests/test_slicing.py
+++ b/h5py/tests/old/test_slicing.py
@@ -18,7 +18,7 @@
 
 import numpy as np
 
-from .common import ut, TestCase
+from .common import ut, TestCase, py3
 
 import h5py
 from h5py import h5s, h5t, h5d
@@ -297,8 +297,19 @@ class TestFieldNames(BaseSlicing):
         self.dset[...] = self.data
 
     def test_read(self):
-        """ Test read with field selections """
-        self.assertArrayEqual(self.dset['a'], self.data['a'])
+        """ Test read with field selections (bytes and unicode) """
+        if not py3:
+            # Byte strings are only allowed for field names on Py2
+            self.assertArrayEqual(self.dset[b'a'], self.data['a'])
+        self.assertArrayEqual(self.dset[u'a'], self.data['a'])
+
+    def test_unicode_names(self):
+        """ Unicode field names for for read and write """
+        self.assertArrayEqual(self.dset[u'a'], self.data['a'])
+        self.dset[u'a'] = 42
+        data = self.data.copy()
+        data['a'] = 42
+        self.assertArrayEqual(self.dset[u'a'], data['a'])
 
     def test_write(self):
         """ Test write with field selections """
diff --git a/h5py/utils.c b/h5py/utils.c
deleted file mode 100644
index 7b3ada9..0000000
--- a/h5py/utils.c
+++ /dev/null
@@ -1,4252 +0,0 @@
-/* Generated by Cython 0.18 on Mon Dec  9 16:00:33 2013 */
-
-#define PY_SSIZE_T_CLEAN
-#include "Python.h"
-#ifndef Py_PYTHON_H
-    #error Python headers needed to compile C extensions, please install development version of Python.
-#elif PY_VERSION_HEX < 0x02040000
-    #error Cython requires Python 2.4+.
-#else
-#include <stddef.h> /* For offsetof */
-#ifndef offsetof
-#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
-#endif
-#if !defined(WIN32) && !defined(MS_WINDOWS)
-  #ifndef __stdcall
-    #define __stdcall
-  #endif
-  #ifndef __cdecl
-    #define __cdecl
-  #endif
-  #ifndef __fastcall
-    #define __fastcall
-  #endif
-#endif
-#ifndef DL_IMPORT
-  #define DL_IMPORT(t) t
-#endif
-#ifndef DL_EXPORT
-  #define DL_EXPORT(t) t
-#endif
-#ifndef PY_LONG_LONG
-  #define PY_LONG_LONG LONG_LONG
-#endif
-#ifndef Py_HUGE_VAL
-  #define Py_HUGE_VAL HUGE_VAL
-#endif
-#ifdef PYPY_VERSION
-#define CYTHON_COMPILING_IN_PYPY 1
-#define CYTHON_COMPILING_IN_CPYTHON 0
-#else
-#define CYTHON_COMPILING_IN_PYPY 0
-#define CYTHON_COMPILING_IN_CPYTHON 1
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  typedef int Py_ssize_t;
-  #define PY_SSIZE_T_MAX INT_MAX
-  #define PY_SSIZE_T_MIN INT_MIN
-  #define PY_FORMAT_SIZE_T ""
-  #define CYTHON_FORMAT_SSIZE_T ""
-  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
-  #define PyNumber_Index(o)    ((PyNumber_Check(o) && !PyFloat_Check(o)) ? PyNumber_Int(o) : \
-                                (PyErr_Format(PyExc_TypeError, \
-                                              "expected index value, got %.200s", Py_TYPE(o)->tp_name), \
-                                 (PyObject*)0))
-  #define __Pyx_PyIndex_Check(o) (PyNumber_Check(o) && !PyFloat_Check(o) && \
-                                  !PyComplex_Check(o))
-  #define PyIndex_Check __Pyx_PyIndex_Check
-  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
-  #define __PYX_BUILD_PY_SSIZE_T "i"
-#else
-  #define __PYX_BUILD_PY_SSIZE_T "n"
-  #define CYTHON_FORMAT_SSIZE_T "z"
-  #define __Pyx_PyIndex_Check PyIndex_Check
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
-  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
-  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
-  #define PyVarObject_HEAD_INIT(type, size) \
-          PyObject_HEAD_INIT(type) size,
-  #define PyType_Modified(t)
-  typedef struct {
-     void *buf;
-     PyObject *obj;
-     Py_ssize_t len;
-     Py_ssize_t itemsize;
-     int readonly;
-     int ndim;
-     char *format;
-     Py_ssize_t *shape;
-     Py_ssize_t *strides;
-     Py_ssize_t *suboffsets;
-     void *internal;
-  } Py_buffer;
-  #define PyBUF_SIMPLE 0
-  #define PyBUF_WRITABLE 0x0001
-  #define PyBUF_FORMAT 0x0004
-  #define PyBUF_ND 0x0008
-  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
-  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
-  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
-  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
-  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
-  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
-  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
-  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
-  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
-#endif
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#else
-  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
-  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
-          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
-#endif
-#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
-  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define Py_TPFLAGS_CHECKTYPES 0
-  #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
-  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
-#endif
-#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
-  #define CYTHON_PEP393_ENABLED 1
-  #define __Pyx_PyUnicode_READY(op)       (likely(PyUnicode_IS_READY(op)) ? \
-                                              0 : _PyUnicode_Ready((PyObject *)(op)))
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_LENGTH(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
-  #define __Pyx_PyUnicode_READ(k, d, i)   PyUnicode_READ(k, d, i)
-#else
-  #define CYTHON_PEP393_ENABLED 0
-  #define __Pyx_PyUnicode_READY(op)       (0)
-  #define __Pyx_PyUnicode_GET_LENGTH(u)   PyUnicode_GET_SIZE(u)
-  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
-  #define __Pyx_PyUnicode_READ(k, d, i)   ((k=k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBaseString_Type            PyUnicode_Type
-  #define PyStringObject               PyUnicodeObject
-  #define PyString_Type                PyUnicode_Type
-  #define PyString_Check               PyUnicode_Check
-  #define PyString_CheckExact          PyUnicode_CheckExact
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PyBytesObject                PyStringObject
-  #define PyBytes_Type                 PyString_Type
-  #define PyBytes_Check                PyString_Check
-  #define PyBytes_CheckExact           PyString_CheckExact
-  #define PyBytes_FromString           PyString_FromString
-  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
-  #define PyBytes_FromFormat           PyString_FromFormat
-  #define PyBytes_DecodeEscape         PyString_DecodeEscape
-  #define PyBytes_AsString             PyString_AsString
-  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
-  #define PyBytes_Size                 PyString_Size
-  #define PyBytes_AS_STRING            PyString_AS_STRING
-  #define PyBytes_GET_SIZE             PyString_GET_SIZE
-  #define PyBytes_Repr                 PyString_Repr
-  #define PyBytes_Concat               PyString_Concat
-  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
-#endif
-#if PY_VERSION_HEX < 0x02060000
-  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
-  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
-#endif
-#ifndef PySet_CheckExact
-  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
-#endif
-#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
-#if PY_MAJOR_VERSION >= 3
-  #define PyIntObject                  PyLongObject
-  #define PyInt_Type                   PyLong_Type
-  #define PyInt_Check(op)              PyLong_Check(op)
-  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
-  #define PyInt_FromString             PyLong_FromString
-  #define PyInt_FromUnicode            PyLong_FromUnicode
-  #define PyInt_FromLong               PyLong_FromLong
-  #define PyInt_FromSize_t             PyLong_FromSize_t
-  #define PyInt_FromSsize_t            PyLong_FromSsize_t
-  #define PyInt_AsLong                 PyLong_AsLong
-  #define PyInt_AS_LONG                PyLong_AS_LONG
-  #define PyInt_AsSsize_t              PyLong_AsSsize_t
-  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
-  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject                 PyLongObject
-#endif
-#if PY_VERSION_HEX < 0x03020000
-  typedef long Py_hash_t;
-  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
-#else
-  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
-  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
-#endif
-#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
-  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
-  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
-#else
-  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
-  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
-  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
-        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
-        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
-            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
-#endif
-#if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
-#else
-  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
-  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
-  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
-#endif
-#if PY_VERSION_HEX < 0x02050000
-  #define __Pyx_NAMESTR(n) ((char *)(n))
-  #define __Pyx_DOCSTR(n)  ((char *)(n))
-#else
-  #define __Pyx_NAMESTR(n) (n)
-  #define __Pyx_DOCSTR(n)  (n)
-#endif
-
-
-#if PY_MAJOR_VERSION >= 3
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
-#else
-  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
-  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
-#endif
-
-#ifndef __PYX_EXTERN_C
-  #ifdef __cplusplus
-    #define __PYX_EXTERN_C extern "C"
-  #else
-    #define __PYX_EXTERN_C extern
-  #endif
-#endif
-
-#if defined(WIN32) || defined(MS_WINDOWS)
-#define _USE_MATH_DEFINES
-#endif
-#include <math.h>
-#define __PYX_HAVE__h5py__utils
-#define __PYX_HAVE_API__h5py__utils
-#include "stdlib.h"
-#include "string.h"
-#include "time.h"
-#include "unistd.h"
-#include "stdint.h"
-#include "api_compat.h"
-#include "lzf_filter.h"
-#include "hdf5.h"
-#include "H5Cpublic.h"
-#include "hdf5_hl.h"
-#include "numpy/arrayobject.h"
-#ifdef _OPENMP
-#include <omp.h>
-#endif /* _OPENMP */
-
-#ifdef PYREX_WITHOUT_ASSERTIONS
-#define CYTHON_WITHOUT_ASSERTIONS
-#endif
-
-#ifndef CYTHON_INLINE
-  #if defined(__GNUC__)
-    #define CYTHON_INLINE __inline__
-  #elif defined(_MSC_VER)
-    #define CYTHON_INLINE __inline
-  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-    #define CYTHON_INLINE inline
-  #else
-    #define CYTHON_INLINE
-  #endif
-#endif
-#ifndef CYTHON_UNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define CYTHON_UNUSED __attribute__ ((__unused__))
-#   else
-#     define CYTHON_UNUSED
-#   endif
-# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
-#   define CYTHON_UNUSED __attribute__ ((__unused__))
-# else
-#   define CYTHON_UNUSED
-# endif
-#endif
-typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
-
-#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
-#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
-#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
-#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
-#if CYTHON_COMPILING_IN_CPYTHON
-#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
-#else
-#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
-#endif
-#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
-
-
-#ifdef __GNUC__
-  /* Test for GCC > 2.95 */
-  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-    #define likely(x)   __builtin_expect(!!(x), 1)
-    #define unlikely(x) __builtin_expect(!!(x), 0)
-  #else /* __GNUC__ > 2 ... */
-    #define likely(x)   (x)
-    #define unlikely(x) (x)
-  #endif /* __GNUC__ > 2 ... */
-#else /* __GNUC__ */
-  #define likely(x)   (x)
-  #define unlikely(x) (x)
-#endif /* __GNUC__ */
-    
-static PyObject *__pyx_m;
-static PyObject *__pyx_b;
-static PyObject *__pyx_empty_tuple;
-static PyObject *__pyx_empty_bytes;
-static int __pyx_lineno;
-static int __pyx_clineno = 0;
-static const char * __pyx_cfilenm= __FILE__;
-static const char *__pyx_filename;
-
-
-static const char *__pyx_f[] = {
-  "utils.pyx",
-  "numpy.pxd",
-};
-
-/*--- Type declarations ---*/
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read;
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write;
-
-/* "h5py/utils.pxd":17
- * cdef void efree(void* ptr)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1
- * 
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_read {
-  int __pyx_n;
-  hid_t space_id;
-};
-
-/* "h5py/utils.pxd":18
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=*) except -1
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=*) except -1             # <<<<<<<<<<<<<<
- * 
- * cdef int convert_tuple(object tuple, hsize_t *dims, hsize_t rank) except -1
- */
-struct __pyx_opt_args_4h5py_5utils_check_numpy_write {
-  int __pyx_n;
-  hid_t space_id;
-};
-#ifndef CYTHON_REFNANNY
-  #define CYTHON_REFNANNY 0
-#endif
-#if CYTHON_REFNANNY
-  typedef struct {
-    void (*INCREF)(void*, PyObject*, int);
-    void (*DECREF)(void*, PyObject*, int);
-    void (*GOTREF)(void*, PyObject*, int);
-    void (*GIVEREF)(void*, PyObject*, int);
-    void* (*SetupContext)(const char*, int, const char*);
-    void (*FinishContext)(void**);
-  } __Pyx_RefNannyAPIStruct;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
-  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
-#ifdef WITH_THREAD
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          if (acquire_gil) { \
-              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-              PyGILState_Release(__pyx_gilstate_save); \
-          } else { \
-              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
-          }
-#else
-  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
-          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
-#endif
-  #define __Pyx_RefNannyFinishContext() \
-          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
-  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
-  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
-  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
-#else
-  #define __Pyx_RefNannyDeclarations
-  #define __Pyx_RefNannySetupContext(name, acquire_gil)
-  #define __Pyx_RefNannyFinishContext()
-  #define __Pyx_INCREF(r) Py_INCREF(r)
-  #define __Pyx_DECREF(r) Py_DECREF(r)
-  #define __Pyx_GOTREF(r)
-  #define __Pyx_GIVEREF(r)
-  #define __Pyx_XINCREF(r) Py_XINCREF(r)
-  #define __Pyx_XDECREF(r) Py_XDECREF(r)
-  #define __Pyx_XGOTREF(r)
-  #define __Pyx_XGIVEREF(r)
-#endif /* CYTHON_REFNANNY */
-#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
-#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
-
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
-    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
-    const char* function_name); /*proto*/
-
-static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
-    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact); /*proto*/
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
-
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
-    PyObject *r;
-    if (!j) return NULL;
-    r = PyObject_GetItem(o, j);
-    Py_DECREF(j);
-    return r;
-}
-#define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_List_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
-        PyObject *r = PyList_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Tuple_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
-        PyObject *r = PyTuple_GET_ITEM(o, i);
-        Py_INCREF(r);
-        return r;
-    }
-    else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
-        PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
-        Py_INCREF(r);
-        return r;
-    }
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-#else
-    return PySequence_GetItem(o, i);
-#endif
-}
-#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
-                                                    __Pyx_GetItemInt_Fast(o, i) : \
-                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
-static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (PyList_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
-            PyObject *r = PyList_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    }
-    else if (PyTuple_CheckExact(o)) {
-        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
-        if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
-            PyObject *r = PyTuple_GET_ITEM(o, n);
-            Py_INCREF(r);
-            return r;
-        }
-    } else {  /* inlined PySequence_GetItem() */
-        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
-        if (likely(m && m->sq_item)) {
-            if (unlikely(i < 0) && likely(m->sq_length)) {
-                Py_ssize_t l = m->sq_length(o);
-                if (unlikely(l < 0)) return NULL;
-                i += l;
-            }
-            return m->sq_item(o, i);
-        }
-    }
-#else
-    if (PySequence_Check(o)) {
-        return PySequence_GetItem(o, i);
-    }
-#endif
-    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
-}
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject *);
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t);
-
-static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject *);
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
-
-static void __Pyx_WriteUnraisable(const char *name, int clineno,
-                                  int lineno, const char *filename); /*proto*/
-
-static int __Pyx_check_binary_version(void);
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig); /*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
-
-static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
-
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
-
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig); /*proto*/
-
-typedef struct {
-    int code_line;
-    PyCodeObject* code_object;
-} __Pyx_CodeObjectCacheEntry;
-struct __Pyx_CodeObjectCache {
-    int count;
-    int max_count;
-    __Pyx_CodeObjectCacheEntry* entries;
-};
-static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
-static PyCodeObject *__pyx_find_code_object(int code_line);
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
-
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename); /*proto*/
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-
-
-/* Module declarations from 'h5py.api_types_ext' */
-
-/* Module declarations from 'h5py.api_types_hdf5' */
-
-/* Module declarations from 'h5py.defs' */
-static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims)(hid_t); /*proto*/
-static int (*__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims)(hid_t, hsize_t *, hsize_t *); /*proto*/
-
-/* Module declarations from 'numpy' */
-
-/* Module declarations from 'h5py.numpy' */
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_dtype = 0;
-static PyTypeObject *__pyx_ptype_4h5py_5numpy_ndarray = 0;
-
-/* Module declarations from 'h5py.utils' */
-static void *__pyx_f_4h5py_5utils_emalloc(size_t); /*proto*/
-static void __pyx_f_4h5py_5utils_efree(void *); /*proto*/
-static int __pyx_f_4h5py_5utils_check_numpy_read(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args); /*proto*/
-static int __pyx_f_4h5py_5utils_check_numpy_write(PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args); /*proto*/
-static int __pyx_f_4h5py_5utils_check_numpy(PyArrayObject *, hid_t, int); /*proto*/
-#define __Pyx_MODULE_NAME "h5py.utils"
-int __pyx_module_is_main_h5py__utils = 0;
-
-/* Implementation of 'h5py.utils' */
-static PyObject *__pyx_builtin_MemoryError;
-static PyObject *__pyx_builtin_TypeError;
-static PyObject *__pyx_builtin_ValueError;
-static PyObject *__pyx_builtin_RuntimeError;
-static PyObject *__pyx_pf_4h5py_5utils__test_emalloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size); /* proto */
-static PyObject *__pyx_pf_4h5py_5utils_2check_numpy_write(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_arr, hid_t __pyx_v_space_id); /* proto */
-static PyObject *__pyx_pf_4h5py_5utils_4check_numpy_read(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_arr, hid_t __pyx_v_space_id); /* proto */
-static char __pyx_k_1[] = "Can't malloc %d bytes";
-static char __pyx_k_2[] = "Array is None";
-static char __pyx_k_3[] = "Array must be C-contiguous and writable";
-static char __pyx_k_4[] = "Array must be C-contiguous";
-static char __pyx_k_5[] = "Numpy array rank %d must match dataspace rank %d.";
-static char __pyx_k_6[] = "Array dimensions are too small for the dataspace.";
-static char __pyx_k_7[] = "Array dimensions are too large for the dataspace.";
-static char __pyx_k_8[] = "Tuple length incompatible with array";
-static char __pyx_k_10[] = "Can't convert element %d (%s) to hsize_t";
-static char __pyx_k_11[] = "Can't map hsize_t %d to Numpy typecode";
-static char __pyx_k_12[] = "";
-static char __pyx_k_13[] = " of size %d";
-static char __pyx_k_14[] = " or None";
-static char __pyx_k_15[] = "%s must be a tuple%s%s.";
-static char __pyx_k_18[] = "/home/computer/h5py/h5py/utils.pyx";
-static char __pyx_k_19[] = "h5py.utils";
-static char __pyx_k__arr[] = "arr";
-static char __pyx_k__mem[] = "mem";
-static char __pyx_k__size[] = "size";
-static char __pyx_k____main__[] = "__main__";
-static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__space_id[] = "space_id";
-static char __pyx_k__TypeError[] = "TypeError";
-static char __pyx_k__ValueError[] = "ValueError";
-static char __pyx_k__MemoryError[] = "MemoryError";
-static char __pyx_k__RuntimeError[] = "RuntimeError";
-static char __pyx_k___test_emalloc[] = "_test_emalloc";
-static PyObject *__pyx_kp_s_1;
-static PyObject *__pyx_kp_s_10;
-static PyObject *__pyx_kp_s_11;
-static PyObject *__pyx_kp_s_12;
-static PyObject *__pyx_kp_s_13;
-static PyObject *__pyx_kp_s_14;
-static PyObject *__pyx_kp_s_15;
-static PyObject *__pyx_kp_s_18;
-static PyObject *__pyx_n_s_19;
-static PyObject *__pyx_kp_s_5;
-static PyObject *__pyx_kp_s_8;
-static PyObject *__pyx_n_s__MemoryError;
-static PyObject *__pyx_n_s__RuntimeError;
-static PyObject *__pyx_n_s__TypeError;
-static PyObject *__pyx_n_s__ValueError;
-static PyObject *__pyx_n_s____main__;
-static PyObject *__pyx_n_s____test__;
-static PyObject *__pyx_n_s___test_emalloc;
-static PyObject *__pyx_n_s__arr;
-static PyObject *__pyx_n_s__mem;
-static PyObject *__pyx_n_s__size;
-static PyObject *__pyx_n_s__space_id;
-static PyObject *__pyx_k_tuple_9;
-static PyObject *__pyx_k_tuple_16;
-static PyObject *__pyx_k_codeobj_17;
-
-/* "h5py/utils.pyx":25
- * # === Exception-aware memory allocation =======================================
- * 
- * cdef void* emalloc(size_t size) except? NULL:             # <<<<<<<<<<<<<<
- *     # Wrapper for malloc(size) with the following behavior:
- *     # 1. Always returns NULL for emalloc(0)
- */
-
-static void *__pyx_f_4h5py_5utils_emalloc(size_t __pyx_v_size) {
-  void *__pyx_v_retval;
-  PyObject *__pyx_v_errmsg = NULL;
-  void *__pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  char *__pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("emalloc", 0);
-
-  /* "h5py/utils.pyx":31
- *     # 3. Raises RuntimeError if allocation fails and returns NULL
- * 
- *     cdef void *retval = NULL             # <<<<<<<<<<<<<<
- * 
- *     if size == 0:
- */
-  __pyx_v_retval = NULL;
-
-  /* "h5py/utils.pyx":33
- *     cdef void *retval = NULL
- * 
- *     if size == 0:             # <<<<<<<<<<<<<<
- *         return NULL
- * 
- */
-  __pyx_t_1 = (__pyx_v_size == 0);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":34
- * 
- *     if size == 0:
- *         return NULL             # <<<<<<<<<<<<<<
- * 
- *     retval = malloc(size)
- */
-    __pyx_r = NULL;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/utils.pyx":36
- *         return NULL
- * 
- *     retval = malloc(size)             # <<<<<<<<<<<<<<
- *     if retval == NULL:
- *         errmsg = "Can't malloc %d bytes" % size
- */
-  __pyx_v_retval = malloc(__pyx_v_size);
-
-  /* "h5py/utils.pyx":37
- * 
- *     retval = malloc(size)
- *     if retval == NULL:             # <<<<<<<<<<<<<<
- *         errmsg = "Can't malloc %d bytes" % size
- *         PyErr_SetString(MemoryError, errmsg)
- */
-  __pyx_t_1 = (__pyx_v_retval == NULL);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":38
- *     retval = malloc(size)
- *     if retval == NULL:
- *         errmsg = "Can't malloc %d bytes" % size             # <<<<<<<<<<<<<<
- *         PyErr_SetString(MemoryError, errmsg)
- *         return NULL
- */
-    __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_v_size); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_1), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_v_errmsg = ((PyObject *)__pyx_t_3);
-    __pyx_t_3 = 0;
-
-    /* "h5py/utils.pyx":39
- *     if retval == NULL:
- *         errmsg = "Can't malloc %d bytes" % size
- *         PyErr_SetString(MemoryError, errmsg)             # <<<<<<<<<<<<<<
- *         return NULL
- * 
- */
-    __pyx_t_4 = PyBytes_AsString(__pyx_v_errmsg); if (unlikely((!__pyx_t_4) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    PyErr_SetString(__pyx_builtin_MemoryError, __pyx_t_4);
-
-    /* "h5py/utils.pyx":40
- *         errmsg = "Can't malloc %d bytes" % size
- *         PyErr_SetString(MemoryError, errmsg)
- *         return NULL             # <<<<<<<<<<<<<<
- * 
- *     return retval
- */
-    __pyx_r = NULL;
-    goto __pyx_L0;
-    goto __pyx_L4;
-  }
-  __pyx_L4:;
-
-  /* "h5py/utils.pyx":42
- *         return NULL
- * 
- *     return retval             # <<<<<<<<<<<<<<
- * 
- * cdef void efree(void* what):
- */
-  __pyx_r = __pyx_v_retval;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.utils.emalloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_errmsg);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":44
- *     return retval
- * 
- * cdef void efree(void* what):             # <<<<<<<<<<<<<<
- *     free(what)
- * 
- */
-
-static void __pyx_f_4h5py_5utils_efree(void *__pyx_v_what) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("efree", 0);
-
-  /* "h5py/utils.pyx":45
- * 
- * cdef void efree(void* what):
- *     free(what)             # <<<<<<<<<<<<<<
- * 
- * def _test_emalloc(size_t size):
- */
-  free(__pyx_v_what);
-
-  __Pyx_RefNannyFinishContext();
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_5utils_1_test_emalloc(PyObject *__pyx_self, PyObject *__pyx_arg_size); /*proto*/
-static char __pyx_doc_4h5py_5utils__test_emalloc[] = "Stub to simplify unit tests";
-static PyMethodDef __pyx_mdef_4h5py_5utils_1_test_emalloc = {__Pyx_NAMESTR("_test_emalloc"), (PyCFunction)__pyx_pw_4h5py_5utils_1_test_emalloc, METH_O, __Pyx_DOCSTR(__pyx_doc_4h5py_5utils__test_emalloc)};
-static PyObject *__pyx_pw_4h5py_5utils_1_test_emalloc(PyObject *__pyx_self, PyObject *__pyx_arg_size) {
-  size_t __pyx_v_size;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("_test_emalloc (wrapper)", 0);
-  assert(__pyx_arg_size); {
-    __pyx_v_size = __Pyx_PyInt_AsSize_t(__pyx_arg_size); if (unlikely((__pyx_v_size == (size_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.utils._test_emalloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  __pyx_r = __pyx_pf_4h5py_5utils__test_emalloc(__pyx_self, ((size_t)__pyx_v_size));
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":47
- *     free(what)
- * 
- * def _test_emalloc(size_t size):             # <<<<<<<<<<<<<<
- *     """Stub to simplify unit tests"""
- *     cdef void* mem
- */
-
-static PyObject *__pyx_pf_4h5py_5utils__test_emalloc(CYTHON_UNUSED PyObject *__pyx_self, size_t __pyx_v_size) {
-  void *__pyx_v_mem;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  void *__pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("_test_emalloc", 0);
-
-  /* "h5py/utils.pyx":50
- *     """Stub to simplify unit tests"""
- *     cdef void* mem
- *     mem = emalloc(size)             # <<<<<<<<<<<<<<
- *     if size == 0:
- *         assert mem == NULL
- */
-  __pyx_t_1 = __pyx_f_4h5py_5utils_emalloc(__pyx_v_size); if (unlikely(__pyx_t_1 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_mem = __pyx_t_1;
-
-  /* "h5py/utils.pyx":51
- *     cdef void* mem
- *     mem = emalloc(size)
- *     if size == 0:             # <<<<<<<<<<<<<<
- *         assert mem == NULL
- *     efree(mem)
- */
-  __pyx_t_2 = (__pyx_v_size == 0);
-  if (__pyx_t_2) {
-
-    /* "h5py/utils.pyx":52
- *     mem = emalloc(size)
- *     if size == 0:
- *         assert mem == NULL             # <<<<<<<<<<<<<<
- *     efree(mem)
- * 
- */
-    #ifndef CYTHON_WITHOUT_ASSERTIONS
-    if (unlikely(!(__pyx_v_mem == NULL))) {
-      PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-    #endif
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/utils.pyx":53
- *     if size == 0:
- *         assert mem == NULL
- *     efree(mem)             # <<<<<<<<<<<<<<
- * 
- * # === Testing of NumPy arrays =================================================
- */
-  __pyx_f_4h5py_5utils_efree(__pyx_v_mem);
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_AddTraceback("h5py.utils._test_emalloc", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":57
- * # === Testing of NumPy arrays =================================================
- * 
- * cdef int check_numpy(ndarray arr, hid_t space_id, int write):             # <<<<<<<<<<<<<<
- *     # -1 if exception, NOT AUTOMATICALLY CHECKED
- * 
- */
-
-static int __pyx_f_4h5py_5utils_check_numpy(PyArrayObject *__pyx_v_arr, hid_t __pyx_v_space_id, int __pyx_v_write) {
-  hsize_t __pyx_v_arr_rank;
-  hsize_t __pyx_v_space_rank;
-  hsize_t *__pyx_v_space_dims;
-  int __pyx_v_i;
-  PyObject *__pyx_v_err_msg = NULL;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  int __pyx_t_4;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  PyObject *__pyx_t_7 = NULL;
-  char *__pyx_t_8;
-  hsize_t __pyx_t_9;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("check_numpy", 0);
-
-  /* "h5py/utils.pyx":63
- *     cdef hsize_t arr_rank
- *     cdef hsize_t space_rank
- *     cdef hsize_t *space_dims = NULL             # <<<<<<<<<<<<<<
- *     cdef int i
- * 
- */
-  __pyx_v_space_dims = NULL;
-
-  /* "h5py/utils.pyx":66
- *     cdef int i
- * 
- *     if arr is None:             # <<<<<<<<<<<<<<
- *         PyErr_SetString(TypeError, "Array is None")
- *         return -1
- */
-  __pyx_t_1 = (((PyObject *)__pyx_v_arr) == Py_None);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":67
- * 
- *     if arr is None:
- *         PyErr_SetString(TypeError, "Array is None")             # <<<<<<<<<<<<<<
- *         return -1
- * 
- */
-    PyErr_SetString(__pyx_builtin_TypeError, __pyx_k_2);
-
-    /* "h5py/utils.pyx":68
- *     if arr is None:
- *         PyErr_SetString(TypeError, "Array is None")
- *         return -1             # <<<<<<<<<<<<<<
- * 
- *     # Validate array flags
- */
-    __pyx_r = -1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/utils.pyx":72
- *     # Validate array flags
- * 
- *     if write:             # <<<<<<<<<<<<<<
- *         if not (arr.flags & NPY_C_CONTIGUOUS and arr.flags & NPY_WRITEABLE):
- *             PyErr_SetString(TypeError, "Array must be C-contiguous and writable")
- */
-  if (__pyx_v_write) {
-
-    /* "h5py/utils.pyx":73
- * 
- *     if write:
- *         if not (arr.flags & NPY_C_CONTIGUOUS and arr.flags & NPY_WRITEABLE):             # <<<<<<<<<<<<<<
- *             PyErr_SetString(TypeError, "Array must be C-contiguous and writable")
- *             return -1
- */
-    __pyx_t_2 = (__pyx_v_arr->flags & NPY_C_CONTIGUOUS);
-    if (__pyx_t_2) {
-      __pyx_t_3 = (__pyx_v_arr->flags & NPY_WRITEABLE);
-      __pyx_t_1 = __pyx_t_3;
-    } else {
-      __pyx_t_1 = __pyx_t_2;
-    }
-    __pyx_t_4 = (!__pyx_t_1);
-    if (__pyx_t_4) {
-
-      /* "h5py/utils.pyx":74
- *     if write:
- *         if not (arr.flags & NPY_C_CONTIGUOUS and arr.flags & NPY_WRITEABLE):
- *             PyErr_SetString(TypeError, "Array must be C-contiguous and writable")             # <<<<<<<<<<<<<<
- *             return -1
- *     else:
- */
-      PyErr_SetString(__pyx_builtin_TypeError, __pyx_k_3);
-
-      /* "h5py/utils.pyx":75
- *         if not (arr.flags & NPY_C_CONTIGUOUS and arr.flags & NPY_WRITEABLE):
- *             PyErr_SetString(TypeError, "Array must be C-contiguous and writable")
- *             return -1             # <<<<<<<<<<<<<<
- *     else:
- *         if not (arr.flags & NPY_C_CONTIGUOUS):
- */
-      __pyx_r = -1;
-      goto __pyx_L0;
-      goto __pyx_L5;
-    }
-    __pyx_L5:;
-    goto __pyx_L4;
-  }
-  /*else*/ {
-
-    /* "h5py/utils.pyx":77
- *             return -1
- *     else:
- *         if not (arr.flags & NPY_C_CONTIGUOUS):             # <<<<<<<<<<<<<<
- *             PyErr_SetString(TypeError, "Array must be C-contiguous")
- *             return -1
- */
-    __pyx_t_4 = (!(__pyx_v_arr->flags & NPY_C_CONTIGUOUS));
-    if (__pyx_t_4) {
-
-      /* "h5py/utils.pyx":78
- *     else:
- *         if not (arr.flags & NPY_C_CONTIGUOUS):
- *             PyErr_SetString(TypeError, "Array must be C-contiguous")             # <<<<<<<<<<<<<<
- *             return -1
- * 
- */
-      PyErr_SetString(__pyx_builtin_TypeError, __pyx_k_4);
-
-      /* "h5py/utils.pyx":79
- *         if not (arr.flags & NPY_C_CONTIGUOUS):
- *             PyErr_SetString(TypeError, "Array must be C-contiguous")
- *             return -1             # <<<<<<<<<<<<<<
- * 
- *     # Validate dataspace compatibility, if it's provided
- */
-      __pyx_r = -1;
-      goto __pyx_L0;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-  }
-  __pyx_L4:;
-
-  /* "h5py/utils.pyx":83
- *     # Validate dataspace compatibility, if it's provided
- * 
- *     if space_id > 0:             # <<<<<<<<<<<<<<
- * 
- *         arr_rank = arr.nd
- */
-  __pyx_t_4 = (__pyx_v_space_id > 0);
-  if (__pyx_t_4) {
-
-    /* "h5py/utils.pyx":85
- *     if space_id > 0:
- * 
- *         arr_rank = arr.nd             # <<<<<<<<<<<<<<
- *         space_rank = H5Sget_simple_extent_ndims(space_id)
- * 
- */
-    __pyx_t_2 = __pyx_v_arr->nd;
-    __pyx_v_arr_rank = __pyx_t_2;
-
-    /* "h5py/utils.pyx":86
- * 
- *         arr_rank = arr.nd
- *         space_rank = H5Sget_simple_extent_ndims(space_id)             # <<<<<<<<<<<<<<
- * 
- *         if arr_rank != space_rank:
- */
-    __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims(__pyx_v_space_id); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_v_space_rank = __pyx_t_2;
-
-    /* "h5py/utils.pyx":88
- *         space_rank = H5Sget_simple_extent_ndims(space_id)
- * 
- *         if arr_rank != space_rank:             # <<<<<<<<<<<<<<
- *             err_msg = "Numpy array rank %d must match dataspace rank %d." % (arr_rank, space_rank)
- *             PyErr_SetString(TypeError, err_msg)
- */
-    __pyx_t_4 = (__pyx_v_arr_rank != __pyx_v_space_rank);
-    if (__pyx_t_4) {
-
-      /* "h5py/utils.pyx":89
- * 
- *         if arr_rank != space_rank:
- *             err_msg = "Numpy array rank %d must match dataspace rank %d." % (arr_rank, space_rank)             # <<<<<<<<<<<<<<
- *             PyErr_SetString(TypeError, err_msg)
- *             return -1
- */
-      __pyx_t_5 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_arr_rank); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_6 = __Pyx_PyInt_to_py_hsize_t(__pyx_v_space_rank); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_6);
-      __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(__pyx_t_7);
-      PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
-      __Pyx_GIVEREF(__pyx_t_5);
-      PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_t_6);
-      __Pyx_GIVEREF(__pyx_t_6);
-      __pyx_t_5 = 0;
-      __pyx_t_6 = 0;
-      __pyx_t_6 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_5), ((PyObject *)__pyx_t_7)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_6));
-      __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
-      __pyx_v_err_msg = ((PyObject *)__pyx_t_6);
-      __pyx_t_6 = 0;
-
-      /* "h5py/utils.pyx":90
- *         if arr_rank != space_rank:
- *             err_msg = "Numpy array rank %d must match dataspace rank %d." % (arr_rank, space_rank)
- *             PyErr_SetString(TypeError, err_msg)             # <<<<<<<<<<<<<<
- *             return -1
- * 
- */
-      __pyx_t_8 = PyBytes_AsString(__pyx_v_err_msg); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      PyErr_SetString(__pyx_builtin_TypeError, __pyx_t_8);
-
-      /* "h5py/utils.pyx":91
- *             err_msg = "Numpy array rank %d must match dataspace rank %d." % (arr_rank, space_rank)
- *             PyErr_SetString(TypeError, err_msg)
- *             return -1             # <<<<<<<<<<<<<<
- * 
- *         space_dims = <hsize_t*>malloc(sizeof(hsize_t)*space_rank)
- */
-      __pyx_r = -1;
-      goto __pyx_L0;
-      goto __pyx_L8;
-    }
-    __pyx_L8:;
-
-    /* "h5py/utils.pyx":93
- *             return -1
- * 
- *         space_dims = <hsize_t*>malloc(sizeof(hsize_t)*space_rank)             # <<<<<<<<<<<<<<
- *         try:
- *             space_rank = H5Sget_simple_extent_dims(space_id, space_dims, NULL)
- */
-    __pyx_v_space_dims = ((hsize_t *)malloc(((sizeof(hsize_t)) * __pyx_v_space_rank)));
-
-    /* "h5py/utils.pyx":94
- * 
- *         space_dims = <hsize_t*>malloc(sizeof(hsize_t)*space_rank)
- *         try:             # <<<<<<<<<<<<<<
- *             space_rank = H5Sget_simple_extent_dims(space_id, space_dims, NULL)
- * 
- */
-    /*try:*/ {
-
-      /* "h5py/utils.pyx":95
- *         space_dims = <hsize_t*>malloc(sizeof(hsize_t)*space_rank)
- *         try:
- *             space_rank = H5Sget_simple_extent_dims(space_id, space_dims, NULL)             # <<<<<<<<<<<<<<
- * 
- *             for i from 0 < i < space_rank:
- */
-      __pyx_t_2 = __pyx_f_4h5py_4defs_H5Sget_simple_extent_dims(__pyx_v_space_id, __pyx_v_space_dims, NULL); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; __pyx_clineno = __LINE__; goto __pyx_L10;}
-      __pyx_v_space_rank = __pyx_t_2;
-
-      /* "h5py/utils.pyx":97
- *             space_rank = H5Sget_simple_extent_dims(space_id, space_dims, NULL)
- * 
- *             for i from 0 < i < space_rank:             # <<<<<<<<<<<<<<
- * 
- *                 if write:
- */
-      __pyx_t_9 = __pyx_v_space_rank;
-      for (__pyx_v_i = 0+1; __pyx_v_i < __pyx_t_9; __pyx_v_i++) {
-
-        /* "h5py/utils.pyx":99
- *             for i from 0 < i < space_rank:
- * 
- *                 if write:             # <<<<<<<<<<<<<<
- *                     if PyArray_DIM(arr,i) < space_dims[i]:
- *                         PyErr_SetString(TypeError, "Array dimensions are too small for the dataspace.")
- */
-        if (__pyx_v_write) {
-
-          /* "h5py/utils.pyx":100
- * 
- *                 if write:
- *                     if PyArray_DIM(arr,i) < space_dims[i]:             # <<<<<<<<<<<<<<
- *                         PyErr_SetString(TypeError, "Array dimensions are too small for the dataspace.")
- *                         return -1
- */
-          __pyx_t_4 = (PyArray_DIM(__pyx_v_arr, __pyx_v_i) < (__pyx_v_space_dims[__pyx_v_i]));
-          if (__pyx_t_4) {
-
-            /* "h5py/utils.pyx":101
- *                 if write:
- *                     if PyArray_DIM(arr,i) < space_dims[i]:
- *                         PyErr_SetString(TypeError, "Array dimensions are too small for the dataspace.")             # <<<<<<<<<<<<<<
- *                         return -1
- *                 else:
- */
-            PyErr_SetString(__pyx_builtin_TypeError, __pyx_k_6);
-
-            /* "h5py/utils.pyx":102
- *                     if PyArray_DIM(arr,i) < space_dims[i]:
- *                         PyErr_SetString(TypeError, "Array dimensions are too small for the dataspace.")
- *                         return -1             # <<<<<<<<<<<<<<
- *                 else:
- *                     if PyArray_DIM(arr,i) > space_dims[i]:
- */
-            __pyx_r = -1;
-            goto __pyx_L9;
-            goto __pyx_L15;
-          }
-          __pyx_L15:;
-          goto __pyx_L14;
-        }
-        /*else*/ {
-
-          /* "h5py/utils.pyx":104
- *                         return -1
- *                 else:
- *                     if PyArray_DIM(arr,i) > space_dims[i]:             # <<<<<<<<<<<<<<
- *                         PyErr_SetString(TypeError, "Array dimensions are too large for the dataspace.")
- *                         return -1
- */
-          __pyx_t_4 = (PyArray_DIM(__pyx_v_arr, __pyx_v_i) > (__pyx_v_space_dims[__pyx_v_i]));
-          if (__pyx_t_4) {
-
-            /* "h5py/utils.pyx":105
- *                 else:
- *                     if PyArray_DIM(arr,i) > space_dims[i]:
- *                         PyErr_SetString(TypeError, "Array dimensions are too large for the dataspace.")             # <<<<<<<<<<<<<<
- *                         return -1
- *         finally:
- */
-            PyErr_SetString(__pyx_builtin_TypeError, __pyx_k_7);
-
-            /* "h5py/utils.pyx":106
- *                     if PyArray_DIM(arr,i) > space_dims[i]:
- *                         PyErr_SetString(TypeError, "Array dimensions are too large for the dataspace.")
- *                         return -1             # <<<<<<<<<<<<<<
- *         finally:
- *             free(space_dims)
- */
-            __pyx_r = -1;
-            goto __pyx_L9;
-            goto __pyx_L16;
-          }
-          __pyx_L16:;
-        }
-        __pyx_L14:;
-      }
-    }
-
-    /* "h5py/utils.pyx":108
- *                         return -1
- *         finally:
- *             free(space_dims)             # <<<<<<<<<<<<<<
- *     return 1
- * 
- */
-    /*finally:*/ {
-      int __pyx_why;
-      PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-      int __pyx_exc_lineno;
-      __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-      __pyx_why = 0; goto __pyx_L11;
-      __pyx_L9: __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-      __pyx_why = 3; goto __pyx_L11;
-      __pyx_L10: {
-        __pyx_why = 4;
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-        __pyx_exc_lineno = __pyx_lineno;
-        goto __pyx_L11;
-      }
-      __pyx_L11:;
-      free(__pyx_v_space_dims);
-      switch (__pyx_why) {
-        case 3: goto __pyx_L0;
-        case 4: {
-          __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-          __pyx_lineno = __pyx_exc_lineno;
-          __pyx_exc_type = 0;
-          __pyx_exc_value = 0;
-          __pyx_exc_tb = 0;
-          goto __pyx_L1_error;
-        }
-      }
-    }
-    goto __pyx_L7;
-  }
-  __pyx_L7:;
-
-  /* "h5py/utils.pyx":109
- *         finally:
- *             free(space_dims)
- *     return 1             # <<<<<<<<<<<<<<
- * 
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=-1) except -1:
- */
-  __pyx_r = 1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_XDECREF(__pyx_t_6);
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_WriteUnraisable("h5py.utils.check_numpy", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_err_msg);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":111
- *     return 1
- * 
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=-1) except -1:             # <<<<<<<<<<<<<<
- *     return check_numpy(arr, space_id, 1)
- * 
- */
-
-static PyObject *__pyx_pw_4h5py_5utils_3check_numpy_write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_4h5py_5utils_check_numpy_write(PyArrayObject *__pyx_v_arr, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args) {
-  hid_t __pyx_v_space_id = ((hid_t)-1);
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("check_numpy_write", 0);
-  if (__pyx_optional_args) {
-    if (__pyx_optional_args->__pyx_n > 0) {
-      __pyx_v_space_id = __pyx_optional_args->space_id;
-    }
-  }
-
-  /* "h5py/utils.pyx":112
- * 
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=-1) except -1:
- *     return check_numpy(arr, space_id, 1)             # <<<<<<<<<<<<<<
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=-1) except -1:
- */
-  __pyx_r = __pyx_f_4h5py_5utils_check_numpy(__pyx_v_arr, __pyx_v_space_id, 1);
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_5utils_3check_numpy_write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_4h5py_5utils_3check_numpy_write(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyArrayObject *__pyx_v_arr = 0;
-  hid_t __pyx_v_space_id;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("check_numpy_write (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__arr,&__pyx_n_s__space_id,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__arr)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space_id);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "check_numpy_write") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_arr = ((PyArrayObject *)values[0]);
-    if (values[1]) {
-      __pyx_v_space_id = __Pyx_PyInt_from_py_hid_t(values[1]); if (unlikely((__pyx_v_space_id == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_space_id = ((hid_t)-1);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("check_numpy_write", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.utils.check_numpy_write", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 1, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_5utils_2check_numpy_write(__pyx_self, __pyx_v_arr, __pyx_v_space_id);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":111
- *     return 1
- * 
- * cpdef int check_numpy_write(ndarray arr, hid_t space_id=-1) except -1:             # <<<<<<<<<<<<<<
- *     return check_numpy(arr, space_id, 1)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_5utils_2check_numpy_write(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_arr, hid_t __pyx_v_space_id) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  struct __pyx_opt_args_4h5py_5utils_check_numpy_write __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("check_numpy_write", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2.__pyx_n = 1;
-  __pyx_t_2.space_id = __pyx_v_space_id;
-  __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_write(__pyx_v_arr, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.utils.check_numpy_write", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":114
- *     return check_numpy(arr, space_id, 1)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=-1) except -1:             # <<<<<<<<<<<<<<
- *     return check_numpy(arr, space_id, 0)
- * 
- */
-
-static PyObject *__pyx_pw_4h5py_5utils_5check_numpy_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static int __pyx_f_4h5py_5utils_check_numpy_read(PyArrayObject *__pyx_v_arr, CYTHON_UNUSED int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args) {
-  hid_t __pyx_v_space_id = ((hid_t)-1);
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("check_numpy_read", 0);
-  if (__pyx_optional_args) {
-    if (__pyx_optional_args->__pyx_n > 0) {
-      __pyx_v_space_id = __pyx_optional_args->space_id;
-    }
-  }
-
-  /* "h5py/utils.pyx":115
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=-1) except -1:
- *     return check_numpy(arr, space_id, 0)             # <<<<<<<<<<<<<<
- * 
- * # === Conversion between HDF5 buffers and tuples ==============================
- */
-  __pyx_r = __pyx_f_4h5py_5utils_check_numpy(__pyx_v_arr, __pyx_v_space_id, 0);
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* Python wrapper */
-static PyObject *__pyx_pw_4h5py_5utils_5check_numpy_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static PyObject *__pyx_pw_4h5py_5utils_5check_numpy_read(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  PyArrayObject *__pyx_v_arr = 0;
-  hid_t __pyx_v_space_id;
-  PyObject *__pyx_r = 0;
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("check_numpy_read (wrapper)", 0);
-  {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__arr,&__pyx_n_s__space_id,0};
-    PyObject* values[2] = {0,0};
-    if (unlikely(__pyx_kwds)) {
-      Py_ssize_t kw_args;
-      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
-      switch (pos_args) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        case  0: break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-      kw_args = PyDict_Size(__pyx_kwds);
-      switch (pos_args) {
-        case  0:
-        if (likely((values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__arr)) != 0)) kw_args--;
-        else goto __pyx_L5_argtuple_error;
-        case  1:
-        if (kw_args > 0) {
-          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__space_id);
-          if (value) { values[1] = value; kw_args--; }
-        }
-      }
-      if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "check_numpy_read") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-      }
-    } else {
-      switch (PyTuple_GET_SIZE(__pyx_args)) {
-        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-        break;
-        default: goto __pyx_L5_argtuple_error;
-      }
-    }
-    __pyx_v_arr = ((PyArrayObject *)values[0]);
-    if (values[1]) {
-      __pyx_v_space_id = __Pyx_PyInt_from_py_hid_t(values[1]); if (unlikely((__pyx_v_space_id == (hid_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    } else {
-      __pyx_v_space_id = ((hid_t)-1);
-    }
-  }
-  goto __pyx_L4_argument_unpacking_done;
-  __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("check_numpy_read", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  __pyx_L3_error:;
-  __Pyx_AddTraceback("h5py.utils.check_numpy_read", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __Pyx_RefNannyFinishContext();
-  return NULL;
-  __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), __pyx_ptype_4h5py_5numpy_ndarray, 1, "arr", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4h5py_5utils_4check_numpy_read(__pyx_self, __pyx_v_arr, __pyx_v_space_id);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":114
- *     return check_numpy(arr, space_id, 1)
- * 
- * cpdef int check_numpy_read(ndarray arr, hid_t space_id=-1) except -1:             # <<<<<<<<<<<<<<
- *     return check_numpy(arr, space_id, 0)
- * 
- */
-
-static PyObject *__pyx_pf_4h5py_5utils_4check_numpy_read(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_arr, hid_t __pyx_v_space_id) {
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  struct __pyx_opt_args_4h5py_5utils_check_numpy_read __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("check_numpy_read", 0);
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_2.__pyx_n = 1;
-  __pyx_t_2.space_id = __pyx_v_space_id;
-  __pyx_t_1 = __pyx_f_4h5py_5utils_check_numpy_read(__pyx_v_arr, 0, &__pyx_t_2); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_3 = PyInt_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.utils.check_numpy_read", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = NULL;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":119
- * # === Conversion between HDF5 buffers and tuples ==============================
- * 
- * cdef int convert_tuple(object tpl, hsize_t *dims, hsize_t rank) except -1:             # <<<<<<<<<<<<<<
- *     # Convert a Python tuple to an hsize_t array.  You must allocate
- *     # the array yourself and pass both it and the size to this function.
- */
-
-static int __pyx_f_4h5py_5utils_convert_tuple(PyObject *__pyx_v_tpl, hsize_t *__pyx_v_dims, hsize_t __pyx_v_rank) {
-  int __pyx_v_i;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  Py_ssize_t __pyx_t_1;
-  int __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
-  PyObject *__pyx_t_5 = NULL;
-  PyObject *__pyx_t_6 = NULL;
-  hsize_t __pyx_t_7;
-  hsize_t __pyx_t_8;
-  int __pyx_t_9;
-  PyObject *__pyx_t_10 = NULL;
-  PyObject *__pyx_t_11 = NULL;
-  PyObject *__pyx_t_12 = NULL;
-  PyObject *__pyx_t_13 = NULL;
-  PyObject *__pyx_t_14 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("convert_tuple", 0);
-
-  /* "h5py/utils.pyx":125
- *     cdef int i
- * 
- *     if len(tpl) != rank:             # <<<<<<<<<<<<<<
- *         raise ValueError("Tuple length incompatible with array")
- * 
- */
-  __pyx_t_1 = PyObject_Length(__pyx_v_tpl); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 125; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_2 = (__pyx_t_1 != __pyx_v_rank);
-  if (__pyx_t_2) {
-
-    /* "h5py/utils.pyx":126
- * 
- *     if len(tpl) != rank:
- *         raise ValueError("Tuple length incompatible with array")             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-    __pyx_t_3 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/utils.pyx":128
- *         raise ValueError("Tuple length incompatible with array")
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         for i from 0<=i<rank:
- *             dims[i] = tpl[i]
- */
-  {
-    __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
-    __Pyx_XGOTREF(__pyx_t_4);
-    __Pyx_XGOTREF(__pyx_t_5);
-    __Pyx_XGOTREF(__pyx_t_6);
-    /*try:*/ {
-
-      /* "h5py/utils.pyx":129
- * 
- *     try:
- *         for i from 0<=i<rank:             # <<<<<<<<<<<<<<
- *             dims[i] = tpl[i]
- *     except TypeError:
- */
-      __pyx_t_7 = __pyx_v_rank;
-      for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_7; __pyx_v_i++) {
-
-        /* "h5py/utils.pyx":130
- *     try:
- *         for i from 0<=i<rank:
- *             dims[i] = tpl[i]             # <<<<<<<<<<<<<<
- *     except TypeError:
- *         raise TypeError("Can't convert element %d (%s) to hsize_t" % (i, tpl[i]))
- */
-        __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_tpl, __pyx_v_i, sizeof(int), PyInt_FromLong); if (!__pyx_t_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_GOTREF(__pyx_t_3);
-        __pyx_t_8 = __Pyx_PyInt_from_py_hsize_t(__pyx_t_3); if (unlikely((__pyx_t_8 == (hsize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 130; __pyx_clineno = __LINE__; goto __pyx_L4_error;}
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        (__pyx_v_dims[__pyx_v_i]) = __pyx_t_8;
-      }
-    }
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-    goto __pyx_L11_try_end;
-    __pyx_L4_error:;
-    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-    /* "h5py/utils.pyx":131
- *         for i from 0<=i<rank:
- *             dims[i] = tpl[i]
- *     except TypeError:             # <<<<<<<<<<<<<<
- *         raise TypeError("Can't convert element %d (%s) to hsize_t" % (i, tpl[i]))
- * 
- */
-    __pyx_t_9 = PyErr_ExceptionMatches(__pyx_builtin_TypeError);
-    if (__pyx_t_9) {
-      __Pyx_AddTraceback("h5py.utils.convert_tuple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_10, &__pyx_t_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 131; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_3);
-      __Pyx_GOTREF(__pyx_t_10);
-      __Pyx_GOTREF(__pyx_t_11);
-
-      /* "h5py/utils.pyx":132
- *             dims[i] = tpl[i]
- *     except TypeError:
- *         raise TypeError("Can't convert element %d (%s) to hsize_t" % (i, tpl[i]))             # <<<<<<<<<<<<<<
- * 
- *     return 0
- */
-      __pyx_t_12 = PyInt_FromLong(__pyx_v_i); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_12);
-      __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_tpl, __pyx_v_i, sizeof(int), PyInt_FromLong); if (!__pyx_t_13) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_13);
-      __pyx_t_14 = PyTuple_New(2); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_14);
-      PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_12);
-      __Pyx_GIVEREF(__pyx_t_12);
-      PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_13);
-      __Pyx_GIVEREF(__pyx_t_13);
-      __pyx_t_12 = 0;
-      __pyx_t_13 = 0;
-      __pyx_t_13 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_10), ((PyObject *)__pyx_t_14)); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_13));
-      __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0;
-      __pyx_t_14 = PyTuple_New(1); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_14);
-      PyTuple_SET_ITEM(__pyx_t_14, 0, ((PyObject *)__pyx_t_13));
-      __Pyx_GIVEREF(((PyObject *)__pyx_t_13));
-      __pyx_t_13 = 0;
-      __pyx_t_13 = PyObject_Call(__pyx_builtin_TypeError, ((PyObject *)__pyx_t_14), NULL); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_GOTREF(__pyx_t_13);
-      __Pyx_DECREF(((PyObject *)__pyx_t_14)); __pyx_t_14 = 0;
-      __Pyx_Raise(__pyx_t_13, 0, 0, 0);
-      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
-      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L6_except_error;}
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-      goto __pyx_L5_exception_handled;
-    }
-    __pyx_L6_except_error:;
-    __Pyx_XGIVEREF(__pyx_t_4);
-    __Pyx_XGIVEREF(__pyx_t_5);
-    __Pyx_XGIVEREF(__pyx_t_6);
-    __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
-    goto __pyx_L1_error;
-    __pyx_L5_exception_handled:;
-    __Pyx_XGIVEREF(__pyx_t_4);
-    __Pyx_XGIVEREF(__pyx_t_5);
-    __Pyx_XGIVEREF(__pyx_t_6);
-    __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
-    __pyx_L11_try_end:;
-  }
-
-  /* "h5py/utils.pyx":134
- *         raise TypeError("Can't convert element %d (%s) to hsize_t" % (i, tpl[i]))
- * 
- *     return 0             # <<<<<<<<<<<<<<
- * 
- * cdef object convert_dims(hsize_t* dims, hsize_t rank):
- */
-  __pyx_r = 0;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_10);
-  __Pyx_XDECREF(__pyx_t_11);
-  __Pyx_XDECREF(__pyx_t_12);
-  __Pyx_XDECREF(__pyx_t_13);
-  __Pyx_XDECREF(__pyx_t_14);
-  __Pyx_AddTraceback("h5py.utils.convert_tuple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":136
- *     return 0
- * 
- * cdef object convert_dims(hsize_t* dims, hsize_t rank):             # <<<<<<<<<<<<<<
- *     # Convert an hsize_t array to a Python tuple of ints.
- * 
- */
-
-static PyObject *__pyx_f_4h5py_5utils_convert_dims(hsize_t *__pyx_v_dims, hsize_t __pyx_v_rank) {
-  PyObject *__pyx_v_dims_list = 0;
-  int __pyx_v_i;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  PyObject *__pyx_t_1 = NULL;
-  hsize_t __pyx_t_2;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_t_4;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("convert_dims", 0);
-
-  /* "h5py/utils.pyx":141
- *     cdef list dims_list
- *     cdef int i
- *     dims_list = []             # <<<<<<<<<<<<<<
- * 
- *     for i from 0<=i<rank:
- */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 141; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_v_dims_list = ((PyObject*)__pyx_t_1);
-  __pyx_t_1 = 0;
-
-  /* "h5py/utils.pyx":143
- *     dims_list = []
- * 
- *     for i from 0<=i<rank:             # <<<<<<<<<<<<<<
- *         dims_list.append(int(dims[i]))
- * 
- */
-  __pyx_t_2 = __pyx_v_rank;
-  for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_2; __pyx_v_i++) {
-
-    /* "h5py/utils.pyx":144
- * 
- *     for i from 0<=i<rank:
- *         dims_list.append(int(dims[i]))             # <<<<<<<<<<<<<<
- * 
- *     return tuple(dims_list)
- */
-    __pyx_t_1 = __Pyx_PyInt_to_py_hsize_t((__pyx_v_dims[__pyx_v_i])); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
-    __Pyx_GIVEREF(__pyx_t_1);
-    __pyx_t_1 = 0;
-    __pyx_t_1 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_1);
-    __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-    __pyx_t_4 = PyList_Append(__pyx_v_dims_list, __pyx_t_1); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 144; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  }
-
-  /* "h5py/utils.pyx":146
- *         dims_list.append(int(dims[i]))
- * 
- *     return tuple(dims_list)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = ((PyObject *)PyList_AsTuple(__pyx_v_dims_list)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_r = ((PyObject *)__pyx_t_1);
-  __pyx_t_1 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.utils.convert_dims", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_dims_list);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":149
- * 
- * 
- * cdef object create_numpy_hsize(int rank, hsize_t* dims):             # <<<<<<<<<<<<<<
- *     # Create an empty Numpy array which can hold HDF5 hsize_t entries
- * 
- */
-
-static PyObject *__pyx_f_4h5py_5utils_create_numpy_hsize(int __pyx_v_rank, hsize_t *__pyx_v_dims) {
-  int __pyx_v_typecode;
-  npy_intp *__pyx_v_dims_npy;
-  PyArrayObject *__pyx_v_arr = 0;
-  int __pyx_v_i;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  void *__pyx_t_4;
-  int __pyx_t_5;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create_numpy_hsize", 0);
-
-  /* "h5py/utils.pyx":157
- *     cdef int i
- * 
- *     if sizeof(hsize_t) == 2:             # <<<<<<<<<<<<<<
- *         typecode = NPY_UINT16
- *     elif sizeof(hsize_t) == 4:
- */
-  __pyx_t_1 = ((sizeof(hsize_t)) == 2);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":158
- * 
- *     if sizeof(hsize_t) == 2:
- *         typecode = NPY_UINT16             # <<<<<<<<<<<<<<
- *     elif sizeof(hsize_t) == 4:
- *         typecode = NPY_UINT32
- */
-    __pyx_v_typecode = NPY_UINT16;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/utils.pyx":159
- *     if sizeof(hsize_t) == 2:
- *         typecode = NPY_UINT16
- *     elif sizeof(hsize_t) == 4:             # <<<<<<<<<<<<<<
- *         typecode = NPY_UINT32
- *     elif sizeof(hsize_t) == 8:
- */
-  __pyx_t_1 = ((sizeof(hsize_t)) == 4);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":160
- *         typecode = NPY_UINT16
- *     elif sizeof(hsize_t) == 4:
- *         typecode = NPY_UINT32             # <<<<<<<<<<<<<<
- *     elif sizeof(hsize_t) == 8:
- *         typecode = NPY_UINT64
- */
-    __pyx_v_typecode = NPY_UINT32;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/utils.pyx":161
- *     elif sizeof(hsize_t) == 4:
- *         typecode = NPY_UINT32
- *     elif sizeof(hsize_t) == 8:             # <<<<<<<<<<<<<<
- *         typecode = NPY_UINT64
- *     else:
- */
-  __pyx_t_1 = ((sizeof(hsize_t)) == 8);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":162
- *         typecode = NPY_UINT32
- *     elif sizeof(hsize_t) == 8:
- *         typecode = NPY_UINT64             # <<<<<<<<<<<<<<
- *     else:
- *         raise RuntimeError("Can't map hsize_t %d to Numpy typecode" % sizeof(hsize_t))
- */
-    __pyx_v_typecode = NPY_UINT64;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/utils.pyx":164
- *         typecode = NPY_UINT64
- *     else:
- *         raise RuntimeError("Can't map hsize_t %d to Numpy typecode" % sizeof(hsize_t))             # <<<<<<<<<<<<<<
- * 
- *     dims_npy = <npy_intp*>emalloc(sizeof(npy_intp)*rank)
- */
-    __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(hsize_t))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  /* "h5py/utils.pyx":166
- *         raise RuntimeError("Can't map hsize_t %d to Numpy typecode" % sizeof(hsize_t))
- * 
- *     dims_npy = <npy_intp*>emalloc(sizeof(npy_intp)*rank)             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_t_4 = __pyx_f_4h5py_5utils_emalloc(((sizeof(npy_intp)) * __pyx_v_rank)); if (unlikely(__pyx_t_4 == NULL && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 166; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_v_dims_npy = ((npy_intp *)__pyx_t_4);
-
-  /* "h5py/utils.pyx":168
- *     dims_npy = <npy_intp*>emalloc(sizeof(npy_intp)*rank)
- * 
- *     try:             # <<<<<<<<<<<<<<
- *         for i from 0<=i<rank:
- *             dims_npy[i] = dims[i]
- */
-  /*try:*/ {
-
-    /* "h5py/utils.pyx":169
- * 
- *     try:
- *         for i from 0<=i<rank:             # <<<<<<<<<<<<<<
- *             dims_npy[i] = dims[i]
- *         arr = PyArray_SimpleNew(rank, dims_npy, typecode)
- */
-    __pyx_t_5 = __pyx_v_rank;
-    for (__pyx_v_i = 0; __pyx_v_i < __pyx_t_5; __pyx_v_i++) {
-
-      /* "h5py/utils.pyx":170
- *     try:
- *         for i from 0<=i<rank:
- *             dims_npy[i] = dims[i]             # <<<<<<<<<<<<<<
- *         arr = PyArray_SimpleNew(rank, dims_npy, typecode)
- *     finally:
- */
-      (__pyx_v_dims_npy[__pyx_v_i]) = (__pyx_v_dims[__pyx_v_i]);
-    }
-
-    /* "h5py/utils.pyx":171
- *         for i from 0<=i<rank:
- *             dims_npy[i] = dims[i]
- *         arr = PyArray_SimpleNew(rank, dims_npy, typecode)             # <<<<<<<<<<<<<<
- *     finally:
- *         efree(dims_npy)
- */
-    __pyx_t_3 = PyArray_SimpleNew(__pyx_v_rank, __pyx_v_dims_npy, __pyx_v_typecode); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __Pyx_GOTREF(__pyx_t_3);
-    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_4h5py_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 171; __pyx_clineno = __LINE__; goto __pyx_L5;}
-    __pyx_v_arr = ((PyArrayObject *)__pyx_t_3);
-    __pyx_t_3 = 0;
-  }
-
-  /* "h5py/utils.pyx":173
- *         arr = PyArray_SimpleNew(rank, dims_npy, typecode)
- *     finally:
- *         efree(dims_npy)             # <<<<<<<<<<<<<<
- * 
- *     return arr
- */
-  /*finally:*/ {
-    int __pyx_why;
-    PyObject *__pyx_exc_type, *__pyx_exc_value, *__pyx_exc_tb;
-    int __pyx_exc_lineno;
-    __pyx_exc_type = 0; __pyx_exc_value = 0; __pyx_exc_tb = 0; __pyx_exc_lineno = 0;
-    __pyx_why = 0; goto __pyx_L6;
-    __pyx_L5: {
-      __pyx_why = 4;
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __Pyx_ErrFetch(&__pyx_exc_type, &__pyx_exc_value, &__pyx_exc_tb);
-      __pyx_exc_lineno = __pyx_lineno;
-      goto __pyx_L6;
-    }
-    __pyx_L6:;
-    __pyx_f_4h5py_5utils_efree(__pyx_v_dims_npy);
-    switch (__pyx_why) {
-      case 4: {
-        __Pyx_ErrRestore(__pyx_exc_type, __pyx_exc_value, __pyx_exc_tb);
-        __pyx_lineno = __pyx_exc_lineno;
-        __pyx_exc_type = 0;
-        __pyx_exc_value = 0;
-        __pyx_exc_tb = 0;
-        goto __pyx_L1_error;
-      }
-    }
-  }
-
-  /* "h5py/utils.pyx":175
- *         efree(dims_npy)
- * 
- *     return arr             # <<<<<<<<<<<<<<
- * 
- * cdef object create_hsize_array(object arr):
- */
-  __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_arr));
-  __pyx_r = ((PyObject *)__pyx_v_arr);
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.utils.create_numpy_hsize", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XDECREF((PyObject *)__pyx_v_arr);
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":177
- *     return arr
- * 
- * cdef object create_hsize_array(object arr):             # <<<<<<<<<<<<<<
- *     # Create a NumPy array of hsize_t uints initialized to an existing array
- * 
- */
-
-static PyObject *__pyx_f_4h5py_5utils_create_hsize_array(PyObject *__pyx_v_arr) {
-  int __pyx_v_typecode;
-  PyObject *__pyx_r = NULL;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("create_hsize_array", 0);
-
-  /* "h5py/utils.pyx":183
- *     cdef ndarray outarr
- * 
- *     if sizeof(hsize_t) == 2:             # <<<<<<<<<<<<<<
- *         typecode = NPY_UINT16
- *     elif sizeof(hsize_t) == 4:
- */
-  __pyx_t_1 = ((sizeof(hsize_t)) == 2);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":184
- * 
- *     if sizeof(hsize_t) == 2:
- *         typecode = NPY_UINT16             # <<<<<<<<<<<<<<
- *     elif sizeof(hsize_t) == 4:
- *         typecode = NPY_UINT32
- */
-    __pyx_v_typecode = NPY_UINT16;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/utils.pyx":185
- *     if sizeof(hsize_t) == 2:
- *         typecode = NPY_UINT16
- *     elif sizeof(hsize_t) == 4:             # <<<<<<<<<<<<<<
- *         typecode = NPY_UINT32
- *     elif sizeof(hsize_t) == 8:
- */
-  __pyx_t_1 = ((sizeof(hsize_t)) == 4);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":186
- *         typecode = NPY_UINT16
- *     elif sizeof(hsize_t) == 4:
- *         typecode = NPY_UINT32             # <<<<<<<<<<<<<<
- *     elif sizeof(hsize_t) == 8:
- *         typecode = NPY_UINT64
- */
-    __pyx_v_typecode = NPY_UINT32;
-    goto __pyx_L3;
-  }
-
-  /* "h5py/utils.pyx":187
- *     elif sizeof(hsize_t) == 4:
- *         typecode = NPY_UINT32
- *     elif sizeof(hsize_t) == 8:             # <<<<<<<<<<<<<<
- *         typecode = NPY_UINT64
- *     else:
- */
-  __pyx_t_1 = ((sizeof(hsize_t)) == 8);
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":188
- *         typecode = NPY_UINT32
- *     elif sizeof(hsize_t) == 8:
- *         typecode = NPY_UINT64             # <<<<<<<<<<<<<<
- *     else:
- *         raise RuntimeError("Can't map hsize_t %d to Numpy typecode" % sizeof(hsize_t))
- */
-    __pyx_v_typecode = NPY_UINT64;
-    goto __pyx_L3;
-  }
-  /*else*/ {
-
-    /* "h5py/utils.pyx":190
- *         typecode = NPY_UINT64
- *     else:
- *         raise RuntimeError("Can't map hsize_t %d to Numpy typecode" % sizeof(hsize_t))             # <<<<<<<<<<<<<<
- * 
- *     return PyArray_FROM_OTF(arr, typecode, NPY_CONTIGUOUS | NPY_NOTSWAPPED | NPY_FORCECAST)
- */
-    __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(hsize_t))); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), __pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    PyTuple_SET_ITEM(__pyx_t_2, 0, ((PyObject *)__pyx_t_3));
-    __Pyx_GIVEREF(((PyObject *)__pyx_t_3));
-    __pyx_t_3 = 0;
-    __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_3);
-    __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-    __Pyx_Raise(__pyx_t_3, 0, 0, 0);
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 190; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  }
-  __pyx_L3:;
-
-  /* "h5py/utils.pyx":192
- *         raise RuntimeError("Can't map hsize_t %d to Numpy typecode" % sizeof(hsize_t))
- * 
- *     return PyArray_FROM_OTF(arr, typecode, NPY_CONTIGUOUS | NPY_NOTSWAPPED | NPY_FORCECAST)             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = PyArray_FROM_OTF(__pyx_v_arr, __pyx_v_typecode, ((NPY_CONTIGUOUS | NPY_NOTSWAPPED) | NPY_FORCECAST)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 192; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __pyx_r = __pyx_t_3;
-  __pyx_t_3 = 0;
-  goto __pyx_L0;
-
-  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_AddTraceback("h5py.utils.create_hsize_array", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = 0;
-  __pyx_L0:;
-  __Pyx_XGIVEREF(__pyx_r);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-/* "h5py/utils.pyx":197
- * # === Argument testing ========================================================
- * 
- * cdef int require_tuple(object tpl, int none_allowed, int size, char* name) except -1:             # <<<<<<<<<<<<<<
- *     # Ensure that tpl is in fact a tuple, or None if none_allowed is nonzero.
- *     # If size >= 0, also ensure that the length matches.
- */
-
-static int __pyx_f_4h5py_5utils_require_tuple(PyObject *__pyx_v_tpl, int __pyx_v_none_allowed, int __pyx_v_size, char *__pyx_v_name) {
-  PyObject *__pyx_v_nmsg = NULL;
-  PyObject *__pyx_v_smsg = NULL;
-  PyObject *__pyx_v_msg = NULL;
-  int __pyx_r;
-  __Pyx_RefNannyDeclarations
-  int __pyx_t_1;
-  int __pyx_t_2;
-  int __pyx_t_3;
-  Py_ssize_t __pyx_t_4;
-  int __pyx_t_5;
-  int __pyx_t_6;
-  PyObject *__pyx_t_7 = NULL;
-  PyObject *__pyx_t_8 = NULL;
-  PyObject *__pyx_t_9 = NULL;
-  char *__pyx_t_10;
-  int __pyx_lineno = 0;
-  const char *__pyx_filename = NULL;
-  int __pyx_clineno = 0;
-  __Pyx_RefNannySetupContext("require_tuple", 0);
-
-  /* "h5py/utils.pyx":202
- *     # Otherwise raises ValueError
- * 
- *     if (tpl is None and none_allowed) or \             # <<<<<<<<<<<<<<
- *       (isinstance(tpl, tuple) and (size < 0 or len(tpl) == size)):
- *         return 1
- */
-  __pyx_t_1 = (__pyx_v_tpl == Py_None);
-  if (__pyx_t_1) {
-    __pyx_t_2 = __pyx_v_none_allowed;
-  } else {
-    __pyx_t_2 = __pyx_t_1;
-  }
-  if (!__pyx_t_2) {
-
-    /* "h5py/utils.pyx":203
- * 
- *     if (tpl is None and none_allowed) or \
- *       (isinstance(tpl, tuple) and (size < 0 or len(tpl) == size)):             # <<<<<<<<<<<<<<
- *         return 1
- * 
- */
-    __pyx_t_1 = PyTuple_Check(__pyx_v_tpl); 
-    if (__pyx_t_1) {
-      __pyx_t_3 = (__pyx_v_size < 0);
-      if (!__pyx_t_3) {
-        __pyx_t_4 = PyObject_Length(__pyx_v_tpl); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 203; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __pyx_t_5 = (__pyx_t_4 == __pyx_v_size);
-        __pyx_t_6 = __pyx_t_5;
-      } else {
-        __pyx_t_6 = __pyx_t_3;
-      }
-      __pyx_t_3 = __pyx_t_6;
-    } else {
-      __pyx_t_3 = __pyx_t_1;
-    }
-    __pyx_t_1 = __pyx_t_3;
-  } else {
-    __pyx_t_1 = __pyx_t_2;
-  }
-  if (__pyx_t_1) {
-
-    /* "h5py/utils.pyx":204
- *     if (tpl is None and none_allowed) or \
- *       (isinstance(tpl, tuple) and (size < 0 or len(tpl) == size)):
- *         return 1             # <<<<<<<<<<<<<<
- * 
- *     nmsg = "" if size < 0 else " of size %d" % size
- */
-    __pyx_r = 1;
-    goto __pyx_L0;
-    goto __pyx_L3;
-  }
-  __pyx_L3:;
-
-  /* "h5py/utils.pyx":206
- *         return 1
- * 
- *     nmsg = "" if size < 0 else " of size %d" % size             # <<<<<<<<<<<<<<
- *     smsg = "" if not none_allowed else " or None"
- * 
- */
-  if ((__pyx_v_size < 0)) {
-    __Pyx_INCREF(((PyObject *)__pyx_kp_s_12));
-    __pyx_t_7 = __pyx_kp_s_12;
-  } else {
-    __pyx_t_8 = PyInt_FromLong(__pyx_v_size); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_8);
-    __pyx_t_9 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_13), __pyx_t_8); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(((PyObject *)__pyx_t_9));
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-    __pyx_t_7 = ((PyObject*)__pyx_t_9);
-    __pyx_t_9 = 0;
-  }
-  __pyx_v_nmsg = ((PyObject *)__pyx_t_7);
-  __pyx_t_7 = 0;
-
-  /* "h5py/utils.pyx":207
- * 
- *     nmsg = "" if size < 0 else " of size %d" % size
- *     smsg = "" if not none_allowed else " or None"             # <<<<<<<<<<<<<<
- * 
- *     msg = "%s must be a tuple%s%s." % (name, smsg, nmsg)
- */
-  if ((!__pyx_v_none_allowed)) {
-    __Pyx_INCREF(((PyObject *)__pyx_kp_s_12));
-    __pyx_t_7 = __pyx_kp_s_12;
-  } else {
-    __Pyx_INCREF(((PyObject *)__pyx_kp_s_14));
-    __pyx_t_7 = __pyx_kp_s_14;
-  }
-  __pyx_v_smsg = ((PyObject *)__pyx_t_7);
-  __pyx_t_7 = 0;
-
-  /* "h5py/utils.pyx":209
- *     smsg = "" if not none_allowed else " or None"
- * 
- *     msg = "%s must be a tuple%s%s." % (name, smsg, nmsg)             # <<<<<<<<<<<<<<
- *     PyErr_SetString(ValueError, msg)
- *     return -1
- */
-  __pyx_t_7 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_7));
-  __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_9);
-  PyTuple_SET_ITEM(__pyx_t_9, 0, ((PyObject *)__pyx_t_7));
-  __Pyx_GIVEREF(((PyObject *)__pyx_t_7));
-  __Pyx_INCREF(__pyx_v_smsg);
-  PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_smsg);
-  __Pyx_GIVEREF(__pyx_v_smsg);
-  __Pyx_INCREF(__pyx_v_nmsg);
-  PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_v_nmsg);
-  __Pyx_GIVEREF(__pyx_v_nmsg);
-  __pyx_t_7 = 0;
-  __pyx_t_7 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_15), ((PyObject *)__pyx_t_9)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 209; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_7));
-  __Pyx_DECREF(((PyObject *)__pyx_t_9)); __pyx_t_9 = 0;
-  __pyx_v_msg = ((PyObject *)__pyx_t_7);
-  __pyx_t_7 = 0;
-
-  /* "h5py/utils.pyx":210
- * 
- *     msg = "%s must be a tuple%s%s." % (name, smsg, nmsg)
- *     PyErr_SetString(ValueError, msg)             # <<<<<<<<<<<<<<
- *     return -1
- * 
- */
-  __pyx_t_10 = PyBytes_AsString(__pyx_v_msg); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  PyErr_SetString(__pyx_builtin_ValueError, __pyx_t_10);
-
-  /* "h5py/utils.pyx":211
- *     msg = "%s must be a tuple%s%s." % (name, smsg, nmsg)
- *     PyErr_SetString(ValueError, msg)
- *     return -1             # <<<<<<<<<<<<<<
- * 
- * 
- */
-  __pyx_r = -1;
-  goto __pyx_L0;
-
-  __pyx_r = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_7);
-  __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_XDECREF(__pyx_t_9);
-  __Pyx_AddTraceback("h5py.utils.require_tuple", __pyx_clineno, __pyx_lineno, __pyx_filename);
-  __pyx_r = -1;
-  __pyx_L0:;
-  __Pyx_XDECREF(__pyx_v_nmsg);
-  __Pyx_XDECREF(__pyx_v_smsg);
-  __Pyx_XDECREF(__pyx_v_msg);
-  __Pyx_RefNannyFinishContext();
-  return __pyx_r;
-}
-
-static PyMethodDef __pyx_methods[] = {
-  {__Pyx_NAMESTR("check_numpy_write"), (PyCFunction)__pyx_pw_4h5py_5utils_3check_numpy_write, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)},
-  {__Pyx_NAMESTR("check_numpy_read"), (PyCFunction)__pyx_pw_4h5py_5utils_5check_numpy_read, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(0)},
-  {0, 0, 0, 0}
-};
-
-#if PY_MAJOR_VERSION >= 3
-static struct PyModuleDef __pyx_moduledef = {
-  #if PY_VERSION_HEX < 0x03020000
-    { PyObject_HEAD_INIT(NULL) NULL, 0, NULL },
-  #else
-    PyModuleDef_HEAD_INIT,
-  #endif
-    __Pyx_NAMESTR("utils"),
-    0, /* m_doc */
-    -1, /* m_size */
-    __pyx_methods /* m_methods */,
-    NULL, /* m_reload */
-    NULL, /* m_traverse */
-    NULL, /* m_clear */
-    NULL /* m_free */
-};
-#endif
-
-static __Pyx_StringTabEntry __pyx_string_tab[] = {
-  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
-  {&__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_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 0, 1, 0},
-  {&__pyx_kp_s_14, __pyx_k_14, sizeof(__pyx_k_14), 0, 0, 1, 0},
-  {&__pyx_kp_s_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 1, 0},
-  {&__pyx_kp_s_18, __pyx_k_18, sizeof(__pyx_k_18), 0, 0, 1, 0},
-  {&__pyx_n_s_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 0, 1, 1},
-  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
-  {&__pyx_kp_s_8, __pyx_k_8, sizeof(__pyx_k_8), 0, 0, 1, 0},
-  {&__pyx_n_s__MemoryError, __pyx_k__MemoryError, sizeof(__pyx_k__MemoryError), 0, 0, 1, 1},
-  {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1},
-  {&__pyx_n_s__TypeError, __pyx_k__TypeError, sizeof(__pyx_k__TypeError), 0, 0, 1, 1},
-  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
-  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
-  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
-  {&__pyx_n_s___test_emalloc, __pyx_k___test_emalloc, sizeof(__pyx_k___test_emalloc), 0, 0, 1, 1},
-  {&__pyx_n_s__arr, __pyx_k__arr, sizeof(__pyx_k__arr), 0, 0, 1, 1},
-  {&__pyx_n_s__mem, __pyx_k__mem, sizeof(__pyx_k__mem), 0, 0, 1, 1},
-  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
-  {&__pyx_n_s__space_id, __pyx_k__space_id, sizeof(__pyx_k__space_id), 0, 0, 1, 1},
-  {0, 0, 0, 0, 0, 0, 0}
-};
-static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_MemoryError = __Pyx_GetName(__pyx_b, __pyx_n_s__MemoryError); if (!__pyx_builtin_MemoryError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_TypeError = __Pyx_GetName(__pyx_b, __pyx_n_s__TypeError); if (!__pyx_builtin_TypeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-static int __Pyx_InitCachedConstants(void) {
-  __Pyx_RefNannyDeclarations
-  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
-
-  /* "h5py/utils.pyx":126
- * 
- *     if len(tpl) != rank:
- *         raise ValueError("Tuple length incompatible with array")             # <<<<<<<<<<<<<<
- * 
- *     try:
- */
-  __pyx_k_tuple_9 = PyTuple_Pack(1, ((PyObject *)__pyx_kp_s_8)); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 126; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_9);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));
-
-  /* "h5py/utils.pyx":47
- *     free(what)
- * 
- * def _test_emalloc(size_t size):             # <<<<<<<<<<<<<<
- *     """Stub to simplify unit tests"""
- *     cdef void* mem
- */
-  __pyx_k_tuple_16 = PyTuple_Pack(3, ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__size), ((PyObject *)__pyx_n_s__mem)); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_k_tuple_16);
-  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16));
-  __pyx_k_codeobj_17 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_18, __pyx_n_s___test_emalloc, 47, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_17)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_RefNannyFinishContext();
-  return 0;
-  __pyx_L1_error:;
-  __Pyx_RefNannyFinishContext();
-  return -1;
-}
-
-static int __Pyx_InitGlobals(void) {
-  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  return 0;
-  __pyx_L1_error:;
-  return -1;
-}
-
-#if PY_MAJOR_VERSION < 3
-PyMODINIT_FUNC initutils(void); /*proto*/
-PyMODINIT_FUNC initutils(void)
-#else
-PyMODINIT_FUNC PyInit_utils(void); /*proto*/
-PyMODINIT_FUNC PyInit_utils(void)
-#endif
-{
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  __Pyx_RefNannyDeclarations
-  #if CYTHON_REFNANNY
-  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
-  if (!__Pyx_RefNanny) {
-      PyErr_Clear();
-      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
-      if (!__Pyx_RefNanny)
-          Py_FatalError("failed to import 'refnanny' module");
-  }
-  #endif
-  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_utils(void)", 0);
-  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __Pyx_CyFunction_USED
-  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_FusedFunction_USED
-  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  #ifdef __Pyx_Generator_USED
-  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #endif
-  /*--- Library function declarations ---*/
-  /*--- Threads initialization code ---*/
-  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
-  #ifdef WITH_THREAD /* Python build with threading support? */
-  PyEval_InitThreads();
-  #endif
-  #endif
-  /*--- Module creation code ---*/
-  #if PY_MAJOR_VERSION < 3
-  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("utils"), __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
-  #else
-  __pyx_m = PyModule_Create(&__pyx_moduledef);
-  #endif
-  if (unlikely(!__pyx_m)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if PY_MAJOR_VERSION >= 3
-  {
-    PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!PyDict_GetItemString(modules, "h5py.utils")) {
-      if (unlikely(PyDict_SetItemString(modules, "h5py.utils", __pyx_m) < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    }
-  }
-  #endif
-  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME)); if (unlikely(!__pyx_b)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #if CYTHON_COMPILING_IN_PYPY
-  Py_INCREF(__pyx_b);
-  #endif
-  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  /*--- Initialize various global constants etc. ---*/
-  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__pyx_module_is_main_h5py__utils) {
-    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
-  }
-  /*--- Builtin init code ---*/
-  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Constants init code ---*/
-  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Global init code ---*/
-  /*--- Variable export code ---*/
-  /*--- Function export code ---*/
-  if (__Pyx_ExportFunction("emalloc", (void (*)(void))__pyx_f_4h5py_5utils_emalloc, "void *(size_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("efree", (void (*)(void))__pyx_f_4h5py_5utils_efree, "void (void *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("check_numpy_read", (void (*)(void))__pyx_f_4h5py_5utils_check_numpy_read, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_read *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("check_numpy_write", (void (*)(void))__pyx_f_4h5py_5utils_check_numpy_write, "int (PyArrayObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_4h5py_5utils_check_numpy_write *__pyx_optional_args)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("convert_tuple", (void (*)(void))__pyx_f_4h5py_5utils_convert_tuple, "int (PyObject *, hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("convert_dims", (void (*)(void))__pyx_f_4h5py_5utils_convert_dims, "PyObject *(hsize_t *, hsize_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("require_tuple", (void (*)(void))__pyx_f_4h5py_5utils_require_tuple, "int (PyObject *, int, int, char *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("create_numpy_hsize", (void (*)(void))__pyx_f_4h5py_5utils_create_numpy_hsize, "PyObject *(int, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ExportFunction("create_hsize_array", (void (*)(void))__pyx_f_4h5py_5utils_create_hsize_array, "PyObject *(PyObject *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Type init code ---*/
-  /*--- Type import code ---*/
-  __pyx_ptype_4h5py_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_4h5py_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_4h5py_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 71; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  /*--- Variable import code ---*/
-  /*--- Function import code ---*/
-  __pyx_t_1 = __Pyx_ImportModule("h5py.defs"); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_ndims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_ndims, "int (hid_t)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (__Pyx_ImportFunction(__pyx_t_1, "H5Sget_simple_extent_dims", (void (**)(void))&__pyx_f_4h5py_4defs_H5Sget_simple_extent_dims, "int (hid_t, hsize_t *, hsize_t *)") < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  Py_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  /*--- Execution code ---*/
-
-  /* "h5py/utils.pyx":21
- * 
- * # Initialization
- * import_array()             # <<<<<<<<<<<<<<
- * 
- * # === Exception-aware memory allocation =======================================
- */
-  import_array();
-
-  /* "h5py/utils.pyx":47
- *     free(what)
- * 
- * def _test_emalloc(size_t size):             # <<<<<<<<<<<<<<
- *     """Stub to simplify unit tests"""
- *     cdef void* mem
- */
-  __pyx_t_2 = PyCFunction_NewEx(&__pyx_mdef_4h5py_5utils_1_test_emalloc, NULL, __pyx_n_s_19); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s___test_emalloc, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-  /* "h5py/utils.pyx":1
- * # cython: profile=False             # <<<<<<<<<<<<<<
- * 
- * # This file is part of h5py, a Python interface to the HDF5 library.
- */
-  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
-  goto __pyx_L0;
-  __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  if (__pyx_m) {
-    __Pyx_AddTraceback("init h5py.utils", __pyx_clineno, __pyx_lineno, __pyx_filename);
-    Py_DECREF(__pyx_m); __pyx_m = 0;
-  } else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_ImportError, "init h5py.utils");
-  }
-  __pyx_L0:;
-  __Pyx_RefNannyFinishContext();
-  #if PY_MAJOR_VERSION < 3
-  return;
-  #else
-  return __pyx_m;
-  #endif
-}
-
-/* Runtime support code */
-#if CYTHON_REFNANNY
-static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-}
-#endif /* CYTHON_REFNANNY */
-
-static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
-    PyObject *result;
-    result = PyObject_GetAttr(dict, name);
-    if (!result) {
-        if (dict != __pyx_b) {
-            PyErr_Clear();
-            result = PyObject_GetAttr(__pyx_b, name);
-        }
-        if (!result) {
-            PyErr_SetObject(PyExc_NameError, name);
-        }
-    }
-    return result;
-}
-
-static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->curexc_type;
-    tmp_value = tstate->curexc_value;
-    tmp_tb = tstate->curexc_traceback;
-    tstate->curexc_type = type;
-    tstate->curexc_value = value;
-    tstate->curexc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_Restore(type, value, tb);
-#endif
-}
-static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->curexc_type;
-    *value = tstate->curexc_value;
-    *tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(type, value, tb);
-#endif
-}
-
-static void __Pyx_RaiseDoubleKeywordsError(
-    const char* func_name,
-    PyObject* kw_name)
-{
-    PyErr_Format(PyExc_TypeError,
-        #if PY_MAJOR_VERSION >= 3
-        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
-        #else
-        "%s() got multiple values for keyword argument '%s'", func_name,
-        PyString_AsString(kw_name));
-        #endif
-}
-
-static int __Pyx_ParseOptionalKeywords(
-    PyObject *kwds,
-    PyObject **argnames[],
-    PyObject *kwds2,
-    PyObject *values[],
-    Py_ssize_t num_pos_args,
-    const char* function_name)
-{
-    PyObject *key = 0, *value = 0;
-    Py_ssize_t pos = 0;
-    PyObject*** name;
-    PyObject*** first_kw_arg = argnames + num_pos_args;
-    while (PyDict_Next(kwds, &pos, &key, &value)) {
-        name = first_kw_arg;
-        while (*name && (**name != key)) name++;
-        if (*name) {
-            values[name-argnames] = value;
-            continue;
-        }
-        name = first_kw_arg;
-        #if PY_MAJOR_VERSION < 3
-        if (likely(PyString_CheckExact(key)) || likely(PyString_Check(key))) {
-            while (*name) {
-                if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key))
-                        && _PyString_Eq(**name, key)) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    if ((**argname == key) || (
-                            (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key))
-                             && _PyString_Eq(**argname, key))) {
-                        goto arg_passed_twice;
-                    }
-                    argname++;
-                }
-            }
-        } else
-        #endif
-        if (likely(PyUnicode_Check(key))) {
-            while (*name) {
-                int cmp = (**name == key) ? 0 :
-                #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                    (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
-                #endif
-                    PyUnicode_Compare(**name, key);
-                if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                if (cmp == 0) {
-                    values[name-argnames] = value;
-                    break;
-                }
-                name++;
-            }
-            if (*name) continue;
-            else {
-                PyObject*** argname = argnames;
-                while (argname != first_kw_arg) {
-                    int cmp = (**argname == key) ? 0 :
-                    #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
-                        (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
-                    #endif
-                        PyUnicode_Compare(**argname, key);
-                    if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad;
-                    if (cmp == 0) goto arg_passed_twice;
-                    argname++;
-                }
-            }
-        } else
-            goto invalid_keyword_type;
-        if (kwds2) {
-            if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
-        } else {
-            goto invalid_keyword;
-        }
-    }
-    return 0;
-arg_passed_twice:
-    __Pyx_RaiseDoubleKeywordsError(function_name, key);
-    goto bad;
-invalid_keyword_type:
-    PyErr_Format(PyExc_TypeError,
-        "%s() keywords must be strings", function_name);
-    goto bad;
-invalid_keyword:
-    PyErr_Format(PyExc_TypeError,
-    #if PY_MAJOR_VERSION < 3
-        "%s() got an unexpected keyword argument '%s'",
-        function_name, PyString_AsString(key));
-    #else
-        "%s() got an unexpected keyword argument '%U'",
-        function_name, key);
-    #endif
-bad:
-    return -1;
-}
-
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *more_or_less;
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    PyErr_Format(PyExc_TypeError,
-                 "%s() takes %s %" CYTHON_FORMAT_SSIZE_T "d positional argument%s (%" CYTHON_FORMAT_SSIZE_T "d given)",
-                 func_name, more_or_less, num_expected,
-                 (num_expected == 1) ? "" : "s", num_found);
-}
-
-static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
-    const char *name, int exact)
-{
-    if (!type) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (none_allowed && obj == Py_None) return 1;
-    else if (exact) {
-        if (Py_TYPE(obj) == type) return 1;
-    }
-    else {
-        if (PyObject_TypeCheck(obj, type)) return 1;
-    }
-    PyErr_Format(PyExc_TypeError,
-        "Argument '%s' has incorrect type (expected %s, got %s)",
-        name, type->tp_name, Py_TYPE(obj)->tp_name);
-    return 0;
-}
-
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
-                        CYTHON_UNUSED PyObject *cause) {
-    Py_XINCREF(type);
-    if (!value || value == Py_None)
-        value = NULL;
-    else
-        Py_INCREF(value);
-    if (!tb || tb == Py_None)
-        tb = NULL;
-    else {
-        Py_INCREF(tb);
-        if (!PyTraceBack_Check(tb)) {
-            PyErr_SetString(PyExc_TypeError,
-                "raise: arg 3 must be a traceback or None");
-            goto raise_error;
-        }
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (PyClass_Check(type)) {
-    #else
-    if (PyType_Check(type)) {
-    #endif
-#if CYTHON_COMPILING_IN_PYPY
-        if (!value) {
-            Py_INCREF(Py_None);
-            value = Py_None;
-        }
-#endif
-        PyErr_NormalizeException(&type, &value, &tb);
-    } else {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-#else /* Python 3+ */
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
-    PyObject* owned_instance = NULL;
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (PyExceptionClass_Check(type)) {
-        PyObject *args;
-        if (!value)
-            args = PyTuple_New(0);
-        else if (PyTuple_Check(value)) {
-            Py_INCREF(value);
-            args = value;
-        }
-        else
-            args = PyTuple_Pack(1, value);
-        if (!args)
-            goto bad;
-        owned_instance = PyEval_CallObject(type, args);
-        Py_DECREF(args);
-        if (!owned_instance)
-            goto bad;
-        value = owned_instance;
-        if (!PyExceptionInstance_Check(value)) {
-            PyErr_Format(PyExc_TypeError,
-                         "calling %R should have returned an instance of "
-                         "BaseException, not %R",
-                         type, Py_TYPE(value));
-            goto bad;
-        }
-    } else {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-    if (cause && cause != Py_None) {
-        PyObject *fixed_cause;
-        if (PyExceptionClass_Check(cause)) {
-            fixed_cause = PyObject_CallObject(cause, NULL);
-            if (fixed_cause == NULL)
-                goto bad;
-        }
-        else if (PyExceptionInstance_Check(cause)) {
-            fixed_cause = cause;
-            Py_INCREF(fixed_cause);
-        }
-        else {
-            PyErr_SetString(PyExc_TypeError,
-                            "exception causes must derive from "
-                            "BaseException");
-            goto bad;
-        }
-        PyException_SetCause(value, fixed_cause);
-    }
-    PyErr_SetObject(type, value);
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-bad:
-    Py_XDECREF(owned_instance);
-    return;
-}
-#endif
-
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
-    PyObject *local_type, *local_value, *local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    local_type = tstate->curexc_type;
-    local_value = tstate->curexc_value;
-    local_tb = tstate->curexc_traceback;
-    tstate->curexc_type = 0;
-    tstate->curexc_value = 0;
-    tstate->curexc_traceback = 0;
-#else
-    PyErr_Fetch(&local_type, &local_value, &local_tb);
-#endif
-    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
-#if CYTHON_COMPILING_IN_CPYTHON
-    if (unlikely(tstate->curexc_type))
-#else
-    if (unlikely(PyErr_Occurred()))
-#endif
-        goto bad;
-    #if PY_MAJOR_VERSION >= 3
-    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
-        goto bad;
-    #endif
-    Py_INCREF(local_type);
-    Py_INCREF(local_value);
-    Py_INCREF(local_tb);
-    *type = local_type;
-    *value = local_value;
-    *tb = local_tb;
-#if CYTHON_COMPILING_IN_CPYTHON
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = local_type;
-    tstate->exc_value = local_value;
-    tstate->exc_traceback = local_tb;
-    /* Make sure tstate is in a consistent state when we XDECREF
-       these objects (DECREF may run arbitrary code). */
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(local_type, local_value, local_tb);
-#endif
-    return 0;
-bad:
-    *type = 0;
-    *value = 0;
-    *tb = 0;
-    Py_XDECREF(local_type);
-    Py_XDECREF(local_value);
-    Py_XDECREF(local_tb);
-    return -1;
-}
-
-static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
-    if (unlikely(!type)) {
-        PyErr_Format(PyExc_SystemError, "Missing type object");
-        return 0;
-    }
-    if (likely(PyObject_TypeCheck(obj, type)))
-        return 1;
-    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
-                 Py_TYPE(obj)->tp_name, type->tp_name);
-    return 0;
-}
-
-static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyThreadState *tstate = PyThreadState_GET();
-    *type = tstate->exc_type;
-    *value = tstate->exc_value;
-    *tb = tstate->exc_traceback;
-    Py_XINCREF(*type);
-    Py_XINCREF(*value);
-    Py_XINCREF(*tb);
-#else
-    PyErr_GetExcInfo(type, value, tb);
-#endif
-}
-static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
-#if CYTHON_COMPILING_IN_CPYTHON
-    PyObject *tmp_type, *tmp_value, *tmp_tb;
-    PyThreadState *tstate = PyThreadState_GET();
-    tmp_type = tstate->exc_type;
-    tmp_value = tstate->exc_value;
-    tmp_tb = tstate->exc_traceback;
-    tstate->exc_type = type;
-    tstate->exc_value = value;
-    tstate->exc_traceback = tb;
-    Py_XDECREF(tmp_type);
-    Py_XDECREF(tmp_value);
-    Py_XDECREF(tmp_tb);
-#else
-    PyErr_SetExcInfo(type, value, tb);
-#endif
-}
-
-static CYTHON_INLINE hid_t __Pyx_PyInt_from_py_hid_t(PyObject* x) {
-    const hid_t neg_one = (hid_t)-1, const_zero = (hid_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hid_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hid_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hid_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hid_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hid_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hid_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hid_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hid_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hid_t)-1;
-    }
-}
-
-static CYTHON_INLINE PyObject *__Pyx_PyInt_to_py_hsize_t(hsize_t val) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if ((sizeof(hsize_t) == sizeof(char))  ||
-        (sizeof(hsize_t) == sizeof(short))) {
-        return PyInt_FromLong((long)val);
-    } else if ((sizeof(hsize_t) == sizeof(int)) ||
-               (sizeof(hsize_t) == sizeof(long))) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLong((unsigned long)val);
-        else
-            return PyInt_FromLong((long)val);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG)val);
-        else
-            return PyLong_FromLongLong((PY_LONG_LONG)val);
-    } else {
-        int one = 1; int little = (int)*(unsigned char *)&one;
-        unsigned char *bytes = (unsigned char *)&val;
-        return _PyLong_FromByteArray(bytes, sizeof(hsize_t),
-                                     little, !is_unsigned);
-    }
-}
-
-static CYTHON_INLINE hsize_t __Pyx_PyInt_from_py_hsize_t(PyObject* x) {
-    const hsize_t neg_one = (hsize_t)-1, const_zero = (hsize_t)0;
-    const int is_unsigned = const_zero < neg_one;
-    if (sizeof(hsize_t) == sizeof(char)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedChar(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedChar(x);
-    } else if (sizeof(hsize_t) == sizeof(short)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedShort(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedShort(x);
-    } else if (sizeof(hsize_t) == sizeof(int)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedInt(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedInt(x);
-    } else if (sizeof(hsize_t) == sizeof(long)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedLong(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedLong(x);
-    } else if (sizeof(hsize_t) == sizeof(PY_LONG_LONG)) {
-        if (is_unsigned)
-            return (hsize_t)__Pyx_PyInt_AsUnsignedLongLong(x);
-        else
-            return (hsize_t)__Pyx_PyInt_AsSignedLongLong(x);
-    }  else {
-        #if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
-        PyErr_SetString(PyExc_RuntimeError,
-                        "_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
-        #else
-        hsize_t val;
-        PyObject *v = __Pyx_PyNumber_Int(x);
-        #if PY_VERSION_HEX < 0x03000000
-        if (likely(v) && !PyLong_Check(v)) {
-            PyObject *tmp = v;
-            v = PyNumber_Long(tmp);
-            Py_DECREF(tmp);
-        }
-        #endif
-        if (likely(v)) {
-            int one = 1; int is_little = (int)*(unsigned char *)&one;
-            unsigned char *bytes = (unsigned char *)&val;
-            int ret = _PyLong_AsByteArray((PyLongObject *)v,
-                                          bytes, sizeof(val),
-                                          is_little, !is_unsigned);
-            Py_DECREF(v);
-            if (likely(!ret))
-                return val;
-        }
-        #endif
-        return (hsize_t)-1;
-    }
-}
-
-static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
-    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned char" :
-                    "value too large to convert to unsigned char");
-            }
-            return (unsigned char)-1;
-        }
-        return (unsigned char)val;
-    }
-    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
-    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned short" :
-                    "value too large to convert to unsigned short");
-            }
-            return (unsigned short)-1;
-        }
-        return (unsigned short)val;
-    }
-    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
-    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(unsigned int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(unsigned int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to unsigned int" :
-                    "value too large to convert to unsigned int");
-            }
-            return (unsigned int)-1;
-        }
-        return (unsigned int)val;
-    }
-    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
-}
-
-static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
-    const char neg_one = (char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to char" :
-                    "value too large to convert to char");
-            }
-            return (char)-1;
-        }
-        return (char)val;
-    }
-    return (char)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
-    const short neg_one = (short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to short" :
-                    "value too large to convert to short");
-            }
-            return (short)-1;
-        }
-        return (short)val;
-    }
-    return (short)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
-    const signed char neg_one = (signed char)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed char) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed char)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed char" :
-                    "value too large to convert to signed char");
-            }
-            return (signed char)-1;
-        }
-        return (signed char)val;
-    }
-    return (signed char)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
-    const signed short neg_one = (signed short)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed short) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed short)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed short" :
-                    "value too large to convert to signed short");
-            }
-            return (signed short)-1;
-        }
-        return (signed short)val;
-    }
-    return (signed short)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
-    const signed int neg_one = (signed int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(signed int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(signed int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to signed int" :
-                    "value too large to convert to signed int");
-            }
-            return (signed int)-1;
-        }
-        return (signed int)val;
-    }
-    return (signed int)__Pyx_PyInt_AsSignedLong(x);
-}
-
-static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
-    const int neg_one = (int)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-    if (sizeof(int) < sizeof(long)) {
-        long val = __Pyx_PyInt_AsLong(x);
-        if (unlikely(val != (long)(int)val)) {
-            if (!unlikely(val == -1 && PyErr_Occurred())) {
-                PyErr_SetString(PyExc_OverflowError,
-                    (is_unsigned && unlikely(val < 0)) ?
-                    "can't convert negative value to int" :
-                    "value too large to convert to int");
-            }
-            return (int)-1;
-        }
-        return (int)val;
-    }
-    return (int)__Pyx_PyInt_AsLong(x);
-}
-
-static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
-    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned long");
-            return (unsigned long)-1;
-        }
-        return (unsigned long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned long");
-                return (unsigned long)-1;
-            }
-            return (unsigned long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (unsigned long)PyLong_AsLong(x);
-        }
-    } else {
-        unsigned long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned long)-1;
-        val = __Pyx_PyInt_AsUnsignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
-    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to unsigned PY_LONG_LONG");
-            return (unsigned PY_LONG_LONG)-1;
-        }
-        return (unsigned PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to unsigned PY_LONG_LONG");
-                return (unsigned PY_LONG_LONG)-1;
-            }
-            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        unsigned PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (unsigned PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
-    const long neg_one = (long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to long");
-            return (long)-1;
-        }
-        return (long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to long");
-                return (long)-1;
-            }
-            return (long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (long)PyLong_AsLong(x);
-        }
-    } else {
-        long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (long)-1;
-        val = __Pyx_PyInt_AsLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to PY_LONG_LONG");
-            return (PY_LONG_LONG)-1;
-        }
-        return (PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to PY_LONG_LONG");
-                return (PY_LONG_LONG)-1;
-            }
-            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
-    const signed long neg_one = (signed long)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed long");
-            return (signed long)-1;
-        }
-        return (signed long)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed long");
-                return (signed long)-1;
-            }
-            return (signed long)PyLong_AsUnsignedLong(x);
-        } else {
-            return (signed long)PyLong_AsLong(x);
-        }
-    } else {
-        signed long val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed long)-1;
-        val = __Pyx_PyInt_AsSignedLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
-    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
-    const int is_unsigned = neg_one > const_zero;
-#if PY_VERSION_HEX < 0x03000000
-    if (likely(PyInt_Check(x))) {
-        long val = PyInt_AS_LONG(x);
-        if (is_unsigned && unlikely(val < 0)) {
-            PyErr_SetString(PyExc_OverflowError,
-                            "can't convert negative value to signed PY_LONG_LONG");
-            return (signed PY_LONG_LONG)-1;
-        }
-        return (signed PY_LONG_LONG)val;
-    } else
-#endif
-    if (likely(PyLong_Check(x))) {
-        if (is_unsigned) {
-            if (unlikely(Py_SIZE(x) < 0)) {
-                PyErr_SetString(PyExc_OverflowError,
-                                "can't convert negative value to signed PY_LONG_LONG");
-                return (signed PY_LONG_LONG)-1;
-            }
-            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
-        } else {
-            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
-        }
-    } else {
-        signed PY_LONG_LONG val;
-        PyObject *tmp = __Pyx_PyNumber_Int(x);
-        if (!tmp) return (signed PY_LONG_LONG)-1;
-        val = __Pyx_PyInt_AsSignedLongLong(tmp);
-        Py_DECREF(tmp);
-        return val;
-    }
-}
-
-static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
-                                  CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename) {
-    PyObject *old_exc, *old_val, *old_tb;
-    PyObject *ctx;
-    __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
-    #if PY_MAJOR_VERSION < 3
-    ctx = PyString_FromString(name);
-    #else
-    ctx = PyUnicode_FromString(name);
-    #endif
-    __Pyx_ErrRestore(old_exc, old_val, old_tb);
-    if (!ctx) {
-        PyErr_WriteUnraisable(Py_None);
-    } else {
-        PyErr_WriteUnraisable(ctx);
-        Py_DECREF(ctx);
-    }
-}
-
-static int __Pyx_check_binary_version(void) {
-    char ctversion[4], rtversion[4];
-    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
-    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
-    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
-        char message[200];
-        PyOS_snprintf(message, sizeof(message),
-                      "compiletime version %s of module '%.100s' "
-                      "does not match runtime version %s",
-                      ctversion, __Pyx_MODULE_NAME, rtversion);
-        #if PY_VERSION_HEX < 0x02050000
-        return PyErr_Warn(NULL, message);
-        #else
-        return PyErr_WarnEx(NULL, message, 1);
-        #endif
-    }
-    return 0;
-}
-
-static int __Pyx_ExportFunction(const char *name, void (*f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(__pyx_m, (char *)"__pyx_capi__");
-    if (!d) {
-        PyErr_Clear();
-        d = PyDict_New();
-        if (!d)
-            goto bad;
-        Py_INCREF(d);
-        if (PyModule_AddObject(__pyx_m, (char *)"__pyx_capi__", d) < 0)
-            goto bad;
-    }
-    tmp.fp = f;
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3&&PY_MINOR_VERSION==0)
-    cobj = PyCapsule_New(tmp.p, sig, 0);
-#else
-    cobj = PyCObject_FromVoidPtrAndDesc(tmp.p, (void *)sig, 0);
-#endif
-    if (!cobj)
-        goto bad;
-    if (PyDict_SetItemString(d, name, cobj) < 0)
-        goto bad;
-    Py_DECREF(cobj);
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(cobj);
-    Py_XDECREF(d);
-    return -1;
-}
-
-#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
-
-#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,
-            "%s.%s 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",
-            module_name, class_name);
-        #if PY_VERSION_HEX < 0x02050000
-        if (PyErr_Warn(NULL, warning) < 0) goto bad;
-        #else
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-        #endif
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%s.%s has the wrong size, try recompiling",
-            module_name, class_name);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
-#ifndef __PYX_HAVE_RT_ImportFunction
-#define __PYX_HAVE_RT_ImportFunction
-static int __Pyx_ImportFunction(PyObject *module, const char *funcname, void (**f)(void), const char *sig) {
-    PyObject *d = 0;
-    PyObject *cobj = 0;
-    union {
-        void (*fp)(void);
-        void *p;
-    } tmp;
-    d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
-    if (!d)
-        goto bad;
-    cobj = PyDict_GetItemString(d, funcname);
-    if (!cobj) {
-        PyErr_Format(PyExc_ImportError,
-            "%s does not export expected C function %s",
-                PyModule_GetName(module), funcname);
-        goto bad;
-    }
-#if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION==3 && PY_MINOR_VERSION==0)
-    if (!PyCapsule_IsValid(cobj, sig)) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, PyCapsule_GetName(cobj));
-        goto bad;
-    }
-    tmp.p = PyCapsule_GetPointer(cobj, sig);
-#else
-    {const char *desc, *s1, *s2;
-    desc = (const char *)PyCObject_GetDesc(cobj);
-    if (!desc)
-        goto bad;
-    s1 = desc; s2 = sig;
-    while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
-    if (*s1 != *s2) {
-        PyErr_Format(PyExc_TypeError,
-            "C function %s.%s has wrong signature (expected %s, got %s)",
-             PyModule_GetName(module), funcname, sig, desc);
-        goto bad;
-    }
-    tmp.p = PyCObject_AsVoidPtr(cobj);}
-#endif
-    *f = tmp.fp;
-    if (!(*f))
-        goto bad;
-    Py_DECREF(d);
-    return 0;
-bad:
-    Py_XDECREF(d);
-    return -1;
-}
-#endif
-
-static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
-    int start = 0, mid = 0, end = count - 1;
-    if (end >= 0 && code_line > entries[end].code_line) {
-        return count;
-    }
-    while (start < end) {
-        mid = (start + end) / 2;
-        if (code_line < entries[mid].code_line) {
-            end = mid;
-        } else if (code_line > entries[mid].code_line) {
-             start = mid + 1;
-        } else {
-            return mid;
-        }
-    }
-    if (code_line <= entries[mid].code_line) {
-        return mid;
-    } else {
-        return mid + 1;
-    }
-}
-static PyCodeObject *__pyx_find_code_object(int code_line) {
-    PyCodeObject* code_object;
-    int pos;
-    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
-        return NULL;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
-        return NULL;
-    }
-    code_object = __pyx_code_cache.entries[pos].code_object;
-    Py_INCREF(code_object);
-    return code_object;
-}
-static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
-    int pos, i;
-    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
-    if (unlikely(!code_line)) {
-        return;
-    }
-    if (unlikely(!entries)) {
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (likely(entries)) {
-            __pyx_code_cache.entries = entries;
-            __pyx_code_cache.max_count = 64;
-            __pyx_code_cache.count = 1;
-            entries[0].code_line = code_line;
-            entries[0].code_object = code_object;
-            Py_INCREF(code_object);
-        }
-        return;
-    }
-    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
-    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
-        PyCodeObject* tmp = entries[pos].code_object;
-        entries[pos].code_object = code_object;
-        Py_DECREF(tmp);
-        return;
-    }
-    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
-        int new_max = __pyx_code_cache.max_count + 64;
-        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
-            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
-        if (unlikely(!entries)) {
-            return;
-        }
-        __pyx_code_cache.entries = entries;
-        __pyx_code_cache.max_count = new_max;
-    }
-    for (i=__pyx_code_cache.count; i>pos; i--) {
-        entries[i] = entries[i-1];
-    }
-    entries[pos].code_line = code_line;
-    entries[pos].code_object = code_object;
-    __pyx_code_cache.count++;
-    Py_INCREF(code_object);
-}
-
-#include "compile.h"
-#include "frameobject.h"
-#include "traceback.h"
-static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
-            const char *funcname, int c_line,
-            int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_srcfile = 0;
-    PyObject *py_funcname = 0;
-    #if PY_MAJOR_VERSION < 3
-    py_srcfile = PyString_FromString(filename);
-    #else
-    py_srcfile = PyUnicode_FromString(filename);
-    #endif
-    if (!py_srcfile) goto bad;
-    if (c_line) {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #else
-        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
-        #endif
-    }
-    else {
-        #if PY_MAJOR_VERSION < 3
-        py_funcname = PyString_FromString(funcname);
-        #else
-        py_funcname = PyUnicode_FromString(funcname);
-        #endif
-    }
-    if (!py_funcname) goto bad;
-    py_code = __Pyx_PyCode_New(
-        0,            /*int argcount,*/
-        0,            /*int kwonlyargcount,*/
-        0,            /*int nlocals,*/
-        0,            /*int stacksize,*/
-        0,            /*int flags,*/
-        __pyx_empty_bytes, /*PyObject *code,*/
-        __pyx_empty_tuple, /*PyObject *consts,*/
-        __pyx_empty_tuple, /*PyObject *names,*/
-        __pyx_empty_tuple, /*PyObject *varnames,*/
-        __pyx_empty_tuple, /*PyObject *freevars,*/
-        __pyx_empty_tuple, /*PyObject *cellvars,*/
-        py_srcfile,   /*PyObject *filename,*/
-        py_funcname,  /*PyObject *name,*/
-        py_line,      /*int firstlineno,*/
-        __pyx_empty_bytes  /*PyObject *lnotab*/
-    );
-    Py_DECREF(py_srcfile);
-    Py_DECREF(py_funcname);
-    return py_code;
-bad:
-    Py_XDECREF(py_srcfile);
-    Py_XDECREF(py_funcname);
-    return NULL;
-}
-static void __Pyx_AddTraceback(const char *funcname, int c_line,
-                               int py_line, const char *filename) {
-    PyCodeObject *py_code = 0;
-    PyObject *py_globals = 0;
-    PyFrameObject *py_frame = 0;
-    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
-    if (!py_code) {
-        py_code = __Pyx_CreateCodeObjectForTraceback(
-            funcname, c_line, py_line, filename);
-        if (!py_code) goto bad;
-        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
-    }
-    py_globals = PyModule_GetDict(__pyx_m);
-    if (!py_globals) goto bad;
-    py_frame = PyFrame_New(
-        PyThreadState_GET(), /*PyThreadState *tstate,*/
-        py_code,             /*PyCodeObject *code,*/
-        py_globals,          /*PyObject *globals,*/
-        0                    /*PyObject *locals*/
-    );
-    if (!py_frame) goto bad;
-    py_frame->f_lineno = py_line;
-    PyTraceBack_Here(py_frame);
-bad:
-    Py_XDECREF(py_code);
-    Py_XDECREF(py_frame);
-}
-
-static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
-    while (t->p) {
-        #if PY_MAJOR_VERSION < 3
-        if (t->is_unicode) {
-            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
-        } else if (t->intern) {
-            *t->p = PyString_InternFromString(t->s);
-        } else {
-            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
-        }
-        #else  /* Python 3+ has unicode identifiers */
-        if (t->is_unicode | t->is_str) {
-            if (t->intern) {
-                *t->p = PyUnicode_InternFromString(t->s);
-            } else if (t->encoding) {
-                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
-            } else {
-                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
-            }
-        } else {
-            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
-        }
-        #endif
-        if (!*t->p)
-            return -1;
-        ++t;
-    }
-    return 0;
-}
-
-static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
-   int is_true = x == Py_True;
-   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
-   else return PyObject_IsTrue(x);
-}
-static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
-  PyNumberMethods *m;
-  const char *name = NULL;
-  PyObject *res = NULL;
-#if PY_VERSION_HEX < 0x03000000
-  if (PyInt_Check(x) || PyLong_Check(x))
-#else
-  if (PyLong_Check(x))
-#endif
-    return Py_INCREF(x), x;
-  m = Py_TYPE(x)->tp_as_number;
-#if PY_VERSION_HEX < 0x03000000
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Int(x);
-  }
-  else if (m && m->nb_long) {
-    name = "long";
-    res = PyNumber_Long(x);
-  }
-#else
-  if (m && m->nb_int) {
-    name = "int";
-    res = PyNumber_Long(x);
-  }
-#endif
-  if (res) {
-#if PY_VERSION_HEX < 0x03000000
-    if (!PyInt_Check(res) && !PyLong_Check(res)) {
-#else
-    if (!PyLong_Check(res)) {
-#endif
-      PyErr_Format(PyExc_TypeError,
-                   "__%s__ returned non-%s (type %.200s)",
-                   name, name, Py_TYPE(res)->tp_name);
-      Py_DECREF(res);
-      return NULL;
-    }
-  }
-  else if (!PyErr_Occurred()) {
-    PyErr_SetString(PyExc_TypeError,
-                    "an integer is required");
-  }
-  return res;
-}
-static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
-  Py_ssize_t ival;
-  PyObject* x = PyNumber_Index(b);
-  if (!x) return -1;
-  ival = PyInt_AsSsize_t(x);
-  Py_DECREF(x);
-  return ival;
-}
-static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
-#if PY_VERSION_HEX < 0x02050000
-   if (ival <= LONG_MAX)
-       return PyInt_FromLong((long)ival);
-   else {
-       unsigned char *bytes = (unsigned char *) &ival;
-       int one = 1; int little = (int)*(unsigned char*)&one;
-       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
-   }
-#else
-   return PyInt_FromSize_t(ival);
-#endif
-}
-static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
-   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
-   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
-       return (size_t)-1;
-   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
-       PyErr_SetString(PyExc_OverflowError,
-                       "value too large to convert to size_t");
-       return (size_t)-1;
-   }
-   return (size_t)val;
-}
-
-
-#endif /* Py_PYTHON_H */
diff --git a/h5py/version.py b/h5py/version.py
index 777b7fd..ea8e89f 100644
--- a/h5py/version.py
+++ b/h5py/version.py
@@ -12,7 +12,8 @@ from distutils.version import StrictVersion as _sv
 import sys
 import numpy
 
-version = "2.2.1"
+version = "2.4.0"
+
 _exp = _sv(version)
 
 version_tuple = _exp.version + ((''.join(str(x) for x in _exp.prerelease),) if _exp.prerelease is not None else ('',))
diff --git a/lzf/.DS_Store b/lzf/.DS_Store
new file mode 100644
index 0000000..87b138c
Binary files /dev/null and b/lzf/.DS_Store differ
diff --git a/lzf/lzf/lzf_c.c b/lzf/lzf/lzf_c.c
index 0b5d816..fbfd4cc 100644
--- a/lzf/lzf/lzf_c.c
+++ b/lzf/lzf/lzf_c.c
@@ -120,7 +120,7 @@ lzf_compress (const void *const in_data, unsigned int in_len,
    * and fails to support both assumptions is windows 64 bit, we make a
    * special workaround for it.
    */
-#if defined (WIN32) && defined (_M_X64)
+#if ( defined (WIN32) && defined (_M_X64) ) || defined (_WIN64)
   unsigned _int64 off; /* workaround for missing POSIX compliance */
 #else
   unsigned long off;
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..861a9f5
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,5 @@
+[egg_info]
+tag_build = 
+tag_date = 0
+tag_svn_revision = 0
+
diff --git a/setup.py b/setup.py
index e6e1ed7..be3f8e0 100755
--- a/setup.py
+++ b/setup.py
@@ -1,227 +1,89 @@
 #!/usr/bin/env python
 
-from distutils.core import setup
-from distutils.extension import Extension
-from distutils.cmd import Command
-from distutils.version import LooseVersion
-import warnings
-import sys, os
-import os.path as op
-from functools import reduce
-import numpy
-
-import configure   # Sticky-options configuration and version auto-detect
-
-VERSION = '2.2.1'
-
-
-# --- Autodetect Cython -------------------------------------------------------
+"""
+    This is the main setup script for h5py (http://www.h5py.org).
+    
+    Most of the functionality is provided in two separate modules:
+    setup_configure, which manages compile-time/Cython-time build options
+    for h5py, and setup_build, which handles the actual compilation process.
+"""
 
-HAVE_CYTHON = False
 try:
-    import Cython.Compiler.Version
-    s = LooseVersion(Cython.Compiler.Version.version)
-    if s.version[0:2] < [0, 13]:
-        warnings.warn("Cython version %s too old; not used" % s.vstring)
-        raise ImportError
-    from Cython.Distutils import build_ext
-    SUFFIX = '.pyx'
-    HAVE_CYTHON = True
+    from setuptools import Extension, setup
 except ImportError:
-    from distutils.command.build_ext import build_ext
-    SUFFIX = '.c'
+    from distutils.core import setup
+    from distutils.extension import Extension
+from distutils.cmd import Command
+from distutils.dist import Distribution
+import sys
+import os
+import os.path as op
 
 if sys.version_info[0] >= 3:
-    # Shamelessly stolen from Cython 0.14
     import lib2to3.refactor
     from distutils.command.build_py \
          import build_py_2to3 as build_py
 else:
     from distutils.command.build_py import build_py
-
-
-# --- Support functions and "super-option" configuring ------------------------
-
-def localpath(*args):
-    return op.abspath(reduce(op.join, (op.dirname(__file__),)+args))
-
-def configure_cython(settings, modules):
-    """ Set up the Cython build environment.
-
-    If configuration settings have changed since the last time Cython was
-    run, re-write the file "config.pxi".  Also bump the utime of all the
-    Cython modules to trigger a rebuild.
-    """
-
-    try:
-        f = open(localpath('h5py/config.pxi'),'rb')
-        oldcontents = f.read()
-    except IOError:
-        oldcontents = b""
-    else:
-        f.close()
     
-    newcontents = """\
-# This file is automatically generated by the h5py setup script.  Don't modify.
-
-DEF MPI = %(mpi)s
-DEF HDF5_VERSION = %(hdf5_version)s
-"""
-    newcontents %= settings
-    newcontents = newcontents.encode('utf-8')
-
-    # Only reconfigure and rebuild if settings have actually changed.
-    if newcontents != oldcontents:
-        with open(localpath('h5py/config.pxi'),'wb') as f:
-            f.write(newcontents)
-        for m in MODULES:
-            os.utime(localpath('h5py',m+'.pyx'),None)
-
-
-# --- Pre-compiling API generation --------------------------------------------
-
-if not op.isfile(localpath('h5py','defs.pyx')):
-    if not HAVE_CYTHON:
-        raise ValueError("A modern version of Cython is required to build from source")
-    import api_gen
-    api_gen.run()
+import setup_build, setup_configure
 
 
-# --- Determine configuration settings ----------------------------------------
+VERSION = '2.4.0'
 
-settings = configure.scrape_eargs()          # lowest priority
-settings.update(configure.scrape_cargs())    # highest priority
 
-HDF5 = settings.get('hdf5')
-HDF5_VERSION = settings.get('hdf5_version')
-
-MPI = settings.setdefault('mpi', False)
-if MPI:
-    if not HAVE_CYTHON:
-        raise ValueError("Cython is required to compile h5py in MPI mode")
-    try:
-        import mpi4py
-    except ImportError:
-        raise ImportError("mpi4py is required to compile h5py in MPI mode")
-
-
-# --- Configure Cython and create extensions ----------------------------------
-
-if sys.platform.startswith('win'):
-    COMPILER_SETTINGS = {
-        'libraries'     : ['hdf5dll18','hdf5_hldll'],
-        'include_dirs'  : [numpy.get_include(),  localpath('lzf'),
-                           localpath('win_include')],
-        'library_dirs'  : [],
-        'define_macros' : [('H5_USE_16_API', None), ('_HDF5USEDLL_', None)]
-    }
-    if HDF5 is not None:
-        COMPILER_SETTINGS['include_dirs'] += [op.join(HDF5, 'include')]
-        COMPILER_SETTINGS['library_dirs'] += [op.join(HDF5, 'dll')]
-else:
-    COMPILER_SETTINGS = {
-       'libraries'      : ['hdf5', 'hdf5_hl'],
-       'include_dirs'   : [numpy.get_include(), localpath('lzf')],
-       'library_dirs'   : [],
-       'define_macros'  : [('H5_USE_16_API', None)]
-    }
-    if HDF5 is not None:
-        COMPILER_SETTINGS['include_dirs'] += [op.join(HDF5, 'include')]
-        COMPILER_SETTINGS['library_dirs'] += [op.join(HDF5, 'lib'), op.join(HDF5, 'lib64')]
-    elif sys.platform == 'darwin':
-        # putting here both macports and homebrew paths will generate
-        # "ld: warning: dir not found" at the linking phase 
-        COMPILER_SETTINGS['include_dirs'] += ['/opt/local/include'] # macports
-        COMPILER_SETTINGS['library_dirs'] += ['/opt/local/lib']     # macports
-        COMPILER_SETTINGS['include_dirs'] += ['/usr/local/include'] # homebrew
-        COMPILER_SETTINGS['library_dirs'] += ['/usr/local/lib']     # homebrew
-    elif sys.platform.startswith('freebsd'):
-        COMPILER_SETTINGS['include_dirs'] += ['/usr/local/include'] # homebrew
-        COMPILER_SETTINGS['library_dirs'] += ['/usr/local/lib']     # homebrew
-    if MPI:
-        COMPILER_SETTINGS['include_dirs'] += [mpi4py.get_include()]
-    COMPILER_SETTINGS['runtime_library_dirs'] = [op.abspath(x) for x in COMPILER_SETTINGS['library_dirs']]
-
-MODULES =  ['defs','_errors','_objects','_proxy', 'h5fd', 'h5z',
-            'h5','h5i','h5r','utils',
-            '_conv', 'h5t','h5s',
-            'h5p',
-            'h5d', 'h5a', 'h5f', 'h5g',
-            'h5l', 'h5o',
-            'h5ds', 'h5ac']
-
-# No Cython, no point in configuring
-if HAVE_CYTHON:     
-
-    # Don't autodetect if version is manually given
-    if HDF5_VERSION is None:    
-        HDF5_VERSION = configure.autodetect(COMPILER_SETTINGS['library_dirs'])
-
-    if HDF5_VERSION is None:
-        HDF5_VERSION = (1, 8, 4)
-        configure.printerr("HDF5 autodetection failed; building for 1.8.4+")
-    
-    settings['hdf5_version'] = HDF5_VERSION
-    configure_cython(settings, MODULES)
-
-else:
-    configure.printerr("Cython not present; building for HDF5 1.8.4+")
-
-EXTRA_SRC = {'h5z': [ localpath("lzf/lzf_filter.c"),
-                      localpath("lzf/lzf/lzf_c.c"),
-                      localpath("lzf/lzf/lzf_d.c")]}
-
-def make_extension(module):
-    sources = [op.join('h5py', module+SUFFIX)] + EXTRA_SRC.get(module, [])
-    return Extension('h5py.'+module, sources, **COMPILER_SETTINGS)
-
-EXTENSIONS = [make_extension(m) for m in MODULES]
-
-
-# --- Custom distutils commands -----------------------------------------------
+# --- Custom Distutils commands -----------------------------------------------
 
 class test(Command):
 
-    """Run the test suite."""
+    """
+        Custom Distutils command to run the h5py test suite.
+    
+        This command will invoke build/build_ext if the project has not
+        already been built.  It then patches in the build directory to
+        sys.path and runs the test suite directly.
+    """
 
     description = "Run the test suite"
 
-    user_options = [('verbosity=', 'V', 'set test report verbosity')]
+    user_options = [('detail', 'd', 'Display additional test information')]
 
     def initialize_options(self):
-        self.verbosity = 0
+        self.detail = False
 
     def finalize_options(self):
-        try:
-            self.verbosity = int(self.verbosity)
-        except ValueError:
-            raise ValueError('verbosity must be an integer.')
+        self.detail = bool(self.detail)
 
     def run(self):
+        """ Called by Distutils when this command is run """
         import sys
         py_version = sys.version_info[:2]
-        if py_version == (2,7) or py_version >= (3,2):
+        if py_version != (2, 6):
             import unittest
         else:
             try:
                 import unittest2 as unittest
             except ImportError:
-                raise ImportError(
-                    "unittest2 is required to run tests with python-%d.%d"
-                    % py_version
-                    )
+                raise ImportError( "unittest2 is required to run tests with Python 2.6")
+
         buildobj = self.distribution.get_command_obj('build')
         buildobj.run()
+        
         oldpath = sys.path
         try:
             sys.path = [op.abspath(buildobj.build_lib)] + oldpath
-            suite = unittest.TestLoader().discover(op.join(buildobj.build_lib,'h5py'))
-            result = unittest.TextTestRunner(verbosity=self.verbosity+1).run(suite)
+            import h5py
+            result = h5py.run_tests(verbose=self.detail)
             if not result.wasSuccessful():
                 sys.exit(1)
         finally:
             sys.path = oldpath
-
+        
+        
+CMDCLASS = {'build_py': build_py,
+            'build_ext': setup_build.h5py_build_ext,
+            'configure': setup_configure.configure,
+            'test': test, }
 
 
 # --- Distutils setup and metadata --------------------------------------------
@@ -256,14 +118,14 @@ A strong emphasis on automatic conversion between Python (Numpy) datatypes and
 data structures and their HDF5 equivalents vastly simplifies the process of
 reading and writing data from Python.
 
-Supports HDF5 versions 1.8.3 and higher.  On Windows, HDF5 is included with
+Supports HDF5 versions 1.8.4 and higher.  On Windows, HDF5 is included with
 the installer.
 """
 
 if os.name == 'nt':
-    package_data = {'h5py': ['*.pyx', '*.dll']}
+    package_data = {'h5py': ['*.dll']}
 else:
-    package_data = {'h5py': ['*.pyx']}
+    package_data = {'h5py': []}
 
 setup(
   name = 'h5py',
@@ -276,10 +138,11 @@ setup(
   maintainer = 'Andrew Collette',
   maintainer_email = 'andrew dot collette at gmail dot com',
   url = 'http://www.h5py.org',
-  download_url = 'http://code.google.com/p/h5py/downloads/list',
-  packages = ['h5py', 'h5py._hl', 'h5py._hl.tests', 'h5py.lowtest'],
+  download_url = 'https://pypi.python.org/pypi/h5py',
+  packages = ['h5py', 'h5py._hl', 'h5py.tests', 'h5py.tests.old', 'h5py.tests.hl'],
   package_data = package_data,
-  ext_modules = EXTENSIONS,
-  requires = ['numpy (>=1.0.1)'],
-  cmdclass = {'build_ext': build_ext, 'test': test, 'build_py':build_py}
+  ext_modules = [Extension('h5py.x',['x.c'])],  # To trick build into running build_ext
+  requires = ['numpy (>=1.6.1)', 'Cython (>=0.17)'],
+  install_requires = ['numpy>=1.6.1', 'Cython>=0.17'],
+  cmdclass = CMDCLASS,
 )
diff --git a/setup_build.py b/setup_build.py
new file mode 100644
index 0000000..a65e767
--- /dev/null
+++ b/setup_build.py
@@ -0,0 +1,136 @@
+
+"""
+    Implements a custom Distutils build_ext replacement, which handles the
+    full extension module build process, from api_gen to C compilation and
+    linking.
+"""
+
+try:
+    from setuptools import Extension
+except ImportError:
+    from distutils.extension import Extension
+from distutils.command.build_ext import build_ext
+import sys
+import os
+import os.path as op
+from functools import reduce
+import api_gen
+
+
+def localpath(*args):
+    return op.abspath(reduce(op.join, (op.dirname(__file__),)+args))
+
+
+MODULES =  ['defs','_errors','_objects','_proxy', 'h5fd', 'h5z',
+            'h5','h5i','h5r','utils',
+            '_conv', 'h5t','h5s',
+            'h5p',
+            'h5d', 'h5a', 'h5f', 'h5g',
+            'h5l', 'h5o',
+            'h5ds', 'h5ac']
+
+
+EXTRA_SRC = {'h5z': [ localpath("lzf/lzf_filter.c"),
+              localpath("lzf/lzf/lzf_c.c"),
+              localpath("lzf/lzf/lzf_d.c")]} 
+
+
+if sys.platform.startswith('win'):
+    COMPILER_SETTINGS = {
+        'libraries'     : ['h5py_hdf5', 'h5py_hdf5_hl'],
+        'include_dirs'  : [localpath('lzf'), localpath('windows')],
+        'library_dirs'  : [],
+        'define_macros' : [('H5_USE_16_API', None), ('_HDF5USEDLL_', None)] }
+        
+else:
+    COMPILER_SETTINGS = {
+       'libraries'      : ['hdf5', 'hdf5_hl'],
+       'include_dirs'   : [localpath('lzf'), '/opt/local/include', '/usr/local/include'],
+       'library_dirs'   : ['/opt/local/lib', '/usr/local/lib'],
+       'define_macros'  : [('H5_USE_16_API', None)] }
+
+
+class h5py_build_ext(build_ext):
+
+    """
+        Custom distutils command which encapsulates api_gen pre-building,
+        Cython building, and C compilation.
+        
+        Also handles making the Extension modules, since we can't rely on
+        NumPy being present in the main body of the setup script.
+    """
+    
+    @staticmethod
+    def _make_extensions(config):
+        """ Produce a list of Extension instances which can be passed to
+        cythonize().
+        
+        This is the point at which custom directories, MPI options, etc.
+        enter the build process.
+        """
+        import numpy
+
+        settings = COMPILER_SETTINGS.copy()
+        settings['include_dirs'] += [numpy.get_include()]
+        if config.mpi:
+            import mpi4py
+            settings['include_dirs'] += [mpi4py.get_include()]
+            
+        # Ensure a custom location appears first, so we don't get a copy of
+        # HDF5 from some default location in COMPILER_SETTINGS
+        if config.hdf5 is not None:
+            settings['include_dirs'].insert(0, op.join(config.hdf5, 'include'))
+            settings['library_dirs'].insert(0, op.join(config.hdf5, 'lib'))
+
+        # TODO: should this only be done on UNIX?
+        if os.name != 'nt':
+            settings['runtime_library_dirs'] = settings['library_dirs']
+        
+        def make_extension(module):
+            sources = [localpath('h5py', module+'.pyx')] + EXTRA_SRC.get(module, [])
+            return Extension('h5py.'+module, sources, **settings)
+
+        return [make_extension(m) for m in MODULES]
+        
+        
+    def run(self):
+        """ Distutils calls this method to run the command """
+        
+        from Cython.Build import cythonize
+
+        # Provides all of our build options
+        config = self.distribution.get_command_obj('configure')
+        config.run()
+
+        defs_file = localpath('h5py', 'defs.pyx')
+        func_file = localpath('h5py', 'api_functions.txt')
+        config_file = localpath('h5py', 'config.pxi')
+             
+        # Rebuild low-level defs if missing or stale
+        if not op.isfile(defs_file) or os.stat(func_file).st_mtime > os.stat(defs_file).st_mtime:
+            print("Executing api_gen rebuild of defs")
+            api_gen.run()
+            
+        # Rewrite config.pxi file if needed
+        if not op.isfile(config_file) or config.rebuild_required:
+            with open(config_file, 'wb') as f:
+                s = """\
+# This file is automatically generated by the h5py setup script.  Don't modify.
+
+DEF MPI = %(mpi)s
+DEF HDF5_VERSION = %(version)s
+"""
+                s %= {'mpi': bool(config.mpi),
+                      'version': tuple(int(x) for x in config.hdf5_version.split('.'))}
+                s = s.encode('utf-8')
+                f.write(s)
+        
+        # Run Cython
+        self.extensions = cythonize(self._make_extensions(config),
+                            force=config.rebuild_required or self.force)
+        
+        # Perform the build
+        build_ext.run(self)
+        
+        # Mark the configuration as built
+        config.reset_rebuild()
diff --git a/setup_configure.py b/setup_configure.py
new file mode 100644
index 0000000..fb69413
--- /dev/null
+++ b/setup_configure.py
@@ -0,0 +1,229 @@
+
+"""
+    Implements a new custom Distutils command for handling library
+    configuration.
+    
+    The "configure" command here doesn't directly affect things like
+    config.pxi; rather, it exists to provide a set of attributes that are
+    used by the build_ext replacement in setup_build.py.
+    
+    Options from the command line and environment variables are stored
+    between invocations in a pickle file.  This allows configuring the library
+    once and e.g. calling "build" and "test" without recompiling everything
+    or explicitly providing the same options every time.
+    
+    This module also contains the auto-detection logic for figuring out
+    the currently installed HDF5 version.
+"""
+
+from distutils.cmd import Command
+import os
+import os.path as op
+import sys
+import pickle
+
+def loadpickle():
+    """ Load settings dict from the pickle file """
+    try:
+        with open('h5config.pkl','rb') as f:
+            cfg = pickle.load(f)
+        if not isinstance(cfg, dict): raise TypeError
+    except Exception:
+        return {}
+    return cfg
+
+
+def savepickle(dct):
+    """ Save settings dict to the pickle file """
+    with open('h5config.pkl','wb') as f:
+        pickle.dump(dct, f, protocol=0)
+
+
+def validate_version(s):
+    """ Ensure that s contains an X.Y.Z format version string, or ValueError.
+    """
+    try:
+        tpl = tuple(int(x) for x in s.split('.'))
+        if len(tpl) != 3: raise ValueError
+    except Exception:
+        raise ValueError("HDF5 version string must be in X.Y.Z format")
+
+
+class EnvironmentOptions(object):
+
+    """
+        Convenience class representing the current environment variables.
+    """
+    
+    def __init__(self):
+        self.hdf5 = os.environ.get('HDF5_DIR')
+        self.hdf5_version = os.environ.get('HDF5_VERSION')
+        if self.hdf5_version is not None:
+            validate_version(self.hdf5_version)
+
+
+class configure(Command):
+
+    """
+        Configure build options for h5py: custom path to HDF5, version of
+        the HDF5 library, and whether MPI is enabled.
+    
+        Options come from the following sources, in order of priority:
+        
+        1. Current command-line options
+        2. Old command-line options
+        3. Current environment variables
+        4. Old environment variables
+        5. Autodetection
+        
+        When options change, the rebuild_required attribute is set, and
+        may only be reset by calling reset_rebuild().  The custom build_ext
+        command does this.s
+    """
+
+    description = "Configure h5py build options"
+
+    user_options = [('hdf5=', 'h', 'Custom path to HDF5'),
+                    ('hdf5-version=', '5', 'HDF5 version "X.Y.Z"'),
+                    ('mpi', 'm', 'Enable MPI building'),
+                    ('reset', 'r', 'Reset config options') ]
+    
+    def initialize_options(self):
+        self.hdf5 = None
+        self.hdf5_version = None
+        self.mpi = None
+        self.reset = None
+        
+    def finalize_options(self):
+        if self.hdf5_version is not None:
+            validate_version(self.hdf5_version)
+
+    def reset_rebuild(self):
+        """ Mark this configuration as built """
+        dct = loadpickle()
+        dct['rebuild'] = False
+        savepickle(dct)
+        
+    def run(self):
+        """ Distutils calls this when the command is run """
+        
+        env = EnvironmentOptions()
+                
+        # Step 1: determine if settings have changed and update cache
+        
+        oldsettings = {} if self.reset else loadpickle()
+        dct = oldsettings.copy()
+        
+        # Only update settings which have actually been specified this
+        # round; ignore the others (which have value None).
+        if self.hdf5 is not None:
+            dct['cmd_hdf5'] = self.hdf5
+        if env.hdf5 is not None:
+            dct['env_hdf5'] = env.hdf5
+        if self.hdf5_version is not None:
+            dct['cmd_hdf5_version'] = self.hdf5_version
+        if env.hdf5_version is not None:
+            dct['env_hdf5_version'] = env.hdf5_version
+        if self.mpi is not None:
+            dct['cmd_mpi'] = self.mpi
+
+        self.rebuild_required = dct.get('rebuild') or dct != oldsettings
+        
+        # Corner case: rebuild if options reset, but only if they previously
+        # had non-default values (to handle multiple resets in a row)
+        if self.reset and any(loadpickle().values()):
+            self.rebuild_required = True
+            
+        dct['rebuild'] = self.rebuild_required
+        
+        savepickle(dct)
+    
+        # Step 2: update public config attributes according to priority rules
+          
+        if self.hdf5 is None:
+            self.hdf5 = oldsettings.get('cmd_hdf5')
+        if self.hdf5 is None:
+            self.hdf5 = env.hdf5
+        if self.hdf5 is None:
+            self.hdf5 = oldsettings.get('env_hdf5')
+            
+        if self.hdf5_version is None:
+            self.hdf5_version = oldsettings.get('cmd_hdf5_version')
+        if self.hdf5_version is None:
+            self.hdf5_version = env.hdf5_version
+        if self.hdf5_version is None:
+            self.hdf5_version = oldsettings.get('env_hdf5_version')
+        if self.hdf5_version is None:
+            try:
+                self.hdf5_version = autodetect_version(self.hdf5)
+                print("Autodetected HDF5 %s" % self.hdf5_version)
+            except Exception as e:
+                sys.stderr.write("Autodetection skipped [%s]\n" % e)
+                self.hdf5_version = '1.8.4'
+                
+        if self.mpi is None:
+            self.mpi = oldsettings.get('cmd_mpi')
+                
+        # Step 3: print the resulting configuration to stdout
+        
+        print('*' * 80)
+        print(' ' * 23 + "Summary of the h5py configuration")
+        print('')
+        print("    Path to HDF5: " + repr(self.hdf5))
+        print("    HDF5 Version: " + repr(self.hdf5_version))
+        print("     MPI Enabled: " + repr(bool(self.mpi)))
+        print("Rebuild Required: " + repr(bool(self.rebuild_required)))
+        print('')
+        print('*' * 80)
+
+
+def autodetect_version(hdf5_dir=None):
+    """
+    Detect the current version of HDF5, and return X.Y.Z version string.
+
+    Intended for Unix-ish platforms (Linux, OS X, BSD).
+    Does not support Windows. Raises an exception if anything goes wrong.
+
+    hdf5_dir: optional HDF5 install directory to look in (containing "lib")
+    """
+
+    import os
+    import sys
+    import os.path as op
+    import re
+    import ctypes
+    from ctypes import byref
+    
+    if sys.platform.startswith('darwin'):
+        regexp = re.compile(r'^libhdf5.dylib')
+    else:
+        regexp = re.compile(r'^libhdf5.so')
+        
+    libdirs = ['/usr/local/lib', '/opt/local/lib']
+    if hdf5_dir is not None:
+        libdirs.insert(0, op.join(hdf5_dir, 'lib'))
+
+    path = None
+    for d in libdirs:
+        try:
+            candidates = [x for x in os.listdir(d) if regexp.match(x)]
+        except Exception:
+            continue   # Skip invalid entries
+
+        if len(candidates) != 0:
+            candidates.sort(key=lambda x: len(x))   # Prefer libfoo.so to libfoo.so.X.Y.Z
+            path = op.abspath(op.join(d, candidates[0]))
+            break
+
+    if path is None:
+        path = "libhdf5.so"
+
+    lib = ctypes.cdll.LoadLibrary(path)
+
+    major = ctypes.c_uint()
+    minor = ctypes.c_uint()
+    release = ctypes.c_uint()
+
+    lib.H5get_libversion(byref(major), byref(minor), byref(release))
+
+    return "{0}.{1}.{2}".format(int(major.value), int(minor.value), int(release.value))
diff --git a/windows/README.txt b/windows/README.txt
new file mode 100644
index 0000000..1f9cad4
--- /dev/null
+++ b/windows/README.txt
@@ -0,0 +1,23 @@
+Build instructions for h5py on Windows:
+
+Build h5py in the normal fashion, except you are required to provide
+both the --hdf5 and --hdf5-version arguments to setup.py.
+
+Build HDF5 for distribution with a single command, using the pavement
+file in this directory.  You will need to install paver first.
+
+CMake 2.8 (NOT 3.0 or higher), and a SVN client, must be installed and
+on the path.
+
+To build HDF5 with Visual Studio 2008 (required for Python 2.6, 2.7 and 3.2):
+
+  paver build_2008
+  
+To build with Visual Studio 2010 (required for Python 3.3):
+
+  paver build_2010
+  
+These commands will each produce a zip file containing the appropriate
+build of HDF5.  Unpack them and supply the appropriate directory to --hdf5.
+
+Check pavement.py for the current HDF5 version to pass to --hdf5-version.
\ No newline at end of file
diff --git a/windows/cacheinit.cmake b/windows/cacheinit.cmake
new file mode 100644
index 0000000..b1116ac
--- /dev/null
+++ b/windows/cacheinit.cmake
@@ -0,0 +1,79 @@
+# This is the official h5py CMakeCache file.
+# Please see README.txt in the "windows" directory of the h5py package for more info.
+
+########################
+# EXTERNAL cache entries
+########################
+
+SET (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
+
+SET (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
+
+SET (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
+
+SET (HDF5_EXTERNAL_LIB_PREFIX "h5py_" CACHE STRING "docstring" FORCE)
+
+SET (HDF5_BUILD_CPP_LIB OFF CACHE BOOL "Build HDF5 C++ Library" FORCE)
+
+SET (HDF5_BUILD_EXAMPLES OFF CACHE BOOL "Build HDF5 Library Examples" FORCE)
+
+SET (HDF5_BUILD_FORTRAN OFF CACHE BOOL "Build FORTRAN support" FORCE)
+
+SET (HDF5_ENABLE_F2003 OFF CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE)
+
+SET (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE)
+
+SET (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" FORCE)
+
+SET (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE)
+
+SET (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
+
+SET (HDF5_ENABLE_SZIP_SUPPORT ON CACHE BOOL "Use SZip Filter" FORCE)
+
+SET (HDF5_ENABLE_SZIP_ENCODING OFF CACHE BOOL "Use SZip Encoding" FORCE)
+
+SET (HDF5_ENABLE_HSIZET ON CACHE BOOL "Enable datasets larger than memory" FORCE)
+
+SET (HDF5_ENABLE_UNSUPPORTED OFF CACHE BOOL "Enable unsupported combinations of configuration options" FORCE)
+
+SET (HDF5_ENABLE_DEPRECATED_SYMBOLS ON CACHE BOOL "Enable deprecated public API symbols" FORCE)
+
+SET (HDF5_ENABLE_DIRECT_VFD OFF CACHE BOOL "Build the Direct I/O Virtual File Driver" FORCE)
+
+SET (HDF5_ENABLE_PARALLEL OFF CACHE BOOL "Enable parallel build (requires MPI)" FORCE)
+
+SET (MPIEXEC_MAX_NUMPROCS "3" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE)
+
+SET (HDF5_BUILD_PARALLEL_ALL OFF CACHE BOOL "Build Parallel Programs" FORCE)
+
+SET (HDF5_ENABLE_COVERAGE OFF CACHE BOOL "Enable code coverage for Libraries and Programs" FORCE)
+
+SET (HDF5_ENABLE_USING_MEMCHECKER OFF CACHE BOOL "Indicate that a memory checker is used" FORCE)
+
+SET (HDF5_DISABLE_COMPILER_WARNINGS OFF CACHE BOOL "Disable compiler warnings" FORCE)
+
+SET (HDF5_USE_FOLDERS ON CACHE BOOL "Enable folder grouping of projects in IDEs." FORCE)
+
+SET (HDF5_USE_16_API_DEFAULT OFF CACHE BOOL "Use the HDF5 1.6.x API by default" FORCE)
+
+SET (HDF5_ENABLE_THREADSAFE OFF CACHE BOOL "(WINDOWS)Enable Threadsafety" FORCE)
+
+SET (HDF5_PACKAGE_EXTLIBS ON CACHE BOOL "(WINDOWS)CPACK - include external libraries" FORCE)
+
+SET (HDF5_NO_PACKAGES OFF CACHE BOOL "CPACK - Disable packaging" FORCE)
+
+SET (HDF5_ALLOW_EXTERNAL_SUPPORT "SVN" CACHE STRING "Allow External Library Building (NO SVN TGZ)" FORCE)
+SET_PROPERTY(CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO SVN TGZ)
+
+SET (ZLIB_SVN_URL "http://svn.hdfgroup.uiuc.edu/zlib/trunk" CACHE STRING "Use ZLib from HDF repository" FORCE)
+
+SET (SZIP_SVN_URL "http://svn.hdfgroup.uiuc.edu/szip/trunk" CACHE STRING "Use SZip from HDF repository" FORCE)
+
+SET (ZLIB_TGZ_NAME "ZLib.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE)
+
+SET (SZIP_TGZ_NAME "SZip.tar.gz" CACHE STRING "Use SZip from compressed file" FORCE)
+
+SET (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE)
+
+SET (SZIP_PACKAGE_NAME "szip" CACHE STRING "Name of SZIP package" FORCE)
diff --git a/windows/pavement.py b/windows/pavement.py
new file mode 100644
index 0000000..b85150b
--- /dev/null
+++ b/windows/pavement.py
@@ -0,0 +1,86 @@
+import shutil, zipfile, tempfile, glob, urllib
+import os
+import os.path as op
+
+from paver.easy import *
+from paver.path import pushd
+
+# Directory containing pavement.py
+ROOTPATH = op.dirname(op.abspath(__file__))
+
+def archive(fname):
+    """ Currently just copies a single file to the current directory """
+    print "Archiving %s" % str(fname)
+    if op.exists(op.join(ROOTPATH, fname)):
+        os.remove(op.join(ROOTPATH, fname))
+    shutil.copy(fname, ROOTPATH)
+
+
+# --- Tasks to download and build HDF5 ----------------------------------------
+
+CACHENAME = op.join(ROOTPATH, "cacheinit.cmake")
+
+ZIPDIR = "HDF5-1.8.13"
+ZIPFILE_NAME = "hdf5-1.8.13.zip"
+ZIPFILE_URL = "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.13/src/hdf5-1.8.13.zip"
+
+def build(vs_version):
+    """ Build HDF5.
+    
+    Intended to be called with os.cwd inside the root of the HDF5 checkout.
+    This means a place containing a directory called "src".
+    
+    vs_version: Integer giving Visual Studio version (2008 or 2010).
+    """
+    build_dir = {2008: "build_2008", 2010: "build_2010"}[vs_version]
+    vs_name = {2008: "Visual Studio 9 2008", 2010: "Visual Studio 10"}[vs_version]
+    
+    if not op.exists(build_dir):
+        os.mkdir(build_dir)
+        
+    os.chdir(build_dir)
+    
+    sh('cmake -C "{}" -G "{}" ..'.format(CACHENAME, vs_name))
+    sh('cmake --build . --config Release', ignore_error=True)
+    sh('copy bin\Release\* bin /Y')
+    sh('cmake --build . --config Release')
+    sh('cpack -G ZIP')
+    
+    fname = glob.glob("HDF5-*.zip")[0]
+    new_fname = 'hdf5-h5py-vs%d.zip' % vs_version
+    if op.exists(new_fname):
+        os.remove(new_fname)
+    os.rename(fname, new_fname)
+    
+    archive(new_fname)
+    
+
+def check_zip():
+    if not op.exists(ZIPFILE_NAME):
+        print "Downloading HDF5 source code..."
+        urllib.urlretrieve(ZIPFILE_URL, ZIPFILE_NAME)
+    try:
+        sh('cmake --version')
+    except Exception:
+        raise ValueError("CMake must be installed to build HDF5")
+        
+ at task
+def build_2008():
+    """ Build HDF5 using Visual Studio 2008 """
+    check_zip()
+    if not op.exists(ZIPDIR):
+        with zipfile.ZipFile(ZIPFILE_NAME) as z:
+            z.extractall('.')
+    with pushd(ZIPDIR):
+        build(2008)
+        
+ at task
+def build_2010():
+    """ Build HDF5 using Visual Studio 2010 """
+    check_zip()
+    if not op.exists(ZIPDIR):
+        with zipfile.ZipFile(ZIPFILE_NAME) as z:
+            z.extractall('.')
+    with pushd(ZIPDIR):
+        build(2010)
+        
diff --git a/win_include/stdint.h b/windows/stdint.h
similarity index 100%
rename from win_include/stdint.h
rename to windows/stdint.h
diff --git a/win_include/unistd.h b/windows/unistd.h
similarity index 100%
rename from win_include/unistd.h
rename to windows/unistd.h

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/h5py.git



More information about the debian-science-commits mailing list